예제 #1
0
        /// <summary>kiszedi az első _Limit eredményt, meghívja rájuk a NyomtatOklevelVersenyVersenyzo fgv-t </summary>
        static public void NyomtatOklevelVerseny(string _VEAZON, Oklevel _Oklevel, int _Limit)
        {
            List <OKLEVELVERSENYZO> versenyzok = new List <OKLEVELVERSENYZO>( );

            EREDMENYLAPVERSENYTELJES Data = new EREDMENYLAPVERSENYTELJES(_VEAZON);
            Verseny        verseny        = Program.database.Verseny(_VEAZON).Value;
            Versenysorozat?versenysorozat = Program.database.Versenysorozat(verseny.VersenySorozat);

            if (versenysorozat == null)
            {
                versenysorozat = new Versenysorozat( );
            }

            string versenydatum = Program.database.Verseny(_VEAZON).Value.Datum;

            foreach (var test in Data.Ijtipusok)
            {
                foreach (var korosztaly in test.Korosztalyok)
                {
                    if (korosztaly.Egyben == true)
                    {
                        //var indtest = korosztaly.Indulok.Egyben.Take(_Limit).ToList(); //NOTE(mate): nem kell orderby a EREDMENYLAPVERSENYTELJES megcsinálja
                        List <OKLEVELVERSENYZO> ind = (from indulo in korosztaly.Indulok.Egyben
                                                       select new OKLEVELVERSENYZO {
                            Verseny = verseny.Megnevezes,
                            VersenySorozat = versenysorozat.Value.megnevezés,
                            Helyezes = 0,
                            Indulo = indulo.Nev,
                            Egyesulet = indulo.Egyesulet,
                            Ijtipus = test.Megnevezes,
                            Korosztaly = korosztaly.Megnevezes,
                            InduloNeme = indulo.Nem,
                            Datum = versenydatum
                        }).Take(_Limit).ToList( );
                        var q = ind.ToArray( );

                        for (int i = 0; i < q.Count( ); ++i)
                        {
                            q[i].Helyezes = i + 1;
                        }

                        versenyzok.AddRange(q.ToList( ));
                    }
                    else
                    {
                        List <OKLEVELVERSENYZO> ind = (from indulo in korosztaly.Indulok.Nok
                                                       select new OKLEVELVERSENYZO {
                            Verseny = verseny.Megnevezes,
                            VersenySorozat = versenysorozat.Value.megnevezés,
                            Helyezes = 0,
                            Indulo = indulo.Nev,
                            Egyesulet = indulo.Egyesulet,
                            Ijtipus = test.Megnevezes,
                            Korosztaly = korosztaly.Megnevezes,
                            InduloNeme = indulo.Nem,
                            Datum = versenydatum
                        }).Take(_Limit).ToList( );
                        var q = ind.ToArray( );

                        for (int i = 0; i < q.Count( ); ++i)
                        {
                            q[i].Helyezes = i + 1;
                        }
                        versenyzok.AddRange(q.ToList( ));
                        ind = null;
                        ind = (from indulo in korosztaly.Indulok.Ferfiak
                               select new OKLEVELVERSENYZO {
                            Verseny = verseny.Megnevezes,
                            VersenySorozat = versenysorozat.Value.megnevezés,
                            Helyezes = 0,
                            Indulo = indulo.Nev,
                            Egyesulet = indulo.Egyesulet,
                            Ijtipus = test.Megnevezes,
                            Korosztaly = korosztaly.Megnevezes,
                            InduloNeme = indulo.Nem,
                            Datum = versenydatum
                        }).Take(_Limit).ToList( );
                        q = ind.ToArray( );

                        for (int i = 0; i < q.Count( ); ++i)
                        {
                            q[i].Helyezes = i + 1;
                        }
                        versenyzok.AddRange(q.ToList( ));
                    }
                }
            }

            string path = Data.VersenyAdatok.VSAZON != null ? Data.VersenyAdatok.VSAZON + "/" + Data.VersenyAdatok.VEAZON + "/" + "Oklevelek" : Data.VersenyAdatok.VEAZON + "/" + "Oklevelek";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            foreach (var oklevelversenyzo in versenyzok)
            {
                NyomtatOklevelVersenyVersenyzo(_Oklevel, oklevelversenyzo, path);
            }
        }
