using OnDoc.Diverses; using OnDoc.Klassen; using Helper; using Microsoft.Office.Interop.Excel; using Model; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; using Syncfusion.WinForms.DataGrid; using Syncfusion.WinForms.DataGrid.Interactivity; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Security.RightsManagement; using System.Text; using System.Threading.Tasks; using System.Web.UI.WebControls; using System.Windows.Forms; using Database; namespace OnDoc.DocMgmt { public partial class FrmDokumenterstellung : SfForm { private int partnernr = 0; private int profilnr = 0; private int dokumenttypnr = 0; public FrmDokumenterstellung() { InitializeComponent(); } public FrmDokumenterstellung(int PartnerNr, int Dokumenttpynr, int Profilnr) { partnernr = PartnerNr; dokumenttypnr = Dokumenttpynr; profilnr = Profilnr; InitializeComponent(); } private void FrmDokumenterstellung_Load(object sender, EventArgs e) { DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select nreintrag, bezeichnung from Postzustellung where aktiv=1 order by bezeichnung", false, true); cbboxpostzustellung.DataSource = db.dsdaten.Tables[0]; cbboxpostzustellung.ValueMember = "nreintrag"; cbboxpostzustellung.DisplayMember = "bezeichnung"; db.clear_parameter(); db.add_parameter("@partnernr", "1000208"); db.Get_Tabledata("sp_dokumentbearbeitung_kube", true, false); cbboxzustaendigkube.DataSource = db.dsdaten.Tables[0]; cbboxzustaendigkube.DisplayMember = "name"; cbboxzustaendigkube.ValueMember = "mitarbeiternr"; db.clear_parameter(); db.Get_Tabledata("SP_Dokumentbearbeitung_Mitarbeiter", true, false); cbboxzustaendigmitarbeiter.DataSource = db.dsdaten.Tables[0]; cbboxzustaendigmitarbeiter.DisplayMember = "name"; cbboxzustaendigmitarbeiter.ValueMember = "mitarbeiternr"; cbboxzustaendigmitarbeiter.SelectedValue = AppParams.CurrentMitarbieter; cbboxunterschriftlinks.DataSource = db.dsdaten.Tables[0]; cbboxunterschriftlinks.DisplayMember = "name"; cbboxunterschriftlinks.ValueMember = "mitarbeiternr"; cbboxunterschriftrechts.DataSource = db.dsdaten.Tables[0]; cbboxunterschriftrechts.DisplayMember = "name"; cbboxunterschriftrechts.ValueMember = "mitarbeiternr"; cbboxverantwortlich.DataSource = db.dsdaten.Tables[0]; cbboxverantwortlich.DisplayMember = "name"; cbboxverantwortlich.ValueMember = "mitarbeiternr"; cbboxverantwortlich.SelectedValue = AppParams.CurrentMitarbieter; db.clear_parameter(); db.add_parameter("dokumenttypnr", dokumenttypnr.ToString()); db.add_parameter("@dokumentid", ""); db.add_parameter("@fnkt", "1"); db.add_parameter("@mitarbeiternr", AppParams.CurrentMitarbieter.ToString()); db.add_parameter("@bck", "0"); db.Get_Tabledata("SP_Dokumentbearbeitung_StatusSelektion", true, false); cbboxstatus.DataSource = db.dsdaten.Tables[0]; cbboxstatus.DisplayMember = "Bezeichnung"; cbboxstatus.ValueMember = "dokumentstatusnr"; cbboxstatus.SelectedIndex = 1; if (partnernr != 0) { db.Get_Tabledata("Select * from partner where nrpar00=" + partnernr, false, true); this.lblPartner.Text = db.dsdaten.Tables[0].Rows[0]["nrpar00"].ToString() + " " + db.dsdaten.Tables[0].Rows[0]["bkpar00"].ToString(); } if (dokumenttypnr != 0) { db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + dokumenttypnr, false, true); this.txtbezeichnung.Text = db.dsdaten.Tables[0].Rows[0]["Bezeichnung"].ToString(); } if (profilnr != 0) { db.Get_Tabledata("Select * from profil where profilnr=" + profilnr, false, true); int ulinks = 0; int urechts = 0; try { ulinks = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["unterschriftlinks"].ToString()); cbboxunterschriftlinks.SelectedValue = ulinks; } catch { ulinks = 0; } try { urechts = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["unterschriftrechts"].ToString()); cbboxunterschriftrechts.SelectedValue = urechts; } catch { urechts = 0; } } System.Data.DataTable dokwertlist = new System.Data.DataTable(); dokwertlist = db.Get_DokumentWertList("", dokumenttypnr); gridDokwertlist.DataSource = dokwertlist; for (int i = 3; i < gridDokwertlist.Columns.Count; i++) { gridDokwertlist.Columns[i].Visible = false; } gridDokwertlist.Columns[0].AllowEditing = false; gridDokwertlist.Columns[1].AllowEditing = false; gridDokwertlist.Columns[0].Width = gridDokwertlist.Width * 0.35; gridDokwertlist.Columns[1].Width = gridDokwertlist.Width * 0.15; gridDokwertlist.Columns[2].Width = gridDokwertlist.Width * 0.35; gridDokwertlist.Columns.Add(new GridImageColumn() { MappingName = "S", ImageLayout = ImageLayout.Center }); gridDokwertlist.Columns["S"].Width = 25; gridDokwertlist.QueryImageCellStyle += gridDokwertlist_QueryImageCellStyle; db = null; Refresh_Team(); this.cbboxteam.SelectedIndex = 0; } private void gridDokwertlist_QueryImageCellStyle(object sender, Syncfusion.WinForms.DataGrid.Events.QueryImageCellStyleEventArgs e) { var rowdata = (DataRowView)e.Record; var feldtyp = rowdata.Row.ItemArray[5].ToString(); var datenherkunft = rowdata.Row.ItemArray[6].ToString(); try { if (feldtyp.ToUpper().Substring(0, 5) == "DATUM") { e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\calendar.png")); return; } } catch { } try { if (datenherkunft.ToString().Trim() != "") { e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Search.png")); } if (datenherkunft.Substring(0, 3).ToUpper() == "&PA") { e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Partner.png")); } } catch { } //e.Image = (Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Search_16x16.png")); } private void Refresh_Team() { DB dbteam = new DB(AppParams.connectionstring); dbteam.clear_parameter(); dbteam.add_parameter("@profilnr", profilnr.ToString()); dbteam.add_parameter("@mitarbeiternr", cbboxzustaendigmitarbeiter.SelectedValue.ToString()); dbteam.Get_Tabledata("sp_dokumentbearbeitung_team", true, false); cbboxteam.DataSource = null; cbboxteam.DataSource = dbteam.dsdaten.Tables[0]; cbboxteam.ValueMember = "teamnr"; cbboxteam.DisplayMember = "bezeichnung"; } private void sfButton2_Click(object sender, EventArgs e) { clsDocData dokdata = new clsDocData(); dokdata.PartnerNr = partnernr.ToString(); dokdata.UseEDOKA_Values = "True"; dokdata.DokumenttypNr = dokumenttypnr.ToString(); dokdata.Unterschrift_Links = cbboxunterschriftlinks.SelectedValue.ToString(); dokdata.Unterschrift_Rechts = cbboxunterschriftrechts.SelectedValue.ToString(); dokdata.Verantwortlich = cbboxverantwortlich.SelectedValue.ToString(); dokdata.Team = cbboxteam.SelectedValue.ToString(); if (rbzustaendigkube.Checked) { dokdata.Zustaendig = cbboxzustaendigkube.SelectedValue.ToString(); } else { dokdata.Zustaendig = cbboxzustaendigmitarbeiter.SelectedValue.ToString(); } dokdata.Status = cbboxstatus.SelectedValue.ToString(); dokdata.Ersteller = AppParams.CurrentMitarbieter.ToString(); dokdata.DokumentDatum = DateDokumentDatum.DateTimeText.ToString(); dokdata.Bezeichnung = txtbezeichnung.Text; dokdata.UseEDOKA_Values = "True"; if (rbasPDFarchivieren.Checked) { dokdata.Result_as_PDF = "True"; } else { dokdata.Result_as_PDF = ""; } if (cbdigitaleunterschrfiten.Checked) { dokdata.As_Faksimile = "True"; } else { dokdata.As_Faksimile = "False"; } DOCGEN.DocGen docgen = new DOCGEN.DocGen(AppParams.connectionstring); string dokumentid = docgen.GenDocID(dokdata); dokdata.Dokumentid = dokumentid; if (dokumentid != "") { DOCGEN.Generator.DocGenerator_from_EDOKA Generator = new DOCGEN.Generator.DocGenerator_from_EDOKA(AppParams.connectionstring, AppParams.tempdir); clsdok dok = new clsdok("", "", ""); dok = Generator.Generate_Doc_EDOKA(dokumentid, ref dokdata); if (rbDokumentbearbeiten.Checked) { string filename = AppParams.tempdir + dokumentid + "." + dok.extension; System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument)); DB db = new DB(AppParams.connectionstring); db.Save_To_DB(dokdata.Dokumentid, filename); db = null; System.Diagnostics.Process.Start("winword.exe", filename); clsProcessWatch.AddToList(dokdata.Dokumentid, filename, "Word"); } if (rbasPDFarchivieren.Checked) { dok.extension = "pdf"; string filename = AppParams.tempdir + dokumentid + "." + dok.extension; System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument)); DB db = new DB(AppParams.connectionstring); db.Save_To_DB(dokdata.Dokumentid, filename); } if (rbEditlater.Checked) { string filename = AppParams.tempdir + dokumentid + "." + dok.extension; System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument)); DB db = new DB(AppParams.connectionstring); db.Save_To_DB(dokdata.Dokumentid, filename); db = null; } this.Close(); } } private void gridDokwertlist_Click(object sender, EventArgs e) { } private void gridDokwertlist_CellDoubleClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { var rowIndex = DataGridIndexResolver.ResolveToRecordIndex(this.gridDokwertlist.TableControl, this.gridDokwertlist.CurrentCell.RowIndex); if (rowIndex != -1) { Set_CellValue(rowIndex, "Gaga"); return; var record = (this.gridDokwertlist.View.Records[rowIndex].Data); //MessageBox.Show(record.OrderID.ToString()); var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; var ft = dataRow["feldtyp"].ToString(); var da = dataRow["datenherkunft"].ToString(); if (ft.ToUpper().Substring(0, 5) == "DATUM") { frmCalendar fcal = new frmCalendar(); fcal.ShowDialog(); if (fcal.DialogResult == DialogResult.OK) { Set_CellValue(rowIndex,"Gaga"); } } } } private void Set_CellValue(int row,string wert) { int rowIndex = row + 1; int columnIndex = gridDokwertlist.TableControl.ResolveToGridVisibleColumnIndex(2); columnIndex = 2; if (columnIndex < 0) return; var mappingName = gridDokwertlist.Columns[columnIndex].MappingName; var recordIndex = gridDokwertlist.TableControl.ResolveToRecordIndex(rowIndex); //recordIndex = 0; if (recordIndex < 0) return; object data; if (gridDokwertlist.View.TopLevelGroup != null) { var record = gridDokwertlist.View.TopLevelGroup.DisplayElements[recordIndex]; if (!record.IsRecords) return; data = (record as Syncfusion.Data.RecordEntry).Data; } else data = gridDokwertlist.View.Records.GetItemAt(recordIndex); this.gridDokwertlist.View.GetPropertyAccessProvider().SetValue(data, mappingName, "Modified Value"); } private void gridDokwertlist_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { int columnIndex = gridDokwertlist.TableControl.ResolveToGridVisibleColumnIndex(2); } private void sfButton3_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Abort; this.Close(); } } }