using OnDoc.Klassen; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace OnDoc.UIControls.Administrator { public partial class frmDokTypCopy : Form { public int Dokumenttypnr = 0; public frmDokTypCopy() { InitializeComponent(); } public frmDokTypCopy(string dokumenttyp, int dokumenttypnr) { InitializeComponent(); txtdokumenttyp.Text = dokumenttyp; this.Dokumenttypnr=dokumenttypnr; } private void btnCancel_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; } private void btnCopy_Click(object sender, EventArgs e) { bool doktyp_selected = false; bool vorlagenfelder_selected = false; bool officevorlage_selected = false; int officevorlagenr = 0; string s = ""; for (int x = 0; x < checkedListBox1.CheckedItems.Count; x++) { switch (checkedListBox1.CheckedItems[x].ToString()) { case "Dokumenttyp": doktyp_selected = true; break; case "Vorlagenfelder": vorlagenfelder_selected = true; break; case "Office-Vorlage": officevorlage_selected = true; break; } } if (!doktyp_selected) { MessageBox.Show("Dokumenttyp ist zwingend auszuwählen!"); return; } //Dokumenttyp kopieren Database.DB db = new Database.DB(AppParams.connectionstring); int NewDokTypKey = Convert.ToInt32(db.get_dbkey("Dokumenttyp")); db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + Dokumenttypnr.ToString(), false, true); db.Get_Tabledata_for_Update("Select * from dokumenttyp where dokumenttypnr=-1", false, true); DataRow dr = db.daten.Tables[0].NewRow(); DataRow di = db.dsdaten.Tables[0].Rows[0]; for (int x = 0; x < db.dsdaten.Tables[0].Columns.Count; x++) { dr[x] = di[x]; } try { officevorlagenr = Convert.ToInt32(di["office_vorlagenr"]); } catch { } dr["dokumenttypnr"] = NewDokTypKey; dr["bezeichnung"] = dr["bezeichnung"].ToString() + " (Kopie)"; dr["mutiert_am"] = DateTime.Now; dr["mutierer"] = AppParams.CurrentMitarbieter; db.daten.Tables[0].Rows.Add(dr); db.Update_Data(); db.daten.Tables.Clear(); //for (int x = 0; x < db.dsdaten.Tables[0].Columns.Count;x++) //{ // dr[x] = di[x]; //} //dr = di; //db.daten.Tables[0].Rows.Add(di); // Vorlagenfelder if (vorlagenfelder_selected == true) { db.Get_Tabledata("Select * from vorlagenfeld where dokumenttypnr=" + Dokumenttypnr.ToString(), false, true); db.Get_Tabledata_for_Update("Select * from vorlagenfeld where vorlagenfeldnr=-1", false, true); foreach (DataRow vdr in db.dsdaten.Tables[0].Rows) { DataRow newvdr = db.daten.Tables[0].NewRow(); for (int x = 0; x < db.dsdaten.Tables[0].Columns.Count; x++) { try { newvdr[x] = vdr[x]; }catch { } } newvdr["dokumenttypnr"] = NewDokTypKey; newvdr["mutiert_am"] = DateTime.Now; newvdr["mutierer"] = AppParams.CurrentMitarbieter; int newvorlagenfeldkey = Convert.ToInt32(db.get_dbkey("vorlagenfeld")); newvdr["vorlagenfeldnr"] = newvorlagenfeldkey; db.daten.Tables[0].Rows.Add(newvdr); } db.Update_Data(); db.daten.Tables.Clear(); } //Officevorlage if (officevorlage_selected == true) { int newkeyofficevorlage = Convert.ToInt32(db.get_dbkey("Office_vorlage")); db.Get_Tabledata("Select * from office_vorlage where office_vorlagenr="+officevorlagenr.ToString(), false, true); db.Get_Tabledata_for_Update("Select * from office_vorlage where office_vorlagenr = -1", false, true); DataRow drov = db.daten.Tables[0].NewRow(); DataRow diov = db.dsdaten.Tables[0].Rows[0]; for (int x = 0; x < db.dsdaten.Tables[0].Columns.Count; x++) { drov[x] = diov[x]; } drov["bezeichnung"]=drov["bezeichnung"].ToString() + " (Kopie)"; drov["office_vorlagenr"]= newkeyofficevorlage; drov["mutiert_am"] = DateTime.Now; drov["mutierer"] = AppParams.CurrentMitarbieter; db.daten.Tables[0].Rows.Add(drov); db.Update_Data(); db.daten.Tables.Clear(); db.Get_Tabledata("Select * from office_vorlage_datei where office_vorlage_dateinr=" + officevorlagenr.ToString(), false, true); db.Get_Tabledata_for_Update("Select * from office_vorlage_datei where office_vorlage_dateinr = -1", false, true); DataRow drovd = db.daten.Tables[0].NewRow(); DataRow diovd = db.dsdaten.Tables[0].Rows[0]; for (int x = 0; x < db.dsdaten.Tables[0].Columns.Count; x++) { drovd[x] = diovd[x]; } drovd["mutiert_am"] = DateTime.Now; drovd["mutierer"] = AppParams.CurrentMitarbieter; drovd["office_vorlage_dateinr"] = newkeyofficevorlage; db.daten.Tables[0].Rows.Add(drovd); db.Update_Data(); db.daten.Tables.Clear(); db.Exec_SQL("Update dokumenttyp set office_vorlagenr = " + newkeyofficevorlage.ToString() + " where dokumenttypnr=" + NewDokTypKey.ToString()); } MessageBox.Show("Dokumenttyp wurde gem. Vorgaben kopiert: Neue ID: " + NewDokTypKey.ToString()); DialogResult = DialogResult.OK; } } }