예제 #2
0
        NyomtatEredmenylapVersenyTeljes(string _VEAZON)
        {
            string filename = null;

            EREDMENYLAPVERSENYTELJES Data = new EREDMENYLAPVERSENYTELJES(_VEAZON);

            #region alap stringek
            string headline      = "EREDMÉNYLAP";
            string típus         = "***TELJES***";
            string st_vazon_vnev = "Verseny azonosítója, neve: ";
            string st_ido        = "Verseny ideje: ";
            string st_vosszp     = "Verseny összpontszáma: ";
            string st_insz       = "Indulók száma: ";
            string st_vsorazon   = "Versenysorozat azonosítója, neve: ";
            #endregion

            if (Data.VersenyAdatok.VSAZON != null)
            {
                filename = Data.VersenyAdatok.VSAZON + "\\" + _VEAZON + "\\" + "ERLAPVETELJ.docx";
            }
            else
            {
                filename = _VEAZON + "\\" + "ERLAPVETELJ.docx";
            }
            var document = DocX.Create(filename);
            document.AddHeaders( );
            document.MarginBottom = 10;
            PageNumber(document);
            #region header

            var titleFormat = new Formatting();
            titleFormat.Size     = 14D;
            titleFormat.Position = 1;
            titleFormat.Spacing  = 5;
            titleFormat.Bold     = true;

            Header header = document.Headers.odd;

            Paragraph title = header.InsertParagraph();
            title.Append(headline);
            title.AppendLine(típus);
            title.Alignment = Alignment.center;

            titleFormat.Size = 10D;
            title.AppendLine(Program.Tulajdonos_Megnevezés);
            title.Bold( );
            titleFormat.Position = 12;
            #endregion

            var titleFormat2 = new Formatting();
            titleFormat2.Size     = 10D;
            titleFormat2.Position = 1;

            Paragraph paragraph_1 = header.InsertParagraph();
            paragraph_1.AppendLine(st_vazon_vnev);

            paragraph_1.Append(_VEAZON + "," + Data.VersenyAdatok.VEMEGN);
            paragraph_1.Bold( );
            titleFormat2.Bold = false;
            paragraph_1.Append("\n" + st_ido);
            paragraph_1.Append(Data.VersenyAdatok.VEDATU);
            paragraph_1.Bold( );
            paragraph_1.Append("\t" + st_vosszp);
            paragraph_1.Append((Data.VersenyAdatok.VEOSPO * 10).ToString( ));
            paragraph_1.Bold( );
            paragraph_1.Append("\t" + st_insz);
            paragraph_1.Append(Data.VersenyAdatok.VEINSZ.ToString( ));
            paragraph_1.Bold( );
            paragraph_1.Append("\n" + st_vsorazon);
            paragraph_1.Append(Data.VersenyAdatok.VSAZON + "," + Data.VersenyAdatok.VSMEGN);
            paragraph_1.Bold( );
            paragraph_1.AppendLine( );

            for (int i = 0; i < Data.Ijtipusok.Count; i++)
            {
                Table table = null;
                for (int j = 0; j < Data.Ijtipusok[i].Korosztalyok.Count; j++)
                {
                    if (Data.Ijtipusok[i].Korosztalyok[j].Indulok.Ferfiak.Count != 0 ||
                        Data.Ijtipusok[i].Korosztalyok[j].Indulok.Nok.Count != 0 ||
                        Data.Ijtipusok[i].Korosztalyok[j].Indulok.Egyben.Count != 0)
                    {
                        Paragraph adatok = document.InsertParagraph( );
                        adatok.Append("Ijtipusok: ");
                        adatok.Append(Data.Ijtipusok[i].Megnevezes);
                        adatok.Bold( );
                        adatok.AppendLine("    Korosztály: ");
                        adatok.Append(Data.Ijtipusok[i].Korosztalyok[j].Megnevezes);
                        adatok.Bold( );

                        if (Data.Ijtipusok[i].Korosztalyok[j].Indulok.Nok.Count != 0)
                        {
                            Paragraph np = document.InsertParagraph( );
                            np.Append("      Nők: ");
                            np.Bold( );
                        }

                        for (int k = 0; k < Data.Ijtipusok[i].Korosztalyok[j].Indulok.Nok.Count; k++)
                        {
                            table = document.AddTable(1, 7);
                            table.Rows[0].Cells[1].Paragraphs[0].Append((k + 1) + ".");
                            table.Rows[0].Cells[2].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Nok[k].Sorszam.ToString( ));
                            table.Rows[0].Cells[3].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Nok[k].Nev);
                            table.Rows[0].Cells[4].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Nok[k].Egyesulet);
                            table.Rows[0].Cells[5].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Nok[k].OsszPont.ToString( ) + " pont");
                            table.Rows[0].Cells[6].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Nok[k].Szazalek.ToString( ) + " %");
                            EredmenyLapVersenyTablazatFormazas(table);

                            document.InsertTable(table);
                        }
                        if (Data.Ijtipusok[i].Korosztalyok[j].Indulok.Ferfiak.Count != 0)
                        {
                            Paragraph fp = document.InsertParagraph( );
                            fp.Append("      Férfiak: ");
                            fp.Bold( );
                        }
                        for (int k = 0; k < Data.Ijtipusok[i].Korosztalyok[j].Indulok.Ferfiak.Count; k++)
                        {
                            table = document.AddTable(1, 7);
                            table.Rows[0].Cells[1].Paragraphs[0].Append((k + 1) + ".");
                            table.Rows[0].Cells[2].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Ferfiak[k].Sorszam.ToString( ));
                            table.Rows[0].Cells[3].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Ferfiak[k].Nev);
                            table.Rows[0].Cells[4].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Ferfiak[k].Egyesulet);
                            table.Rows[0].Cells[5].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Ferfiak[k].OsszPont.ToString( ) + " pont");
                            table.Rows[0].Cells[6].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Ferfiak[k].Szazalek.ToString( ) + " %");
                            EredmenyLapVersenyTablazatFormazas(table);
                            document.InsertTable(table);
                        }
                        if (Data.Ijtipusok[i].Korosztalyok[j].Indulok.Egyben.Count != 0)
                        {
                            Paragraph fp = document.InsertParagraph( );
                            fp.Append("      Egyben: ");
                            fp.Bold( );
                        }
                        for (int k = 0; k < Data.Ijtipusok[i].Korosztalyok[j].Indulok.Egyben.Count; k++)
                        {
                            table = document.AddTable(1, 7);
                            table.Rows[0].Cells[1].Paragraphs[0].Append((k + 1) + ".");
                            table.Rows[0].Cells[2].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Egyben[k].Sorszam.ToString( ));
                            table.Rows[0].Cells[3].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Egyben[k].Nev);
                            table.Rows[0].Cells[4].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Egyben[k].Egyesulet);
                            table.Rows[0].Cells[5].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Egyben[k].OsszPont.ToString( ) + " pont");
                            table.Rows[0].Cells[6].Paragraphs[0].Append(Data.Ijtipusok[i].Korosztalyok[j].Indulok.Egyben[k].Szazalek.ToString( ) + " %");
                            EredmenyLapVersenyTablazatFormazas(table);
                            document.InsertTable(table);
                        }
                    }
                }
            }

            try { document.Save( ); }
            catch (System.Exception) { MessageBox.Show("A dokumentum meg van nyitva!", "ERLAPVETELJ.DOCX", MessageBoxButtons.OK, MessageBoxIcon.Error); }
            return(filename);
        }