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.
618 lines
26 KiB
618 lines
26 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Runtime.Remoting.Messaging;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.Xml.Linq;
|
|
using Database;
|
|
using DOCGEN.Klassen;
|
|
using Helper;
|
|
using Microsoft.Office.Interop.Word;
|
|
using Model;
|
|
using NLog;
|
|
using OnDoc.DocMgmt;
|
|
using OnDoc.Klassen;
|
|
using OnDoc.UIControls.Administrator;
|
|
using Syncfusion.Windows.Forms.Tools;
|
|
using Syncfusion.Windows.Forms.Tools.Renderers;
|
|
using Syncfusion.WinForms.Controls;
|
|
using Syncfusion.WinForms.DataGrid;
|
|
using Syncfusion.WinForms.DataGrid.Interactivity;
|
|
|
|
|
|
namespace OnDoc.UIControls
|
|
{
|
|
public partial class Serienbrief : SfForm
|
|
{
|
|
//private int dokumenttypnr = 0;
|
|
private int officevorlagenr = 0;
|
|
private int profilnr = 0;
|
|
private serienbrief sb = new serienbrief();
|
|
private int serienbriefnr = 0;
|
|
|
|
//private DataSet dsempfaenger = new DataSet();
|
|
private int selectedsbnr = 0;
|
|
public Serienbrief()
|
|
{
|
|
InitializeComponent();
|
|
this.Style.TitleBar.BackColor = Theaming.Titelbar();
|
|
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
|
|
}
|
|
|
|
public Serienbrief(int profilnr)
|
|
{
|
|
InitializeComponent();
|
|
this.Style.TitleBar.BackColor = Theaming.Titelbar();
|
|
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
|
|
this.profilnr = profilnr;
|
|
}
|
|
|
|
private void Serienbrief_Load(object sender, EventArgs e)
|
|
{
|
|
Refresh_Lists();
|
|
Refresh_Team();
|
|
|
|
}
|
|
|
|
private void Refresh_Lists()
|
|
{
|
|
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.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;
|
|
}
|
|
|
|
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";
|
|
this.cbboxteam.SelectedIndex = 0;
|
|
}
|
|
private void RibbonButtonExit_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void RibbonButtonExcelImport_Click(object sender, EventArgs e)
|
|
{
|
|
System.Data.DataTable importdata = new System.Data.DataTable();
|
|
openFileDialog1.Filter = "Excel-Dateien files (*.xlsx)|*.xlsx|CSV-Dateien (*.csv)|*.csv|Alle Dateien (*.*)|*.*";
|
|
openFileDialog1.FilterIndex = 0;
|
|
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
ExcelNet.ExcelReader reader = new ExcelNet.ExcelReader();
|
|
string selected_sheetname = "";
|
|
var sheets = new List<string>();
|
|
sheets = reader.Get_ExcelSheets(openFileDialog1.FileName);
|
|
if (sheets.Count > 1)
|
|
{
|
|
DocMgmt.Serienbrief_Sheetselect sheetselect = new DocMgmt.Serienbrief_Sheetselect(sheets);
|
|
sheetselect.ShowDialog();
|
|
if (sheetselect.DialogResult == DialogResult.OK)
|
|
{
|
|
selected_sheetname = sheetselect.get_selected_sheet();
|
|
}
|
|
else { return; }
|
|
}
|
|
else { selected_sheetname = sheets[0]; }
|
|
|
|
reader.Excel_To_Datatabable(openFileDialog1.FileName, selected_sheetname, true, ref importdata);
|
|
if (importdata.Rows.Count < 1)
|
|
{
|
|
MessageBox.Show("Die ausgewählten Daten können nicht verwendet werden.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
if (importdata.Columns[0].Caption.ToUpper() != "PARTNERNR")
|
|
{
|
|
MessageBox.Show("Die importierten Daten enthalten keine Spalte 'Partnernr'. Der Vorgang wird abgebrochen.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
importdata.Rows.Clear();
|
|
importdata.Columns.Clear();
|
|
return;
|
|
}
|
|
DB dB = new DB(AppParams.connectionstring);
|
|
sb.dsempfaenger.Tables[0].Rows.Clear();
|
|
foreach (System.Data.DataRow dr in importdata.Rows)
|
|
{
|
|
System.Data.DataRow r1 = sb.dsempfaenger.Tables[0].NewRow();
|
|
foreach (DataColumn col in sb.dsempfaenger.Tables[0].Columns)
|
|
{
|
|
try
|
|
{
|
|
r1[col.ColumnName] = dr[col.ColumnName];
|
|
|
|
}
|
|
catch { r1[col.ColumnName] = ""; }
|
|
|
|
}
|
|
r1["STATUS"] = 0;
|
|
r1["FEHLERCODE"] = 0;
|
|
dB.Get_Tabledata("Select bkpar00 from partner where nrpar00=" + r1[0].ToString(), false, true);
|
|
if (dB.dsdaten.Tables[0].Rows.Count < 1) r1["Fehlercode"] = 1; else r1["fehlercode"] = 0;
|
|
r1[1] = dB.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
sb.dsempfaenger.Tables[0].Rows.Add(r1);
|
|
}
|
|
dB = null;
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
//sfDataGridEmpfaenger.DataSource = importdata;
|
|
}
|
|
}
|
|
|
|
private void refresh_empfaenger(System.Data.DataTable dt)
|
|
{
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dt;
|
|
//sfDataGridEmpfaenger.Columns["STATUS"].Visible = false;
|
|
//sfDataGridEmpfaenger.Columns["FEHLERCODE"].Visible = false;
|
|
//sfDataGridEmpfaenger.Columns["BLKUNDE"].Visible = false;
|
|
//sfDataGridEmpfaenger.Columns["DOKUMENT_GEDRUCKT"].Visible = false;
|
|
//sfDataGridEmpfaenger.Columns["DOKUMENTID"].Visible = false;
|
|
//sfDataGridEmpfaenger.Columns["DOKUMENTIDBDR"].Visible = false;
|
|
//sfDataGridEmpfaenger.Columns["ERSTELLER"].Visible = false;
|
|
//sfDataGridEmpfaenger.Columns["DRUCKJOBID"].Visible = false;
|
|
//sfDataGridEmpfaenger.Columns["AKTIV"].Visible = false;
|
|
update_zahlen();
|
|
}
|
|
private void init_empfaenger(int serienbriefnr)
|
|
{
|
|
Database.DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select dbo.BinaryToBase64(xmldata) as Data from edex_sb_empfaenger where serienbriefnr=" + serienbriefnr.ToString(), false, true);
|
|
Base64Helper bh = new Base64Helper();
|
|
bh.Base64 = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
string xml = bh.DecodeBase64();
|
|
string filename = AppParams.tempdir + @"\tmpsb.xml";
|
|
System.IO.File.WriteAllText(filename, xml);
|
|
//dsempfaenger.Tables.Clear();
|
|
//dsempfaenger.ReadXml(filename);
|
|
//dsempfaenger.Tables[0].Columns.Add("Status");
|
|
//dsempfaenger.Tables[0].Columns.Add("Error");
|
|
sb.dsempfaenger = new DataSet();
|
|
sb.dsempfaenger.Tables.Clear();
|
|
sb.dsempfaenger.ReadXml(filename);
|
|
|
|
sb.dsempfaenger.AcceptChanges();
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
System.IO.File.Delete(filename);
|
|
}
|
|
|
|
private void RibbonButtonNew_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
OnDoc.DocMgmt.DokTypSelect DokTypSelect = new OnDoc.DocMgmt.DokTypSelect();
|
|
DokTypSelect.vorlagentype = 1;
|
|
DokTypSelect.ShowDialog(this);
|
|
if (DokTypSelect.DialogResult == DialogResult.OK)
|
|
{
|
|
this.sb = null;
|
|
this.sb = new serienbrief();
|
|
sb.dokumenttypnr = DokTypSelect.dokumenttypnr;
|
|
|
|
update_serienbrief_details(true, sb.dokumenttypnr, 0);
|
|
init_empfaenger(0);
|
|
vorlagenfelder(sb.dokumenttypnr);
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
update_screen();
|
|
update_serienbriefdaten(true);
|
|
|
|
vorlage_auslesen_und_speichern();
|
|
SerienbriefBearbeitung sbe = new SerienbriefBearbeitung(sb);
|
|
sb.dsempfaenger.Tables.Add(sbe.init_used_felder(false).Copy());
|
|
sb.dsempfaenger.Tables[sb.dsempfaenger.Tables.Count - 1].TableName = "UsedFelder";
|
|
update_serienbriefdaten(false);
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
this.GrpDokumentInhalt.Enabled = false;
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void vorlage_auslesen_und_speichern()
|
|
{
|
|
DB dB = new DB(AppParams.connectionstring);
|
|
dB.Get_ApplicationType_from_Vorlage(sb.officevorlagenr);
|
|
string Apptype = "";
|
|
Apptype = dB.dsdaten.Tables[0].Rows[0][1].ToString();
|
|
string filename = dB.get_vorlage_to_file(sb.officevorlagenr.ToString(), AppParams.tempdir, sb.serienbriefnr.ToString() + "." + Apptype);
|
|
sb.filename = dB.save_sb_vorlage_to_db(filename, Apptype, sb.serienbriefnr);
|
|
}
|
|
private void vorlagenfelder(int dokumenttypnr)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.clear_parameter();
|
|
db.add_parameter("@dokumenttypnr", sb.dokumenttypnr.ToString());
|
|
db.Get_Tabledata("sp_edex_sb_get_vorlagenfelder", true, false);
|
|
string s = "";
|
|
for (int i = 0, loopTo = db.dsdaten.Tables[0].Rows.Count - 1; i <= loopTo; i++)
|
|
{
|
|
try
|
|
{
|
|
string X;
|
|
X = sb.dsempfaenger.Tables[0].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()].ToString();
|
|
}
|
|
catch
|
|
{
|
|
|
|
sb.dsempfaenger.Tables[0].Columns.Add(db.dsdaten.Tables[0].Rows[i][0].ToString());
|
|
sb.dsempfaenger.Tables[0].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()] = "";
|
|
sb.dsempfaenger.Tables[1].Columns.Add(db.dsdaten.Tables[0].Rows[i][0].ToString());
|
|
try
|
|
{
|
|
if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[i][1]) == true)
|
|
{
|
|
sb.dsempfaenger.Tables[1].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()] = 1;
|
|
}
|
|
else
|
|
{
|
|
sb.dsempfaenger.Tables[1].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()] = 0;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
sb.dsempfaenger.Tables[1].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()] = 0;
|
|
}
|
|
s = s + "- " + db.dsdaten.Tables[0].Rows[i][0].ToString() + System.Environment.NewLine;
|
|
|
|
}
|
|
|
|
}
|
|
sb.dsempfaenger.AcceptChanges();
|
|
if (s != "") { MessageBox.Show("Folgende Spalten wurden aufgrund der gewählten Vorlage zur Liste hinzugefügt" + System.Environment.NewLine + s, "Serienbrief", MessageBoxButtons.OK, MessageBoxIcon.Information); }
|
|
|
|
//foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
|
|
//{
|
|
// try
|
|
// {
|
|
// string x;
|
|
// x = dsempfaenger.Tables[0].Rows[0][dr[0].ToString()].ToString();
|
|
// }
|
|
// catch
|
|
// {
|
|
|
|
// }
|
|
// dsempfaenger.Tables[0].Columns.Add(dr[0].ToString());
|
|
//}
|
|
}
|
|
|
|
|
|
private void update_serienbrief_details(bool newsb = false, int dokumenttypnr = 0, int sbnummer = 0)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
if (newsb)
|
|
{
|
|
db.Get_Tabledata("Select bezeichnung,office_vorlagenr from dokumenttyp where dokumenttypnr=" + sb.dokumenttypnr.ToString(), false, true);
|
|
sb.bezeichnung = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
sb.officevorlagenr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]);
|
|
|
|
}
|
|
|
|
}
|
|
private void update_serienbriefdaten(bool newsb)
|
|
{
|
|
sb.bezeichnung = this.txtbezeichnung.Text;
|
|
sb.verantwortlich = Convert.ToInt32(this.cbboxverantwortlich.SelectedValue.ToString());
|
|
if (newsb) { sb.erstellt_am = DateTime.Now; }
|
|
sb.aktiv = true;
|
|
sb.mutiert_am = DateTime.Now;
|
|
sb.mutierer = AppParams.CurrentMitarbieter;
|
|
sb.verantwortlich = AppParams.CurrentMitarbieter;
|
|
try { sb.postzustellung = Convert.ToInt32(cbboxpostzustellung.SelectedValue.ToString()); } catch { sb.postzustellung = 0; }
|
|
try { sb.unterschriftlinks = Convert.ToInt32(cbboxunterschriftlinks.SelectedValue.ToString()); } catch { sb.unterschriftlinks = 0; }
|
|
try { sb.unterschriftrechts = Convert.ToInt32(cbboxunterschriftrechts.SelectedValue.ToString()); } catch { sb.unterschriftrechts = 0; }
|
|
try { sb.team = Convert.ToInt32(cbboxteam.SelectedValue.ToString()); } catch { sb.team = 0; }
|
|
DB db = new DB(AppParams.connectionstring);
|
|
sb.serienbriefnr = db.Save_Serienbrief(sb, AppParams.tempdir);
|
|
db.save_sb_vorlage_to_db(sb.filename, "", sb.serienbriefnr);
|
|
}
|
|
|
|
|
|
|
|
private void treeViewAdv1_NodeMouseClick(object sender, TreeViewAdvMouseClickEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void update_zahlen()
|
|
{
|
|
try
|
|
{
|
|
sb.dsempfaenger.AcceptChanges();
|
|
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
|
|
dv.RowFilter = "Status = 0";
|
|
treeViewAdv1.Nodes[0].Text = "In Bearbeitung (" + dv.Count.ToString() + ")";
|
|
dv.RowFilter = "Status =-1";
|
|
treeViewAdv1.Nodes[1].Text = "Fehlerhaft (" + dv.Count.ToString() + ")";
|
|
if (dv.Count > 0) treeViewAdv1.Nodes[1].TextColor = Color.Red; else treeViewAdv1.Nodes[1].TextColor= Color.Black;
|
|
dv.RowFilter = "Status = 1";
|
|
treeViewAdv1.Nodes[2].Text = "Generiert (" + dv.Count.ToString() + ")";
|
|
dv.RowFilter = "Status = 2";
|
|
treeViewAdv1.Nodes[3].Text = "Abgeschlossen (" + dv.Count.ToString() + ")";
|
|
treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0];
|
|
|
|
}
|
|
catch { }
|
|
|
|
}
|
|
|
|
private void treeViewAdv1_AfterSelect(object sender, EventArgs e)
|
|
{
|
|
{
|
|
string nodetext = treeViewAdv1.SelectedNode.Text;
|
|
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
|
|
|
|
switch (nodetext.Substring(0, 5))
|
|
{
|
|
case "In Be":
|
|
dv.RowFilter = "Status = 0";
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dv;
|
|
break;
|
|
case "Fehle":
|
|
dv.RowFilter = "Status=-1";
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dv;
|
|
break;
|
|
case "Gener":
|
|
dv.RowFilter = "Status = 1";
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dv;
|
|
break;
|
|
case "Abges":
|
|
dv.RowFilter = "Status = 2";
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dv;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ribbonbuttonsave_Click(object sender, EventArgs e)
|
|
{
|
|
update_serienbriefdaten(false);
|
|
}
|
|
|
|
private void RibbonButtonOpen_Click(object sender, EventArgs e)
|
|
{
|
|
GrpEmpfaenger.Visible = false;
|
|
GrpDokumentInhalt.Visible = false;
|
|
pnlLoad.Visible = true;
|
|
pnlLoad.Dock = DockStyle.Top;
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.clear_parameter();
|
|
db.add_parameter("@mitarbeiternr", AppParams.CurrentMitarbieter.ToString());
|
|
db.Get_Tabledata("dbo.sp_edex_sb_get_serienbriefe", true, false);
|
|
sfdatagridsbload.DataSource = null;
|
|
sfdatagridsbload.DataSource = db.dsdaten.Tables[0];
|
|
btnsbloadok.Left = pnlLoad.Width - btnsbloadok.Width - 20;
|
|
if (sfdatagridsbload.RowCount == 0) this.btnsbloadok.Enabled = false;
|
|
// vorlage_auslesen_und_speichern();
|
|
System.Windows.Forms.Application.DoEvents();
|
|
}
|
|
|
|
private void bntsbloadok_Click(object sender, EventArgs e)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
sb = new serienbrief();
|
|
sb.dsempfaenger = new DataSet();
|
|
sb.serienbriefnr = selectedsbnr;
|
|
sb = db.Load_Serienbrief(sb, AppParams.tempdir);
|
|
sb.filename = db.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
|
|
pnlLoad.Visible = false;
|
|
update_screen();
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
GrpEmpfaenger.Visible = true;
|
|
GrpDokumentInhalt.Visible = true;
|
|
|
|
db = null;
|
|
}
|
|
private void update_screen()
|
|
{
|
|
txtbezeichnung.Text = sb.bezeichnung;
|
|
cbboxpostzustellung.SelectedValue = sb.postzustellung;
|
|
cbboxunterschriftlinks.SelectedValue = sb.unterschriftlinks;
|
|
cbboxunterschriftrechts.SelectedValue = sb.unterschriftrechts;
|
|
cbboxverantwortlich.SelectedValue = sb.verantwortlich;
|
|
update_zahlen();
|
|
GrpDokumentInhalt.Enabled = true;
|
|
|
|
}
|
|
|
|
private void btnsbloadcancel_Click(object sender, EventArgs e)
|
|
{
|
|
pnlLoad.Visible = false;
|
|
GrpEmpfaenger.Visible = true;
|
|
GrpDokumentInhalt.Visible = true;
|
|
|
|
}
|
|
|
|
private void sfdatagridsbload_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
|
|
{
|
|
var selectedItem = e.DataRow;
|
|
var dataRow = (e.DataRow.RowData as DataRowView).Row;
|
|
selectedsbnr = Convert.ToInt32(dataRow["serienbriefnr"].ToString());
|
|
|
|
|
|
}
|
|
|
|
private void ribbonButton1_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
SerienbriefBearbeitung sbedit = new SerienbriefBearbeitung(this.sb);
|
|
sbedit.Show();
|
|
}
|
|
|
|
private void ribbonbuttonaddpartner_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
Partnersuche ps = new Partnersuche();
|
|
ps.ShowDialog();
|
|
if (ps.DialogResult == DialogResult.OK)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select bkpar00 from partner where nrpar00=" + ps.partnernr.ToString(), false, true);
|
|
if (db.dsdaten.Tables[0].Rows.Count > 0)
|
|
{
|
|
System.Data.DataRow dr = sb.dsempfaenger.Tables[0].NewRow();
|
|
for (int i = 1; i < sb.dsempfaenger.Tables[0].Columns.Count; i++)
|
|
{
|
|
dr[i] = "";
|
|
}
|
|
dr["partnernr"] = Convert.ToInt32(ps.partnernr.ToString());
|
|
dr["kurzbezeichnung"] = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
dr["STATUS"] = 0;
|
|
dr["FEHLERCODE"] = 0;
|
|
|
|
sb.dsempfaenger.Tables[0].Rows.Add(dr);
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
}
|
|
db = null;
|
|
}
|
|
|
|
}
|
|
|
|
private void partnerHinzufügenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
ribbonbuttonaddpartner_Click(sender, e);
|
|
}
|
|
|
|
private void partnerLöschenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
sfDataGridEmpfaenger.AllowDeleting = true;
|
|
sfDataGridEmpfaenger.DeleteSelectedRecords();
|
|
sfDataGridEmpfaenger.AllowDeleting = false;
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
return;
|
|
|
|
}
|
|
|
|
private void sfdatagridsbload_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
if (sfdatagridsbload.RowCount == 0) return;
|
|
bntsbloadok_Click(sender, e);
|
|
}
|
|
|
|
private void sfdatagridsbload_CellDoubleClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
|
|
{
|
|
bntsbloadok_Click(sender, e);
|
|
}
|
|
|
|
private void Partnerliste_Pruefen()
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.create_sb_check_table(AppParams.CurrentMitarbieter);
|
|
db.save_sb_checkdata(AppParams.CurrentMitarbieter, sb);
|
|
System.Data.DataTable dt = new System.Data.DataTable();
|
|
dt = db.Check_sb_Data(AppParams.CurrentMitarbieter, sb);
|
|
string msg = "";
|
|
bool bldossier = false;
|
|
System.Data.DataRow[] dr;
|
|
for (int i = 0, loopTo = dt.Rows.Count - 1; i <= loopTo; i++)
|
|
{
|
|
dr = sb.dsempfaenger.Tables[0].Select("Partnernr='" + dt.Rows[i][0].ToString() + "'");
|
|
if (dr.Length == 0)
|
|
{
|
|
dr = sb.dsempfaenger.Tables[0].Select("Partnernr=''");
|
|
}
|
|
|
|
foreach (var dr1 in dr)
|
|
{
|
|
dr1["Status"] = dt.Rows[i]["status"];
|
|
try
|
|
{
|
|
if (Convert.ToInt32(dt.Rows[i]["Fehlercode"]) > 0)
|
|
{
|
|
dr1["Fehlercode"] = dt.Rows[i]["Fehlercode"];
|
|
}
|
|
if (Convert.ToInt32(dt.Rows[i]["Fehlercode"]) >= 10)
|
|
{
|
|
if (Convert.ToInt32(dt.Rows[i]["Fehlercode"]) == 11)
|
|
{
|
|
// MyMsg.show_standardmessage(920000, MsgBoxStyle.Exclamation)
|
|
msg = "Die Serienbriefvorlage ist für Personen-Dokumente. Es sind jedoch BP's in der Partnerliste. Der Serienbrief kann nicht generiert werden.";
|
|
}
|
|
else
|
|
{
|
|
msg = "Die Serienbriefvorlage ist für BP-Dokumente. Es sind jedoch Personen-Nummern in der Partnerliste. Der Serienbrief kann nicht generiert weden.";
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if (Convert.ToInt32(dt.Rows[i][4]) == 1) { bldossier = true; };
|
|
}
|
|
if (sb.dsempfaenger.Tables[0].Columns.Count > 20) { check_zwingende_felder(); }
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
if (msg !="") { MessageBox.Show(msg,"Serienbrief",MessageBoxButtons.OK, MessageBoxIcon.Error); }
|
|
}
|
|
|
|
private void check_zwingende_felder()
|
|
{
|
|
|
|
for (int i = 20; i < sb.dsempfaenger.Tables[0].Columns.Count; i++)
|
|
{
|
|
if (Convert.ToInt32(sb.dsempfaenger.Tables[1].Rows[0][sb.dsempfaenger.Tables[0].Columns[i].ColumnName]) == 1)
|
|
{
|
|
System.Data.DataRow[] dr = sb.dsempfaenger.Tables[0].Select("[" + sb.dsempfaenger.Tables[0].Columns[i].ColumnName + "] <>''");
|
|
foreach (System.Data.DataRow dr2 in dr)
|
|
{
|
|
if (Convert.ToInt32(dr2["Status"]) == 0) { dr2["Status"] = 1; }
|
|
}
|
|
|
|
dr = sb.dsempfaenger.Tables[0].Select("[" + sb.dsempfaenger.Tables[0].Columns[i].ColumnName + "] =''");
|
|
foreach (System.Data.DataRow dr2 in dr)
|
|
{
|
|
if (Convert.ToInt32(dr2["Status"]) == 0)
|
|
{
|
|
dr2["Status"] = -1;
|
|
dr2["Fehlercode"] = 2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ribbonButton2_Click(object sender, EventArgs e)
|
|
{
|
|
Partnerliste_Pruefen();
|
|
treeViewAdv1_AfterSelect(sender, e);
|
|
}
|
|
}
|
|
}
|