@ -10,6 +10,7 @@ using System.Runtime.CompilerServices;
using System.Runtime.Remoting.Messaging ;
using System.Runtime.Remoting.Messaging ;
using System.Text ;
using System.Text ;
using System.Threading.Tasks ;
using System.Threading.Tasks ;
using System.Web.Caching ;
using System.Windows.Forms ;
using System.Windows.Forms ;
using System.Xml.Linq ;
using System.Xml.Linq ;
using Database ;
using Database ;
@ -118,7 +119,7 @@ namespace OnDoc.UIControls
private void RibbonButtonExcelImport_Click ( object sender , EventArgs e )
private void RibbonButtonExcelImport_Click ( object sender , EventArgs e )
{
{
System . Data . DataTable importdata = new System . Data . DataTable ( ) ;
System . Data . DataTable importdata = new System . Data . DataTable ( ) ;
openFileDialog1 . Filter = "Excel-Dateien files (*.xlsx)|*.xlsx|CSV-Dateien (*.csv)|*.csv|Alle Dateien (*.*)|*.*" ;
openFileDialog1 . Filter = "Excel-Dateien files (*.xlsx)|*.xlsx|CSV-Dateien (*.csv)|*.csv|Alle Dateien (*.*)|*.*" ;
openFileDialog1 . FilterIndex = 0 ;
openFileDialog1 . FilterIndex = 0 ;
@ -186,7 +187,7 @@ namespace OnDoc.UIControls
}
}
dB = null ;
dB = null ;
refresh_empfaenger ( sb . dsempfaenger . Tables [ 0 ] ) ;
refresh_empfaenger ( sb . dsempfaenger . Tables [ 0 ] ) ;
finish_progress ( ) ;
finish_progress ( ) ;
//sfDataGridEmpfaenger.DataSource = importdata;
//sfDataGridEmpfaenger.DataSource = importdata;
}
}
@ -198,7 +199,8 @@ namespace OnDoc.UIControls
sfDataGridEmpfaenger . DataSource = dt ;
sfDataGridEmpfaenger . DataSource = dt ;
update_zahlen ( ) ;
update_zahlen ( ) ;
}
}
private void refresh_spalten ( ) {
private void refresh_spalten ( )
{
//sfDataGridEmpfaenger.Columns["STATUS"].Visible = false;
//sfDataGridEmpfaenger.Columns["STATUS"].Visible = false;
//sfDataGridEmpfaenger.Columns["FEHLERCODE"].Visible = false;
//sfDataGridEmpfaenger.Columns["FEHLERCODE"].Visible = false;
//sfDataGridEmpfaenger.Columns["BLKUNDE"].Visible = false;
//sfDataGridEmpfaenger.Columns["BLKUNDE"].Visible = false;
@ -210,7 +212,7 @@ namespace OnDoc.UIControls
//sfDataGridEmpfaenger.Columns["AKTIV"].Visible = false;
//sfDataGridEmpfaenger.Columns["AKTIV"].Visible = false;
sfDataGridEmpfaenger . Columns [ "Zustelladresse" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Zustelladresse" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Briefanrede1" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Briefanrede1" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Briefanrede2" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Briefanrede2" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Anrede" ] . Width = 0 ;
sfDataGridEmpfaenger . Columns [ "Anrede" ] . Width = 0 ;
sfDataGridEmpfaenger . Columns [ "Name" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Name" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Vorname" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Vorname" ] . Visible = false ;
@ -218,7 +220,7 @@ namespace OnDoc.UIControls
sfDataGridEmpfaenger . Columns [ "PLZ" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "PLZ" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Ort" ] . Visible = false ;
sfDataGridEmpfaenger . Columns [ "Ort" ] . Visible = false ;
}
}
private void init_empfaenger ( int serienbriefnr )
private void init_empfaenger ( int serienbriefnr )
{
{
@ -349,10 +351,10 @@ 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=" + sb . dokumenttypnr . ToString ( ) , false , true ) ;
db . Get_Tabledata ( "Select bezeichnung,office_vorlagenr , isnull(vertrag,0) as vertrag from dokumenttyp where dokumenttypnr=" + sb . dokumenttypnr . ToString ( ) , false , true ) ;
sb . bezeichnung = db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ;
sb . bezeichnung = db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ;
sb . officevorlagenr = Convert . ToInt32 ( db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 1 ] ) ;
sb . officevorlagenr = Convert . ToInt32 ( db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 1 ] ) ;
sb . vertrag = Convert . ToInt32 ( db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 2 ] ) ;
}
}
}
}
@ -371,7 +373,7 @@ namespace OnDoc.UIControls
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 ; }
sb . archivdatum = Convert . ToDateTime ( DateDokumentDatum . Value ) ;
sb . archivdatum = Convert . ToDateTime ( DateDokumentDatum . Value ) ;
sb . dokumentdatum = Convert . ToDateTime ( DateDokumentDatum . Value ) ;
sb . dokumentdatum = Convert . ToDateTime ( DateDokumentDatum . Value ) ;
DB db = new DB ( AppParams . connectionstring ) ;
DB db = new DB ( AppParams . connectionstring ) ;
sb . serienbriefnr = db . Save_Serienbrief ( sb , AppParams . tempdir ) ;
sb . serienbriefnr = db . Save_Serienbrief ( sb , AppParams . tempdir ) ;
db . save_sb_vorlage_to_db ( sb . filename , "" , sb . serienbriefnr ) ;
db . save_sb_vorlage_to_db ( sb . filename , "" , sb . serienbriefnr ) ;
@ -383,6 +385,7 @@ namespace OnDoc.UIControls
{
{
try
try
{
{
int inbearbeitung = 0 ;
int inbearbeitung = 0 ;
int fehlerhaft = 0 ;
int fehlerhaft = 0 ;
int generiert = 0 ;
int generiert = 0 ;
@ -410,16 +413,30 @@ namespace OnDoc.UIControls
RibbonButtonArchivierenUndAbschlessen . Enabled = false ;
RibbonButtonArchivierenUndAbschlessen . Enabled = false ;
ribbonButtonDruckstapel . Enabled = false ;
ribbonButtonDruckstapel . Enabled = false ;
if ( inbearbeitung > 0 ) { RibbonButtonGenerateSB . Enabled = true ; }
if ( inbearbeitung > 0 ) { RibbonButtonGenerateSB . Enabled = true ; }
if ( fehlerhaft = = 0 & & inbearbeitung = = 0 & & generiert > 0 ) {
if ( fehlerhaft = = 0 & & inbearbeitung = = 0 & & generiert > 0 )
{
RibbonButtonArchivierenUndAbschlessen . Enabled = true ;
RibbonButtonArchivierenUndAbschlessen . Enabled = true ;
ribbonButtonDruckstapel . Enabled = true ;
ribbonButtonDruckstapel . Enabled = true ;
}
}
enable_disable ( true ) ;
if ( generiert > 0 | | abgeschlossen > 0 )
{
enable_disable ( false ) ;
}
}
}
catch { }
catch { }
}
}
private void enable_disable ( bool enabled )
{
groupBox5 . Enabled = enabled ;
groupBox6 . Enabled = enabled ;
groupBox7 . Enabled = enabled ;
groupBox8 . Enabled = enabled ;
ribbonButton1 . Enabled = enabled ;
}
private void Set_Functions ( int type )
private void Set_Functions ( int type )
{
{
@ -429,23 +446,23 @@ namespace OnDoc.UIControls
ctxmenuEmpfaenger . Enabled = true ;
ctxmenuEmpfaenger . Enabled = true ;
partnerHinzuf ü genToolStripMenuItem . Visible = true ;
partnerHinzuf ü genToolStripMenuItem . Visible = true ;
partnerL ö schenToolStripMenuItem . Visible = true ;
partnerL ö schenToolStripMenuItem . Visible = true ;
ausListeL ö schenToolStripMenuItem . Visible = false ;
erneutGenerierenToolStripMenuItem . Visible = false ;
erneutGenerierenToolStripMenuItem . Visible = false ;
docPreview1 . Visible = false ;
docPreview1 . Visible = false ;
}
}
if ( type = = 3 | | type = = 4 )
if ( type = = 3 | | type = = 4 )
{
{
partnerHinzuf ü genToolStripMenuItem . Visible = false ;
partnerHinzuf ü genToolStripMenuItem . Visible = false ;
partnerL ö schenToolStripMenuItem . Visible = false ;
partnerL ö schenToolStripMenuItem . Visible = false ;
sfDataGridEmpfaenger . AllowEditing = false ;
sfDataGridEmpfaenger . AllowEditing = false ;
ausListeL ö schenToolStripMenuItem . Visible = true ;
erneutGenerierenToolStripMenuItem . Visible = true ;
erneutGenerierenToolStripMenuItem . Visible = true ;
docPreview1 . clear_viewer ( ) ;
docPreview1 . clear_viewer ( ) ;
docPreview1 . Visible = true ;
docPreview1 . Visible = true ;
//ctxmenuEmpfaenger.Enabled = false;
//ctxmenuEmpfaenger.Enabled = false;
}
}
}
}
@ -453,42 +470,42 @@ namespace OnDoc.UIControls
{
{
update_grid ( ) ;
update_grid ( ) ;
}
}
private void update_grid ( )
private void update_grid ( )
{
{
string nodetext = treeViewAdv1 . SelectedNode . Text ;
string nodetext = treeViewAdv1 . SelectedNode . Text ;
DataView dv = new DataView ( sb . dsempfaenger . Tables [ 0 ] ) ;
DataView dv = new DataView ( sb . dsempfaenger . Tables [ 0 ] ) ;
switch ( nodetext . Substring ( 0 , 5 ) )
switch ( nodetext . Substring ( 0 , 5 ) )
{
{
case "In Be" :
case "In Be" :
dv . RowFilter = "Status = 0" ;
dv . RowFilter = "Status = 0" ;
sfDataGridEmpfaenger . DataSource = null ;
sfDataGridEmpfaenger . DataSource = null ;
sfDataGridEmpfaenger . DataSource = dv ;
sfDataGridEmpfaenger . DataSource = dv ;
refresh_spalten ( ) ;
refresh_spalten ( ) ;
Set_Functions ( 1 ) ;
Set_Functions ( 1 ) ;
break ;
break ;
case "Fehle" :
case "Fehle" :
dv . RowFilter = "Status=-1" ;
dv . RowFilter = "Status=-1" ;
sfDataGridEmpfaenger . DataSource = null ;
sfDataGridEmpfaenger . DataSource = null ;
sfDataGridEmpfaenger . DataSource = dv ;
sfDataGridEmpfaenger . DataSource = dv ;
refresh_spalten ( ) ;
refresh_spalten ( ) ;
Set_Functions ( 2 ) ;
Set_Functions ( 2 ) ;
break ;
break ;
case "Gener" :
case "Gener" :
dv . RowFilter = "Status = 1" ;
dv . RowFilter = "Status = 1" ;
sfDataGridEmpfaenger . DataSource = null ;
sfDataGridEmpfaenger . DataSource = null ;
sfDataGridEmpfaenger . DataSource = dv ;
sfDataGridEmpfaenger . DataSource = dv ;
refresh_spalten ( ) ; Set_Functions ( 3 ) ;
refresh_spalten ( ) ; Set_Functions ( 3 ) ;
break ;
break ;
case "Abges" :
case "Abges" :
dv . RowFilter = "Status = 2" ;
dv . RowFilter = "Status = 2" ;
sfDataGridEmpfaenger . DataSource = null ;
sfDataGridEmpfaenger . DataSource = null ;
sfDataGridEmpfaenger . DataSource = dv ;
sfDataGridEmpfaenger . DataSource = dv ;
refresh_spalten ( ) ;
refresh_spalten ( ) ;
Set_Functions ( 4 ) ;
Set_Functions ( 4 ) ;
break ;
break ;
}
}
}
}
private void ribbonbuttonsave_Click ( object sender , EventArgs e )
private void ribbonbuttonsave_Click ( object sender , EventArgs e )
@ -937,7 +954,8 @@ namespace OnDoc.UIControls
{
{
Insert_Value ( vorlagendaten . Rows [ i ] [ i1 ] . ToString ( ) , vorlagendaten . Columns [ i1 ] . ColumnName ) ;
Insert_Value ( vorlagendaten . Rows [ i ] [ i1 ] . ToString ( ) , vorlagendaten . Columns [ i1 ] . ColumnName ) ;
}
}
} catch { }
}
catch { }
try
try
{
{
if ( vorlagendaten . Columns [ i1 ] . ColumnName . ToString ( ) . Substring ( 0 , 5 ) = = "I_09_" )
if ( vorlagendaten . Columns [ i1 ] . ColumnName . ToString ( ) . Substring ( 0 , 5 ) = = "I_09_" )
@ -957,24 +975,32 @@ namespace OnDoc.UIControls
// IntWert = RenCol(IntWert)
// IntWert = RenCol(IntWert)
Insert_Value ( vorlagendaten . Rows [ i ] [ IntWert ] . ToString ( ) , Intbookmark ) ;
Insert_Value ( vorlagendaten . Rows [ i ] [ IntWert ] . ToString ( ) , Intbookmark ) ;
}
}
} catch { }
}
catch { }
}
}
string pdfdoc = dget . Convert_Word_To_PDF ( dg . generate_serienbrief ( sb . VorlageBase64 , sb ) ) ;
string pdfdoc = dget . Convert_Word_To_PDF ( dg . generate_serienbrief ( sb . VorlageBase64 , sb ) ) ;
Helper . FileHelper fh = new FileHelper ( ) ;
Helper . FileHelper fh = new FileHelper ( ) ;
DB db = new DB ( AppParams . connectionstring ) ;
DB db = new DB ( AppParams . connectionstring ) ;
string filename = "SB_" + sb . serienbriefnr . ToString ( ) + vorlagendaten . Rows [ i ] [ "intEintragnr" ] . ToString ( ) + ".pdf" ;
System . Data . DataRow dr = sb . dsempfaenger . Tables [ 0 ] . Select ( "intEintragnr = '" + vorlagendaten . Rows [ i ] [ "IntEintragnr" ] . ToString ( ) + "'" ) . FirstOrDefault ( ) ;
string dokumentid = "" ;
if ( dr ! = null )
{
dokumentid = dr [ "dokumentid" ] . ToString ( ) ;
}
if ( dokumentid = = "" ) { dokumentid = db . get_dbkey ( "Dokument" ) ; }
string filename = dokumentid + ".pdf" ;
//string filename = "SB_" + sb.serienbriefnr.ToString() + vorlagendaten.Rows[i]["intEintragnr"].ToString() + ".pdf";
fh . SaveBase64ToFile ( pdfdoc , AppParams . tempdir + filename ) ;
fh . SaveBase64ToFile ( pdfdoc , AppParams . tempdir + filename ) ;
db . save_serienbrief_datei ( sb . serienbriefnr , Convert . ToInt32 ( vorlagendaten . Rows [ i ] [ "IntEintragnr" ] ) , AppParams . tempdir + filename ) ;
db . save_serienbrief_datei ( sb . serienbriefnr , Convert . ToInt32 ( vorlagendaten . Rows [ i ] [ "IntEintragnr" ] ) , AppParams . tempdir + filename , dokumentid );
System . IO . File . Delete ( AppParams . tempdir + filename ) ;
System . IO . File . Delete ( AppParams . tempdir + filename ) ;
db = null ;
db = null ;
System . Data . DataRow dr = sb . dsempfaenger . Tables [ 0 ] . Select ( "intEintragnr = '" + vorlagendaten . Rows [ i ] [ "IntEintragnr" ] . ToString ( ) + "'" ) . FirstOrDefault ( ) ;
if ( dr ! = null )
if ( dr ! = null )
{
{
dr [ "STATUS" ] = "1" ;
dr [ "STATUS" ] = "1" ;
dr [ "Dokumentid" ] = dokumentid ;
}
}
sb . DocValues . Clear ( ) ;
sb . DocValues . Clear ( ) ;
}
}
@ -1232,7 +1258,7 @@ namespace OnDoc.UIControls
private void merge ( )
private void merge ( )
{
{
DataView dv = new DataView ( sb . dsempfaenger . Tables [ 0 ] ) ;
DataView dv = new DataView ( sb . dsempfaenger . Tables [ 0 ] ) ;
dv . RowFilter = "Status = 1" ;
dv . RowFilter = "Status = 1" ;
@ -1251,7 +1277,7 @@ namespace OnDoc.UIControls
{
{
add_progress ( ) ;
add_progress ( ) ;
System . Data . DataRow dr = rowView . Row ;
System . Data . DataRow dr = rowView . Row ;
db . Get_Tabledata ( "Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where serienbriefnr=" + sb . serienbriefnr . ToString ( ) + " and inteintragnr=" + dr [ "IntEintragNr "] . ToString ( ) , false , true ) ;
db . Get_Tabledata ( "Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where dokumentid='" + dr [ "Dokumentid "] . ToString ( ) + "'" , false , true ) ;
var stream = new MemoryStream ( Convert . FromBase64String ( db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ) ) ;
var stream = new MemoryStream ( Convert . FromBase64String ( db . dsdaten . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ) ) ;
if ( stream . Length > 0 )
if ( stream . Length > 0 )
{
{
@ -1260,9 +1286,9 @@ namespace OnDoc.UIControls
if ( i > = stapelgroesse )
if ( i > = stapelgroesse )
{
{
save_stapel ( stapel , ref streams ) ;
save_stapel ( stapel , ref streams ) ;
i = 0 ;
i = 0 ;
streams = new Stream [ dv . Count - ( stapel * stapelgroesse ) ] ;
streams = new Stream [ dv . Count - ( stapel * stapelgroesse ) ] ;
stapel + + ;
stapel + + ;
}
}
}
}
@ -1298,7 +1324,7 @@ namespace OnDoc.UIControls
fs . Close ( ) ;
fs . Close ( ) ;
fs . Dispose ( ) ;
fs . Dispose ( ) ;
TreeNodeAdv tn = new TreeNodeAdv ( ) ;
TreeNodeAdv tn = new TreeNodeAdv ( ) ;
tn . Text = "Druckstapel " + stapelnr . ToString ( ) + " (" + streams . Length . ToString ( ) + ")" ;
tn . Text = "Druckstapel " + stapelnr . ToString ( ) + " (" + streams . Length . ToString ( ) + ")" ;
tn . Tag = stapelnr . ToString ( ) ;
tn . Tag = stapelnr . ToString ( ) ;
tn . TagObject = filename ;
tn . TagObject = filename ;
treeviewDruckstapel . Nodes . Add ( tn ) ;
treeviewDruckstapel . Nodes . Add ( tn ) ;
@ -1336,7 +1362,7 @@ namespace OnDoc.UIControls
private void RibbonButtonArchivierenUndAbschlessen_CanvasChanged ( object sender , EventArgs e )
private void RibbonButtonArchivierenUndAbschlessen_CanvasChanged ( object sender , EventArgs e )
{
{
}
}
private void RibbonButtonArchivierenUndAbschlessen_Click ( object sender , EventArgs e )
private void RibbonButtonArchivierenUndAbschlessen_Click ( object sender , EventArgs e )
@ -1429,7 +1455,7 @@ namespace OnDoc.UIControls
{
{
finish_progress ( ) ;
finish_progress ( ) ;
}
}
}
}
private void ausListeL ö schenToolStripMenuItem_Click ( object sender , EventArgs e )
private void ausListeL ö schenToolStripMenuItem_Click ( object sender , EventArgs e )
@ -1446,7 +1472,7 @@ namespace OnDoc.UIControls
System . Data . DataTable dt = sb . dsempfaenger . Tables [ 0 ] ;
System . Data . DataTable dt = sb . dsempfaenger . Tables [ 0 ] ;
var records = sfDataGridEmpfaenger . View . GetSelectedRecords ( ) ;
var records = sfDataGridEmpfaenger . View . GetSelectedRecords ( ) ;
if ( records . Count < 1 ) { return ; }
if ( records . Count < 1 ) { return ; }
int [ ] inteintraege = new int [ records . Count ] ;
int [ ] inteintraege = new int [ records . Count ] ;
int i = 0 ;
int i = 0 ;
@ -1456,11 +1482,11 @@ namespace OnDoc.UIControls
string documentid = datarow [ "dokumentid" ] . ToString ( ) ;
string documentid = datarow [ "dokumentid" ] . ToString ( ) ;
inteintraege [ i ] = Convert . ToInt32 ( datarow [ "inteintragnr" ] . ToString ( ) ) ;
inteintraege [ i ] = Convert . ToInt32 ( datarow [ "inteintragnr" ] . ToString ( ) ) ;
i = i + 1 ;
i = i + 1 ;
}
}
for ( int i1 = 0 ; i1 < i ; i1 + + )
for ( int i1 = 0 ; i1 < i ; i1 + + )
{
{
System . Data . DataRow dr = sb . dsempfaenger . Tables [ 0 ] . Select ( "inteintragnr='" + inteintraege [ i1 ] . ToString ( ) + "'" ) . FirstOrDefault ( ) ; // finds all rows with id==2 and selects first or null if haven't found any
System . Data . DataRow dr = sb . dsempfaenger . Tables [ 0 ] . Select ( "inteintragnr='" + inteintraege [ i1 ] . ToString ( ) + "'" ) . FirstOrDefault ( ) ; // finds all rows with id==2 and selects first or null if haven't found any
if ( dr ! = null )
if ( dr ! = null )
{
{
dr [ "status" ] = "0" ; //changes the Product_name
dr [ "status" ] = "0" ; //changes the Product_name
@ -1469,5 +1495,6 @@ namespace OnDoc.UIControls
refresh_empfaenger ( sb . dsempfaenger . Tables [ 0 ] ) ;
refresh_empfaenger ( sb . dsempfaenger . Tables [ 0 ] ) ;
}
}
}
}
}
}