KonszignacioRendezes( KONSZIGNACIO _eredeti ) { foreach ( KONSZIGNACIO.GYUMOLCSTIPUS outer in _eredeti.gyumolcstipusok ) { for ( int i = 0 ; i < outer.adat.Count ; i++ ) { for ( int j = 0 ; j < outer.adat.Count ; j++ ) { if ( Convert.ToInt32( outer.adat[ i ].Hordo ) < Convert.ToInt32( outer.adat[ j ].Hordo ) ) { KONSZIGNACIO.GYUMOLCSTIPUS.ADAT temp = new KONSZIGNACIO.GYUMOLCSTIPUS.ADAT( ); temp = outer.adat[ i ]; outer.adat[ i ] = outer.adat[ j ]; outer.adat[ j ] = temp; } } } } }
Konszignacio( KONSZIGNACIOSZALLITOLEVEL _szállítólevél, List<FOGLALAS> _foglalások ) { regex = new Regex( @"[ ]{2,}", RegexOptions.None ); KONSZIGNACIO Konszignacio = new KONSZIGNACIO( ); Konszignacio.fejlec = new KONSZIGNACIO.FEJLEC( ); Konszignacio.fejlec.felado = new KONSZIGNACIO.FEJLEC.FELADO( "Marillen Gyümölcsfeldolgozó Kft", "Kiskunfélegyháza, VIII. kerület 99/A" ); Konszignacio.fejlec.vevo = Program.database.Konszignáció_Vevő( _szállítólevél.Vevo ); Konszignacio.fejlec.szallitolevel = new KONSZIGNACIO.FEJLEC.SZALLITOLEVEL( _szállítólevél ); Konszignacio.gyumolcstipusok = new List<KONSZIGNACIO.GYUMOLCSTIPUS>( ); double összes_súly = 0; foreach ( FOGLALAS foglalás_iterator in _foglalások ) { összes_súly = 0; List<HORDO> hordók = Program.database.Konszignáció_Hordók( foglalás_iterator.ID ); List<string> hordó_termékkódok = new List<string>( ); for ( int i = 0 ; i < hordók.Count ; i++ ) { bool found = false; for ( int j = 0 ; j < hordó_termékkódok.Count ; j++ ) { if ( hordók[ i ].Termekkod == hordó_termékkódok[ j ] ) { found = true; break; } } if ( !found ) hordó_termékkódok.Add( hordók[ i ].Termekkod ); } foreach ( string item in hordó_termékkódok ) { bool found = false; KONSZIGNACIO.GYUMOLCSTIPUS temp = Program.database.Konszignáció_Gyümölcstípus( item ); foreach ( KONSZIGNACIO.GYUMOLCSTIPUS gyitem in Konszignacio.gyumolcstipusok ) { if ( temp.Megnevezes == gyitem.Megnevezes && temp.VTSZ == gyitem.VTSZ ) { found = true; } } if ( !found ) { Konszignacio.gyumolcstipusok.Add( Program.database.Konszignáció_Gyümölcstípus( item ) ); } } for ( int i = 0 ; i < Konszignacio.gyumolcstipusok.Count ; i++ ) { foreach ( HORDO inner in hordók ) { if ( Konszignacio.gyumolcstipusok[ i ].Megnevezes == Program.database.Name( inner.Termekkod ) ) { KONSZIGNACIO.GYUMOLCSTIPUS.ADAT temp; if (inner.GyartasiEv.Length == 1) { temp = new KONSZIGNACIO.GYUMOLCSTIPUS.ADAT(inner.GyartasiEv + inner.ID, inner.Sarzs, Convert.ToDouble(inner.Mennyiseg), "", inner.Time.Substring(0, 11)); } else { temp = new KONSZIGNACIO.GYUMOLCSTIPUS.ADAT(inner.GyartasiEv[3] + inner.ID, inner.Sarzs, Convert.ToDouble(inner.Mennyiseg), "", inner.Time.Substring(0, 11)); } List<Vizsgálat.Azonosító> vizsgálatok = Program.database.Vizsgálatok( ); foreach ( Vizsgálat.Azonosító item in vizsgálatok ) { if ( item.termékkód == inner.Termekkod && item.sarzs == inner.Sarzs ) { temp.HordoTipus = item.hordótípus; } } Konszignacio.gyumolcstipusok[ i ].adat.Add( temp ); KONSZIGNACIO.GYUMOLCSTIPUS tempgy = Konszignacio.gyumolcstipusok[ i ]; tempgy.OsszSuly += temp.NettoSuly; Konszignacio.gyumolcstipusok[ i ] = tempgy; } } } } string filename = ( Settings.save_directory == null ) ? "Listák//" + _szállítólevél.Szallitolevel + ".docx" : Settings.save_directory + "//" + _szállítólevél.Szallitolevel + ".docx"; if ( _szállítólevél.Szallitolevel.Contains( '/' ) ) { MessageBox.Show( "Nem megengedett karakter a szállítólevél mezőben", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Warning ); return; } var document = DocX.Create( filename ); document.DifferentFirstPage = true; document.AddHeaders( ); document.MarginLeft = 40; //BN document.MarginRight = 40; //BN document.MarginTop = 40; //BN var titleFormat = new Formatting { Size = 14D, Position = 1, Spacing = 5, Bold = true }; Header FirstPageHeader = document.Headers.first; Paragraph HeaderParagraph = FirstPageHeader.InsertParagraph( "Konszignáció\n", false, titleFormat ); //BN HeaderParagraph.Alignment = Alignment.center; HeaderParagraph.Bold( ); titleFormat.Position = 12; #region Fejléc Table table_fejléc = document.AddTable( 2, 4 ); table_fejléc.Alignment = Alignment.left; table_fejléc.Rows[ 0 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "Vevő:" ).Bold( ); table_fejléc.Rows[ 1 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "Gépkocsi:" ).Bold( ); table_fejléc.Rows[ 0 ].Cells[ 2 ].Paragraphs[ 0 ].Append( "Feladó:" ).Bold( ); table_fejléc.Rows[ 1 ].Cells[ 2 ].Paragraphs[ 0 ].Append( "Dátum:" ).Bold( ); table_fejléc.Rows[ 1 ].Cells[ 3 ].Paragraphs[ 0 ].Append( Konszignacio.fejlec.szallitolevel.Datum + " " ); table_fejléc.Rows[ 1 ].Cells[ 3 ].Paragraphs[ 0 ].Append( "Szállítólevél:" ).Bold( ); table_fejléc.Rows[ 1 ].Cells[ 3 ].Paragraphs[ 0 ].Append( " " + Konszignacio.fejlec.szallitolevel.Szoveg ); table_fejléc.Rows[ 0 ].Cells[ 1 ].Paragraphs[ 0 ].Append( Konszignacio.fejlec.vevo.Nev ); table_fejléc.Rows[ 0 ].Cells[ 1 ].Paragraphs[ 0 ].AppendLine( Konszignacio.fejlec.vevo.Varos ); table_fejléc.Rows[ 0 ].Cells[ 1 ].Paragraphs[ 0 ].AppendLine( Konszignacio.fejlec.vevo.Cim + " " + Konszignacio.fejlec.vevo.HazSzam ); table_fejléc.Rows[ 1 ].Cells[ 1 ].Paragraphs[ 0 ].Append( Konszignacio.fejlec.szallitolevel.Rendszamok[ 0 ] ); table_fejléc.Rows[ 1 ].Cells[ 1 ].Paragraphs[ 0 ].Append( " " + Konszignacio.fejlec.szallitolevel.Rendszamok[ 1 ] ); table_fejléc.Rows[ 0 ].Cells[ 3 ].Paragraphs[ 0 ].Append( Konszignacio.fejlec.felado.Nev ); table_fejléc.Rows[ 0 ].Cells[ 3 ].Paragraphs[ 0 ].AppendLine( Konszignacio.fejlec.felado.Cim ); KonszignacioFejlecTablazatFormazas( table_fejléc ); FirstPageHeader.InsertTable( table_fejléc ); #endregion #region HeaderTable Header TablazatFejlec = document.Headers.odd; Table HeaderTable = document.AddTable( 1, 7 ); HeaderTable.AutoFit = AutoFit.ColumnWidth; HeaderTable.Rows[ 0 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "S.Sz." ).Bold( ); HeaderTable.Rows[ 0 ].Cells[ 1 ].Paragraphs[ 0 ].Append( "Megnevezés" ).Bold( ); HeaderTable.Rows[ 0 ].Cells[ 2 ].Paragraphs[ 0 ].Append( "Hordó" ).Bold( ); HeaderTable.Rows[ 0 ].Cells[ 3 ].Paragraphs[ 0 ].Append( "Sarzs" ).Bold( ); HeaderTable.Rows[ 0 ].Cells[ 4 ].Paragraphs[ 0 ].Append( "Nettó súly" ).Bold( ); HeaderTable.Rows[ 0 ].Cells[ 5 ].Paragraphs[ 0 ].Append( "Hordó típus" ).Bold( ); HeaderTable.Rows[ 0 ].Cells[ 6 ].Paragraphs[ 0 ].Append( "Gyártás dátum" ).Bold( ); KonszignacioDataTableFormazas( HeaderTable ); TablazatFejlec.InsertTable( HeaderTable ); #endregion #region Data_Table Paragraph paragraph_data_table = document.InsertParagraph( ); Table data_table = document.AddTable( 1, 7 ); data_table.AutoFit = AutoFit.ColumnWidth; data_table.Rows[ 0 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "S.Sz." ).Bold( ); data_table.Rows[ 0 ].Cells[ 1 ].Paragraphs[ 0 ].Append( "Megnevezés" ).Bold( ); data_table.Rows[ 0 ].Cells[ 2 ].Paragraphs[ 0 ].Append( "Hordó" ).Bold( ); data_table.Rows[ 0 ].Cells[ 3 ].Paragraphs[ 0 ].Append( "Sarzs" ).Bold( ); data_table.Rows[ 0 ].Cells[ 4 ].Paragraphs[ 0 ].Append( "Nettó súly" ).Bold( ); data_table.Rows[ 0 ].Cells[ 5 ].Paragraphs[ 0 ].Append( "Hordó típus" ).Bold( ); data_table.Rows[ 0 ].Cells[ 6 ].Paragraphs[ 0 ].Append( "Gyártás dátum" ).Bold( ); int c = 1; int sorszám = 1; KonszignacioRendezes( Konszignacio ); foreach ( KONSZIGNACIO.GYUMOLCSTIPUS outer in Konszignacio.gyumolcstipusok ) { string temp = regex.Replace( outer.Megnevezes, @" " ); foreach ( KONSZIGNACIO.GYUMOLCSTIPUS.ADAT inner in outer.adat ) { data_table.InsertRow( ); data_table.Rows[ c ].Cells[ 0 ].Paragraphs[ 0 ].Append( sorszám.ToString( ) + '.' ); sorszám++; data_table.Rows[ c ].Cells[ 1 ].Paragraphs[ 0 ].Append( temp ); data_table.Rows[ c ].Cells[ 2 ].Paragraphs[ 0 ].Append( inner.Hordo ); data_table.Rows[ c ].Cells[ 3 ].Paragraphs[ 0 ].Append( inner.Sarzs ); data_table.Rows[ c ].Cells[ 4 ].Paragraphs[ 0 ].Append( inner.NettoSuly + " kg" ); data_table.Rows[ c ].Cells[ 5 ].Paragraphs[ 0 ].Append( inner.HordoTipus ); data_table.Rows[ c ].Cells[ 6 ].Paragraphs[ 0 ].Append( inner.GyartasDatum ); c++; } data_table.InsertRow( ); data_table.InsertRow( ); data_table.Rows[ c ].Cells[ 1 ].Paragraphs[ 0 ].Append( temp + "összesen:" ).Bold( ); data_table.Rows[ c ].Cells[ 4 ].Paragraphs[ 0 ].Append( outer.OsszSuly + " kg" ).Bold( ); összes_súly += outer.OsszSuly; data_table.Rows[ c ].Cells[ 5 ].Paragraphs[ 0 ].Append( " VTSZ:" ).Bold( ); //BN data_table.Rows[ c ].Cells[ 6 ].Paragraphs[ 0 ].Append( outer.VTSZ ).Bold( ); c += 2; } data_table.InsertRow( ); data_table.Rows[ c ].Cells[ 1 ].Paragraphs[ 0 ].Append( "Összes elszállítás:" ).Bold( ); data_table.Rows[ c ].Cells[ 4 ].Paragraphs[ 0 ].Append( összes_súly + " kg" ).Bold( ); for ( int i = 0 ; i < data_table.Rows.Count ; ++i ) { data_table.Rows[ i ].Cells[ 3 ].Paragraphs[ 0 ].Alignment = Alignment.center; //sarzs -BN data_table.Rows[ i ].Cells[ 4 ].Paragraphs[ 0 ].Alignment = Alignment.center; //súly -BN data_table.Rows[ i ].Cells[ 6 ].Paragraphs[ 0 ].Alignment = Alignment.center; //dátum } KonszignacioDataTableFormazas( data_table ); document.InsertTable( data_table ); #endregion try { document.Save( ); } catch ( Exception ) { MessageBox.Show( "A dokumentum meg van nyitva!" ); } }