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.

158 lines
6.6 KiB

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Database;
using OnDoc.Klassen;
using OnDoc.UIControls.Administrator;
using Syncfusion.Windows.Forms.Tools;
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;
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";
}
private void RibbonButtonExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void RibbonButtonExcelImport_Click(object sender, EventArgs e)
{
DataTable importdata = new 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;
}
sfDataGridEmpfaenger.DataSource = importdata;
}
}
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)
{
dokumenttypnr = DokTypSelect.dokumenttypnr;
GrpDokumentInhalt.Enabled=true;
update_serienbrief_details(true, dokumenttypnr, 0);
}
else {
this.GrpDokumentInhalt.Enabled = false;
return; }
}
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=" + dokumenttypnr.ToString(),false,true);
this.txtbezeichnung.Text = db.dsdaten.Tables[0].Rows[0][0].ToString();
officevorlagenr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]);
}
}
}
}