@ -9,9 +9,13 @@ using System.Runtime.Remoting.Messaging;
using System.Text ;
using System.Text ;
using System.Threading.Tasks ;
using System.Threading.Tasks ;
using System.Windows.Forms ;
using System.Windows.Forms ;
using System.Xml.Linq ;
using Database ;
using Database ;
using DOCGEN.Klassen ;
using Helper ;
using Helper ;
using Model ;
using Model ;
using NLog ;
using OnDoc.DocMgmt ;
using OnDoc.Klassen ;
using OnDoc.Klassen ;
using OnDoc.UIControls.Administrator ;
using OnDoc.UIControls.Administrator ;
using Syncfusion.Windows.Forms.Tools ;
using Syncfusion.Windows.Forms.Tools ;
@ -24,12 +28,14 @@ namespace OnDoc.UIControls
{
{
public partial class Serienbrief : SfForm
public partial class Serienbrief : SfForm
{
{
private int dokumenttypnr = 0 ;
//private int dokumenttypnr = 0 ;
private int officevorlagenr = 0 ;
private int officevorlagenr = 0 ;
private int profilnr = 0 ;
private int profilnr = 0 ;
private serienbrief sb = new serienbrief ( ) ;
private serienbrief sb = new serienbrief ( ) ;
private int serienbriefnr = 0 ;
private int serienbriefnr = 0 ;
private DataSet dsempfaenger = new DataSet ( ) ;
//private DataSet dsempfaenger = new DataSet();
private int selectedsbnr = 0 ;
public Serienbrief ( )
public Serienbrief ( )
{
{
InitializeComponent ( ) ;
InitializeComponent ( ) ;
@ -132,18 +138,18 @@ namespace OnDoc.UIControls
return ;
return ;
}
}
DB dB = new DB ( AppParams . connectionstring ) ;
DB dB = new DB ( AppParams . connectionstring ) ;
dsempfaenger. Tables [ 0 ] . Rows . Clear ( ) ;
sb. dsempfaenger. Tables [ 0 ] . Rows . Clear ( ) ;
foreach ( System . Data . DataRow dr in importdata . Rows )
foreach ( System . Data . DataRow dr in importdata . Rows )
{
{
System . Data . DataRow r1 = dsempfaenger. Tables [ 0 ] . NewRow ( ) ;
System . Data . DataRow r1 = sb. dsempfaenger. Tables [ 0 ] . NewRow ( ) ;
foreach ( DataColumn col in importdata . Columns )
foreach ( DataColumn col in sb. dsempfaenger . Tables [ 0 ] . Columns )
{
{
try
try
{
{
r1 [ col . ColumnName ] = dr [ col . ColumnName ] ;
r1 [ col . ColumnName ] = dr [ col . ColumnName ] ;
}
}
catch { }
catch { r1 [ col . ColumnName ] = "" ; }
}
}
r1 [ "Status" ] = 0 ;
r1 [ "Status" ] = 0 ;
@ -151,10 +157,10 @@ namespace OnDoc.UIControls
dB . Get_Tabledata ( "Select bkpar00 from partner where nrpar00=" + r1 [ 0 ] . ToString ( ) , false , true ) ;
dB . Get_Tabledata ( "Select bkpar00 from partner where nrpar00=" + r1 [ 0 ] . ToString ( ) , false , true ) ;
if ( dB . dsdaten . Tables [ 0 ] . Rows . Count < 1 ) r1 [ "Error" ] = 1 ; else r1 [ "Error" ] = 0 ;
if ( dB . dsdaten . Tables [ 0 ] . Rows . Count < 1 ) r1 [ "Error" ] = 1 ; else r1 [ "Error" ] = 0 ;
r1 [ 1 ] = dB . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ;
r1 [ 1 ] = dB . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ;
dsempfaenger. Tables [ 0 ] . Rows . Add ( r1 ) ;
sb. dsempfaenger. Tables [ 0 ] . Rows . Add ( r1 ) ;
}
}
dB = null ;
dB = null ;
refresh_empfaenger ( dsempfaenger. Tables [ 0 ] ) ;
refresh_empfaenger ( sb. dsempfaenger. Tables [ 0 ] ) ;
//sfDataGridEmpfaenger.DataSource = importdata;
//sfDataGridEmpfaenger.DataSource = importdata;
}
}
}
}
@ -185,17 +191,26 @@ namespace OnDoc.UIControls
string xml = bh . DecodeBase64 ( ) ;
string xml = bh . DecodeBase64 ( ) ;
string filename = AppParams . tempdir + @"\tmpsb.xml" ;
string filename = AppParams . tempdir + @"\tmpsb.xml" ;
System . IO . File . WriteAllText ( filename , xml ) ;
System . IO . File . WriteAllText ( filename , xml ) ;
dsempfaenger . Tables . Clear ( ) ;
//dsempfaenger.Tables.Clear();
dsempfaenger . ReadXml ( filename ) ;
//dsempfaenger.ReadXml(filename);
dsempfaenger . Tables [ 0 ] . Columns . Add ( "Status" ) ;
//dsempfaenger.Tables[0].Columns.Add("Status");
dsempfaenger . Tables [ 0 ] . Columns . Add ( "Error" ) ;
//dsempfaenger.Tables[0].Columns.Add("Error");
sb . dsempfaenger = new DataSet ( ) ;
refresh_empfaenger ( dsempfaenger . Tables [ 0 ] ) ;
sb . dsempfaenger . Tables . Clear ( ) ;
sb . dsempfaenger . ReadXml ( filename ) ;
sb . dsempfaenger . Tables [ 0 ] . Columns . Add ( "Status" ) ;
sb . dsempfaenger . Tables [ 0 ] . Rows [ 0 ] [ "Status" ] = "0" ;
sb . dsempfaenger . Tables [ 0 ] . Columns . Add ( "Error" ) ;
sb . dsempfaenger . Tables [ 0 ] . Rows [ 0 ] [ "Error" ] = "0" ;
sb . dsempfaenger . AcceptChanges ( ) ;
refresh_empfaenger ( sb . dsempfaenger . Tables [ 0 ] ) ;
System . IO . File . Delete ( filename ) ;
System . IO . File . Delete ( filename ) ;
}
}
private void RibbonButtonNew_Click ( object sender , EventArgs e )
private void RibbonButtonNew_Click ( object sender , EventArgs e )
{
{
OnDoc . DocMgmt . DokTypSelect DokTypSelect = new OnDoc . DocMgmt . DokTypSelect ( ) ;
OnDoc . DocMgmt . DokTypSelect DokTypSelect = new OnDoc . DocMgmt . DokTypSelect ( ) ;
DokTypSelect . vorlagentype = 1 ;
DokTypSelect . vorlagentype = 1 ;
DokTypSelect . ShowDialog ( this ) ;
DokTypSelect . ShowDialog ( this ) ;
@ -203,14 +218,15 @@ namespace OnDoc.UIControls
{
{
this . sb = null ;
this . sb = null ;
this . sb = new serienbrief ( ) ;
this . sb = new serienbrief ( ) ;
dokumenttypnr = DokTypSelect . dokumenttypnr ;
sb . dokumenttypnr = DokTypSelect . dokumenttypnr ;
GrpDokumentInhalt . Enabled = true ;
update_serienbrief_details ( true , dokumenttypnr , 0 ) ;
init_empfaenger ( 0 ) ;
vorlagenfelder ( dokumenttypnr ) ;
refresh_empfaenger ( dsempfaenger . Tables [ 0 ] ) ;
update_serienbrief_details ( true , sb . dokumenttypnr , 0 ) ;
init_empfaenger ( 0 ) ;
vorlagenfelder ( sb . dokumenttypnr ) ;
refresh_empfaenger ( sb . dsempfaenger . Tables [ 0 ] ) ;
update_screen ( ) ;
update_serienbriefdaten ( true ) ;
update_serienbriefdaten ( true ) ;
vorlage_auslesen_und_speichern ( ) ;
vorlage_auslesen_und_speichern ( ) ;
}
}
else
else
@ -222,13 +238,18 @@ namespace OnDoc.UIControls
private void vorlage_auslesen_und_speichern ( )
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 )
private void vorlagenfelder ( int dokumenttypnr )
{
{
DB db = new DB ( AppParams . connectionstring ) ;
DB db = new DB ( AppParams . connectionstring ) ;
db . clear_parameter ( ) ;
db . clear_parameter ( ) ;
db . add_parameter ( "@dokumenttypnr" , dokumenttypnr . ToString ( ) ) ;
db . add_parameter ( "@dokumenttypnr" , sb. dokumenttypnr. ToString ( ) ) ;
db . Get_Tabledata ( "sp_edex_sb_get_vorlagenfelder" , true , false ) ;
db . Get_Tabledata ( "sp_edex_sb_get_vorlagenfelder" , true , false ) ;
string s = "" ;
string s = "" ;
for ( int i = 0 , loopTo = db . dsdaten . Tables [ 0 ] . Rows . Count - 1 ; i < = loopTo ; i + + )
for ( int i = 0 , loopTo = db . dsdaten . Tables [ 0 ] . Rows . Count - 1 ; i < = loopTo ; i + + )
@ -236,34 +257,35 @@ namespace OnDoc.UIControls
try
try
{
{
string X ;
string X ;
X = this . dsempfaenger . Tables [ 0 ] . Rows [ 0 ] [ db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ] . ToString ( ) ;
X = sb . dsempfaenger . Tables [ 0 ] . Rows [ 0 ] [ db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ] . ToString ( ) ;
}
}
catch
catch
{
{
this . dsempfaenger . Tables [ 0 ] . Columns . Add ( db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ) ;
sb . dsempfaenger . Tables [ 0 ] . Columns . Add ( db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ) ;
this . dsempfaenger . Tables [ 0 ] . Rows [ 0 ] [ i] = "" ;
sb . dsempfaenger . Tables [ 0 ] . Rows [ 0 ] [ db. dsdaten . Tables [ 0 ] . Rows [ i] [ 0 ] . ToString ( ) ] = "" ;
this . dsempfaenger . Tables [ 1 ] . Columns . Add ( db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ) ;
sb . dsempfaenger . Tables [ 1 ] . Columns . Add ( db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ) ;
try
try
{
{
if ( Convert . ToBoolean ( db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 1 ] ) = = true )
if ( Convert . ToBoolean ( db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 1 ] ) = = true )
{
{
this . dsempfaenger . Tables [ 1 ] . Rows [ 0 ] [ db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ] = 1 ;
sb . dsempfaenger . Tables [ 1 ] . Rows [ 0 ] [ db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ] = 1 ;
}
}
else
else
{
{
this . dsempfaenger . Tables [ 1 ] . Rows [ 0 ] [ db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ] = 0 ;
sb . dsempfaenger . Tables [ 1 ] . Rows [ 0 ] [ db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ] = 0 ;
}
}
}
}
catch
catch
{
{
this . dsempfaenger . Tables [ 1 ] . Rows [ 0 ] [ db . dsdaten . Tables [ 0 ] . Rows [ i ] [ 0 ] . ToString ( ) ] = 0 ;
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 ;
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 ) ; }
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)
//foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
@ -287,9 +309,9 @@ namespace OnDoc.UIControls
DB db = new DB ( AppParams . connectionstring ) ;
DB db = new DB ( AppParams . connectionstring ) ;
if ( newsb )
if ( newsb )
{
{
db . Get_Tabledata ( "Select bezeichnung,office_vorlagenr from dokumenttyp where dokumenttypnr=" + dokumenttypnr. ToString ( ) , false , true ) ;
db . Get_Tabledata ( "Select bezeichnung,office_vorlagenr from dokumenttyp where dokumenttypnr=" + sb. dokumenttypnr. ToString ( ) , false , true ) ;
this . txtbezeichnung . Text = db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ;
sb . bezeichnung = db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ;
officevorlagenr = Convert . ToInt32 ( db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 1 ] ) ;
sb. officevorlagenr = Convert . ToInt32 ( db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 1 ] ) ;
}
}
@ -302,13 +324,14 @@ namespace OnDoc.UIControls
sb . aktiv = true ;
sb . aktiv = true ;
sb . mutiert_am = DateTime . Now ;
sb . mutiert_am = DateTime . Now ;
sb . mutierer = AppParams . CurrentMitarbieter ;
sb . mutierer = AppParams . CurrentMitarbieter ;
sb . dokumenttypnr= this . dokumenttypn r;
sb . verantwortlich= AppParams . CurrentMitarbiete r;
try { sb . postzustellung = Convert . ToInt32 ( cbboxpostzustellung . SelectedValue . ToString ( ) ) ; } catch { sb . postzustellung = 0 ; }
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 . unterschriftlinks = Convert . ToInt32 ( cbboxunterschriftlinks . SelectedValue . ToString ( ) ) ; } catch { sb . unterschriftlinks = 0 ; }
try { sb . unterschriftrechts = Convert . ToInt32 ( cbboxunterschriftrechts . SelectedValue . ToString ( ) ) ; } catch { sb . unterschriftrechts = 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 ; }
try { sb . team = Convert . ToInt32 ( cbboxteam . SelectedValue . ToString ( ) ) ; } catch { sb . team = 0 ; }
DB db = new DB ( AppParams . connectionstring ) ;
DB db = new DB ( AppParams . connectionstring ) ;
this . serienbriefnr = db . Save_Serienbrief ( sb ) ;
sb . serienbriefnr = db . Save_Serienbrief ( sb , AppParams . tempdir ) ;
db . save_sb_vorlage_to_db ( sb . filename , "" , sb . serienbriefnr ) ;
}
}
@ -322,7 +345,7 @@ namespace OnDoc.UIControls
{
{
try
try
{
{
DataView dv = new DataView ( dsempfaenger. Tables [ 0 ] ) ;
DataView dv = new DataView ( sb. dsempfaenger. Tables [ 0 ] ) ;
dv . RowFilter = "Status = 0" ;
dv . RowFilter = "Status = 0" ;
treeViewAdv1 . Nodes [ 0 ] . Text = "In Bearbeitung (" + dv . Count . ToString ( ) + ")" ;
treeViewAdv1 . Nodes [ 0 ] . Text = "In Bearbeitung (" + dv . Count . ToString ( ) + ")" ;
dv . RowFilter = "Error <> 0" ;
dv . RowFilter = "Error <> 0" ;
@ -341,7 +364,7 @@ namespace OnDoc.UIControls
{
{
{
{
string nodetext = treeViewAdv1 . SelectedNode . Text ;
string nodetext = treeViewAdv1 . SelectedNode . Text ;
DataView dv = new DataView ( dsempfaenger. Tables [ 0 ] ) ;
DataView dv = new DataView ( sb. dsempfaenger. Tables [ 0 ] ) ;
switch ( nodetext . Substring ( 0 , 5 ) )
switch ( nodetext . Substring ( 0 , 5 ) )
{
{
@ -385,11 +408,30 @@ namespace OnDoc.UIControls
sfdatagridsbload . DataSource = db . dsdaten . Tables [ 0 ] ;
sfdatagridsbload . DataSource = db . dsdaten . Tables [ 0 ] ;
this . pnlLoad . Left = this . Left ;
this . pnlLoad . Left = this . Left ;
this . pnlLoad . Width = this . Width ;
this . pnlLoad . Width = this . Width ;
Application . DoEvents ( ) ;
}
}
private void bntsbloadok_Click ( object sender , EventArgs e )
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 ;
pnlLoad . Visible = false ;
update_screen ( ) ;
refresh_empfaenger ( sb . dsempfaenger . Tables [ 0 ] ) ;
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 ;
}
}
@ -397,5 +439,20 @@ namespace OnDoc.UIControls
{
{
pnlLoad . Visible = false ;
pnlLoad . Visible = false ;
}
}
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 ( ) ;
}
}
}
}
}