using OnDoc.Klassen; using Syncfusion.WinForms.Controls; 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; using Helper; using OnDoc.Helper; using Syncfusion.WinForms.DataGrid; using System.Web.UI.WebControls; using Syncfusion.Data; using Syncfusion.WinForms.DataGrid.Interactivity; using System.IO; using Database; using System.Linq.Expressions; using OnDoc.Diverses; using Windows.AI.MachineLearning.Preview; using BroadcastListener.Classes; using BroadcastListener.Interfaces; using static BroadcastListener.Classes.Factory; using Windows.Phone.Notification.Management; namespace OnDoc.UIControls { public partial class Partnersuche : SfForm { public int partnernr = 0; public string partnerkurzname = ""; public int personnr = 0; public string personkurzname = ""; public bool bpperson_changed { get; set; } = false; public bool partnersaldiert = false; public bool person = false; public bool personendokument { get; set; } = false; public bool bpdokument { get; set; } = false; public bool check_bp_person { get; set; } = false; public int dokumenttypnr { get; set; } = 0; public bool keepalive { get; set; } = false; public bool keepopen { get; set; } = false; public Partnersuche(bool keepalive = false) { InitializeComponent(); clsPartner.set_connectionstring(AppParams.connectionstring); this.trefferlistedata.TableControl.DoubleClick += TableControl_DoubleClick; this.keepalive = keepalive; } public Partnersuche(bool personendokument, bool check_bp_person,bool bpdokument) { InitializeComponent(); this.personendokument = personendokument; this.check_bp_person = check_bp_person; this.bpdokument = bpdokument; clsPartner.set_connectionstring(AppParams.connectionstring); this.trefferlistedata.TableControl.DoubleClick += TableControl_DoubleClick; } public Partnersuche(bool personendokument, bool check_bp_person, bool bpdokument,int dokumenttypnr=0) { InitializeComponent(); this.personendokument = personendokument; this.bpdokument= bpdokument; this.check_bp_person = check_bp_person; clsPartner.set_connectionstring(AppParams.connectionstring); this.trefferlistedata.TableControl.DoubleClick += TableControl_DoubleClick; this.dokumenttypnr = dokumenttypnr; } private void Form1_Load(object sender, EventArgs e) { if (Cursor.Position.Y < Screen.PrimaryScreen.Bounds.Height - this.Height) { this.SetDesktopLocation(Cursor.Position.X, Cursor.Position.Y); } else { this.SetDesktopLocation(Cursor.Position.X, Cursor.Position.Y-(this.Height+50)); } this.toolTip1.SetToolTip(this.btnbpperson, "Partner (BP's) von der Person / Person vom Partner (BP)"); trefferlistedata.DataSource = clsPartner.get_partnerliste(); try { TableHelper.FormatTable(ref clsPartner.partnerliste, "Partner", ref trefferlistedata, true); trefferlistedata.Columns[0].HeaderText = "Kunden-Nr."; try { trefferlistedata.Columns[0].Width = trefferlistedata.Columns[0].Width + 20; } catch { } if (trefferlistedata.RowCount > 0) { sfButton1.Enabled = true; } trefferlistedata.SelectedIndex = 0; } catch { } this.Text = "Kunde suchen"; this.lblPartnerNr.Text = "Kunde-Nr"; //if (personendokument) { // this.Text = "Person suchen"; // this.lblPartnerNr.Text = "Person-Nr."; //} //if (bpdokument) { // this.Text = "Partner suchen"; // this.lblPartnerNr.Text = "Partner-Nr."; //} } private void btnsuche_Click(object sender, EventArgs e) { if (chkkeepalive.Checked) { keepopen = true; } if (txtPartnerNr.Text.Trim() != "") { string s = txtPartnerNr.Text.Replace(".", "").Trim(); if (DivFnkt.IsNumeric(s)) { trefferlistedata.DataSource = clsPartner.search_partner(s, 50, 0,personendokument,bpdokument, chksaldiert.Checked); TableHelper.FormatTable(ref clsPartner.partnerliste, "Partner", ref trefferlistedata, true); trefferlistedata.Columns[0].HeaderText = "Kunden-Nr."; try { trefferlistedata.Columns[0].Width = trefferlistedata.Columns[0].Width + 20; } catch { } if (clsPartner.partnerliste.Rows.Count == 1) { trefferlistedata.SelectedIndex = 0; get_details(); if (keepopen) { keepopen = false; return; } trefferlistedata_DoubleClick(sender, e); } } } if (txtKurzname.Text.Trim() != "") { string s = txtKurzname.Text.Trim(); trefferlistedata.DataSource = clsPartner.search_partner(s, 50, 1, personendokument, bpdokument, chksaldiert.Checked); TableHelper.FormatTable(ref clsPartner.partnerliste, "Partner", ref trefferlistedata, true); trefferlistedata.Columns[0].HeaderText = "Kunden-Nr."; try { trefferlistedata.Columns[0].Width = trefferlistedata.Columns[0].Width + 20; } catch { } if (clsPartner.partnerliste.Rows.Count == 1) { trefferlistedata.SelectedIndex = 0; trefferlistedata_DoubleClick(sender, e); } } try { TableHelper.FormatTable(ref clsPartner.partnerliste, "Partner", ref trefferlistedata, true); try { trefferlistedata.Columns[0].Width = trefferlistedata.Columns[0].Width + 20; } catch { } trefferlistedata.SelectedIndex = 0; try { if (!bpperson_changed) { get_details(); //partnernr = Convert.ToInt32(TableHelper.GetCellCValue(ref trefferlistedata, "nrpar00")); //partnerkurzname = TableHelper.GetCellCValue(ref this.trefferlistedata, "bkpar00"); } } catch { } } catch { } try { if (trefferlistedata.View.Records.Count > 0) sfButton1.Enabled = true; else sfButton1.Enabled = false; } catch { sfButton1.Enabled = false; } } private void txtPartnerNr_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { btnsuche_Click(sender, e); } } private void trefferlistedata_SelectionChanged(object sender, Syncfusion.WinForms.DataGrid.Events.SelectionChangedEventArgs e) { try { get_details(); //partnernr = Convert.ToInt32(TableHelper.GetCellCValue(ref trefferlistedata, "nrpar00")); //partnerkurzname = TableHelper.GetCellCValue(ref this.trefferlistedata, "bkpar00"); //partnersaldiert = Convert.ToBoolean(TableHelper.GetCellCValue(ref this.trefferlistedata, "saldiert")); } catch { } } private void trefferlistedata_DoubleClick(object sender, EventArgs e) { try { if (get_details()) { if (!keepalive) { this.DialogResult = DialogResult.OK; this.Close(); } } } catch { } } public bool get_details() { try { partnernr = Convert.ToInt32(TableHelper.GetCellCValue(ref this.trefferlistedata, "nrpar00")); partnerkurzname = TableHelper.GetCellCValue(ref this.trefferlistedata, "bkpar00"); personpartner_function(partnernr.ToString()); if (personendokument && partnernr < 100000000) return false; if (bpdokument && partnernr > 100000000) return false; partnersaldiert = Convert.ToBoolean(TableHelper.GetCellCValue(ref this.trefferlistedata, "saldiert")); if (!check_bp_person) return true; if (check_bp_person && personendokument && partnernr < 99999999) { return false; } if (partnersaldiert) { DB db = new DB(AppParams.connectionstring); try { db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + dokumenttypnr.ToString(),false,true); if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["vertrag"]) == true) { MessageBox.Show("Das Dokument " + db.dsdaten.Tables[0].Rows[0]["Bezeichnung"].ToString() + " kann nicht für einen saldierten Partner erstellt werden.","Dokument erstellen", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } } catch { return false; } finally { db = null; } } return true; } catch { return false; } } private void sfButton1_Click(object sender, EventArgs e) { if (get_details()) { this.DialogResult = DialogResult.OK; this.Close(); } //partnernr = Convert.ToInt32(TableHelper.GetCellCValue(ref this.trefferlistedata, "nrpar00")); //partnerkurzname = TableHelper.GetCellCValue(ref this.trefferlistedata, "bkpar00"); //partnersaldiert = Convert.ToBoolean(TableHelper.GetCellCValue(ref this.trefferlistedata, "saldiert")); } private void sfButton2_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Abort; this.Close(); } void TableControl_DoubleClick(object sender, System.EventArgs e) { try { if (!get_details()) { return; }; //partnernr = Convert.ToInt32(TableHelper.GetCellCValue(ref this.trefferlistedata, "nrpar00")); //partnerkurzname = TableHelper.GetCellCValue(ref this.trefferlistedata, "bkpar00"); //partnersaldiert = Convert.ToBoolean(TableHelper.GetCellCValue(ref this.trefferlistedata, "saldiert")); if (!keepalive) { this.DialogResult = DialogResult.OK; this.Close(); } else { //Broadcaster().Broadcast("AdminDokErstellung", new SenderInfo("AdminDokErstellung", "", this.dokumenttypnr.ToString())); Broadcaster().Broadcast("SBPartnersuche", new SenderInfo("Partnersuche","SelectedPartner",this.partnernr.ToString())); } } catch { } } private void trefferlistedata_DrawCell(object sender, Syncfusion.WinForms.DataGrid.Events.DrawCellEventArgs e) { if (e.Column.MappingName == "Typ") { var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; if (Convert.ToInt32(dataRow["Typ"]) == 1) { e.Graphics.DrawImage(OnDoc.Properties.Resources.BP_gray_16x16_32, e.Bounds.X + 5, e.Bounds.Y + 3); } else { e.Graphics.DrawImage(OnDoc.Properties.Resources.Person_gray_16x16_32, e.Bounds.X + 5, e.Bounds.Y + 3); } Pen borderPen = new Pen(Color.LightGray); e.Graphics.DrawLine(borderPen, e.Bounds.Right, e.Bounds.Top, e.Bounds.Right, e.Bounds.Bottom); e.Graphics.DrawLine(borderPen, e.Bounds.Left, e.Bounds.Bottom, e.Bounds.Right, e.Bounds.Bottom); e.Handled = true; return; } e.Handled = false; } private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { var records = trefferlistedata.View.GetSelectedRecords(); if (records.Count < 1) { this.partnerDetailsToolStripMenuItem.Enabled = false; this.personDesKundenToolStripMenuItem.Enabled = false; this.kundenDerPersonToolStripMenuItem.Enabled = false; return; } this.partnerDetailsToolStripMenuItem.Enabled = true; int ipartnernr = Convert.ToInt32(TableHelper.GetCellCValue(ref this.trefferlistedata, "nrpar00")); if (ipartnernr < 99999999) { personDesKundenToolStripMenuItem.Enabled = true; kundenDerPersonToolStripMenuItem.Enabled = false; } else { personDesKundenToolStripMenuItem.Enabled = false; kundenDerPersonToolStripMenuItem.Enabled = true; } } private void partnerDetailsToolStripMenuItem_Click(object sender, EventArgs e) { var records = trefferlistedata.View.GetSelectedRecords(); var datarow = records[0] as DataRowView; PartnerDetails pd = new PartnerDetails(Convert.ToInt32(datarow[0])); pd.ShowDialog(); } private void chksaldiert_CheckedChanged(object sender, EventArgs e) { btnsuche_Click(sender, e); } private void personDesKundenToolStripMenuItem_Click(object sender, EventArgs e) { int nr = 0; var records = trefferlistedata.View.GetSelectedRecords(); var datarow = records[0] as DataRowView; nr = Convert.ToInt32(datarow[0]); clsPartner.partnerderperson(nr, 8); if (clsPartner.partnerliste.Rows.Count > 0) { trefferlistedata.DataSource = clsPartner.partnerliste; this.txtPartnerNr.Text = clsPartner.partnerliste.Rows[0][0].ToString(); this.txtKurzname.Text = ""; keepopen = true; btnsuche_Click(sender, e); } //string pers = clsPartner.partnerderperson(nr, 8); //if (pers != "") //{ // this.txtPartnerNr.Text = pers; // keepopen = true; // btnsuche_Click(sender, e); //} } private void kundenDerPersonToolStripMenuItem_Click(object sender, EventArgs e) { int nr = 0; var records = trefferlistedata.View.GetSelectedRecords(); var datarow = records[0] as DataRowView; nr = Convert.ToInt32(datarow[0]); clsPartner.partnerderperson(nr, 9); if (clsPartner.partnerliste.Rows.Count > 0) { trefferlistedata.DataSource = clsPartner.partnerliste; TableHelper.FormatTable(ref clsPartner.partnerliste, "Partner", ref trefferlistedata, true); trefferlistedata.SelectedIndex = 0; get_details(); } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { } private void personDesKundenToolStripMenuItem_EnabledChanged(object sender, EventArgs e) { } private void btnbpperson_Click(object sender, EventArgs e) { if (kundenDerPersonToolStripMenuItem.Enabled) { kundenDerPersonToolStripMenuItem_Click(sender, e); keepopen = true; return; } if (personDesKundenToolStripMenuItem.Enabled) { personDesKundenToolStripMenuItem_Click(sender, e); keepopen = true; return; } } private void trefferlistedata_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { try { var rowIndex = e.DataRow.RowIndex; //Get the column index value var columnIndex = e.DataColumn.ColumnIndex; var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; string pnr = dataRow[0].ToString(); personpartner_function(pnr); } catch { } } private void personpartner_function(string pnr) { int ipartnernr = Convert.ToInt32(pnr); if (ipartnernr < 99999999) { personDesKundenToolStripMenuItem.Enabled = true; kundenDerPersonToolStripMenuItem.Enabled = false; } else { personDesKundenToolStripMenuItem.Enabled = false; kundenDerPersonToolStripMenuItem.Enabled = true; } var records = trefferlistedata.View.GetSelectedRecords(); if (records.Count < 1) { btnbpperson.Enabled = false; } else { btnbpperson.Enabled = true; } } } }