Ejemplo n.º 1
0
 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;
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
        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!" ); }
        }