You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
165 lines
6.4 KiB
165 lines
6.4 KiB
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;
|
|
|
|
}
|
|
}
|
|
}
|