Пример #1
0
        /// <summary>
        /// 
        /// </summary>
        public override void AltalanosInit()
        {
            DataRow row = null;
            string maxev = "";
            if (!FakUserInterface.EventTilt)
            {
                if (TablainfoTag.Tablainfo.InputColumns.Count < 33)
                {
                    this.Visible = false;
                    Parameterez.Visible = false;
                    MessageBox.Show("A leirótáblában kevés az input-mezö!");
                    return;
                }
                if (parameterpage == null)
                    parameterpage = (TabPage)Parameterez.tabControl1.Controls[0];
                ArrayList valtozasok = ValtozasLekerdez();
                bool cegvaltozas = ValtozasLekerdez("CegValtozas").Count != 0;
                bool ujtag = UjTag;
                if (valtozasok.Count != 0)
                {
                    FakUserInterface.EventTilt = true;
                    this.Visible = false;
                    FakUserInterface.EventTilt = false;
                }
                if (ujtag || valtozasok.Count != 0 || Valtozas)
                {
                    UjTag = true;
                    base.AltalanosInit();
                    naptarkodtipusinfo = FakUserInterface.GetKodtab("R", "Naptarfajta");
                    napfajtakinfo = FakUserInterface.GetKodtab("R", "NAPFAJTA");
                    kodtipfajtainfo = FakUserInterface.GetOsszef("R", "Naptarkodtipnapfajta");
                    elszevkezdhoinfo = FakUserInterface.GetKodtab("R", "Evkezdet");
                    tanevkezdhoinfo = FakUserInterface.GetKodtab("R", "Tanevkezdet");
                    kodtipkezdhoinfo = FakUserInterface.GetCsoport(Tabinfo.Szint, "Naptarkodtipkezdho");
                    kodtipkezdtanevhoinfo = FakUserInterface.GetCsoport(Tabinfo.Szint, "Naptarkodtiptanevkezdho");
                    szurtnapfajtainfo = FakUserInterface.GetKodtab("R", "Szurtnapfajta");
                    szurtnapfajtainfo.TeljesTorles();
                    kodtipus = Tabinfo.Kodtipus;
                    string kodtipid = FakUserInterface.GetTartal(naptarkodtipusinfo, "SORSZAM", "SZOVEG", kodtipus)[0];
                    string kezdhoid = "";
                    string[] idk = FakUserInterface.GetTartal(kodtipkezdhoinfo, "SORSZAM2", "SORSZAM1", kodtipid);
                    if(idk!=null)
                        kezdhoid = idk[0];
                    if (kezdhoid != "")
                    {
                        idk = FakUserInterface.GetTartal(elszevkezdhoinfo, "KOD", "SORSZAM", kezdhoid);
                        if (idk != null)
                            elszkezdho = Convert.ToInt16(idk[0]);
                    }
                    string tanevkezdhoid = "";
                    idk = FakUserInterface.GetTartal(kodtipkezdtanevhoinfo, "SORSZAM2", "SORSZAM1", kodtipid);
                    if(idk!=null)
                        tanevkezdhoid = idk[0];
                    if (tanevkezdhoid != "")
                    {
                        idk = FakUserInterface.GetTartal(tanevkezdhoinfo, "KOD", "SORSZAM",tanevkezdhoid);
                        if (idk != null)
                            tanevkezdho = Convert.ToInt16(idk[0]);
                    }
                    kodtipfajtainfo.DataView.RowFilter = "SORSZAM1 = " + kodtipid;
                    ArrayList ar = new ArrayList();
                    for (int i = 0; i < kodtipfajtainfo.DataView.Count; i++)
                    {
                        row = kodtipfajtainfo.DataView[i].Row;
                        string napfajtaid = row["SORSZAM2"].ToString();
                        napfajtakinfo.DataView.RowFilter = "SORSZAM = " + napfajtaid;
                        string sorrend = napfajtakinfo.DataView[0].Row["SORREND"].ToString();
                        bool ins = false;
                        for (int j = 0; j < ar.Count; j++)
                        {
                            string egysorr = ar[j].ToString();
                            if (sorrend.CompareTo(egysorr) < 0)
                            {
                                ar.Insert(j, sorrend);
                                ins = true;
                                break;
                            }
                        }
                        if (!ins)
                            ar.Add(sorrend);
                    }
                    for (int i = 0; i < ar.Count; i++)
                    {
                        napfajtakinfo.DataView.RowFilter = "SORREND = " + ar[i].ToString();
                        row = napfajtakinfo.DataView[0].Row;
                        string kod = row["KOD"].ToString();
                        string szov = row["SZOVEG"].ToString();
                        if (i == 0)
                            munkanapkezdobetu = kod;
                        DataRow ujsor = szurtnapfajtainfo.Ujsor();
                        ujsor["KOD"] = kod;
                        ujsor["SZOVEG"] = szov;
                    }
                    
                    kodtipfajtainfo.DataView.RowFilter = "";
                    napfajtakinfo.DataView.RowFilter = "";
                    FakUserInterface.Rogzit(szurtnapfajtainfo);
                }
                Kodidcol=Tabinfo.TablaColumns["KOD_ID"];
                if (elszkezdho != 1)
                    evparamcol = Kodidcol;
                else
                    evparamcol = Tabinfo.TablaColumns["EV"];
                Cols elsonapcol = Tabinfo.TablaColumns["N01"];
                if(ValasztekIndex==-1)
                    ValasztekIndex=0;
                SajatHozferJog = Tabinfo.HozferJog;
                Tabinfo.DataView.RowFilter = "";
                if (SajatHozferJog!=Base.HozferJogosultsag.Irolvas && Tabinfo.DataView.Count == 0)
                {
                    Parameterez.Visible = false;
                    this.Visible = false;
                    FakPlusz.MessageBox.Show("Nincs adat!");
                    return;
                }
                Tablainfo cegszerz = FakUserInterface.GetBySzintPluszTablanev("C", "CEGSZERZODES");
                string indulodatum = "";
                string aktualdatum = "";
                bool vanadat = Tabinfo.DataView.Count != 0;
                if (!Tervezoe)
                {
                    string savfilt = cegszerz.DataView.RowFilter;
                    cegszerz.DataView.RowFilter = "ALKALMAZAS_ID=" + FakUserInterface.AlkalmazasId;
                    row = cegszerz.DataView[0].Row;
                    indulodatum = row["INDULODATUM"].ToString();
                    aktualdatum = row["AKTUALISDATUM"].ToString();
                    maxev = aktualdatum.Substring(0, 4);
                    cegszerz.DataView.RowFilter = savfilt;
                    Datumtol = Convert.ToDateTime(indulodatum);
                    Datumig = Convert.ToDateTime(aktualdatum);
                    Tabinfo.DataView.RowFilter = "KOD_ID = '" + maxev + "'";
                    vanadat = Tabinfo.DataView.Count != 0;
                    Tabinfo.DataView.RowFilter = "";
                }
                if(ujtag || cegvaltozas)
                {
                    if (!vanadat)
                    {
                        Verzioinfok verinf = FakUserInterface.VerzioInfok["R"];
                        if (Tabinfo.Szint=="R")
                        {
                            Datumtol = verinf.AktIntervallum[0];
                            ev = verinf.AktIntervallum[0].Year;
                            Evgyart(ev);
                            vanadat = true;
                        }
                        else
                        {
                            if (FakUserInterface.Alkalmazas == "TERVEZO")
                            {
                                Parameterez.Visible = false;
                                return;
                            }
//                            Tablainfo cegszerz = FakUserInterface.GetBySzintPluszTablanev("C", "CEGSZERZODES");
//                            cegszerz.DataView.RowFilter = "ALKALMAZAS_ID=" + FakUserInterface.AlkalmazasId;
 //                           DataRow row = cegszerz.DataView[0].Row;
                            //Datumtol = Convert.ToDateTime(row["INDULODATUM"].ToString());
                            ev = Convert.ToInt32(maxev);
                            Evgyart(ev);
                            vanadat = true;
                            //if (Muszaknaptar)
                            //{
                            //    muszaknaptarrendben = Muszaknaptargyart(Datumtol);
                            //    if (!muszaknaptarrendben)
                            //    {
                            //        Parameterez.Visible = false;
                            //        return;
                            //    }
                            //}
                        }
                    }
                    string evstring = "";
                    if (vanadat && Tervezoe)
                    {
                        evstring = Tabinfo.DataView[0].Row[evparamcol.ColumnName].ToString();
                        ev = Convert.ToInt32(evstring);
                        Datumtol = Convert.ToDateTime(evstring + ".01.01");
                        Datumig = DateTimePicker.MaximumDateTime;

                        if (SajatHozferJog != Base.HozferJogosultsag.Irolvas)
                        {
                            evstring = Tabinfo.DataView[Tabinfo.DataView.Count - 1].Row[evparamcol.ColumnName].ToString();
                            Datumig = Convert.ToDateTime(evstring + ".01.01");
                            if (SajatHozferJog == Base.HozferJogosultsag.Irolvas)
                                Datumig = Datumig.AddYears(1);
                        }
                        else
                        {
                            
                        }
                    }
                    if (VanValasztek)
                        Parameterez.ValasztekParameterekInit();
                    DateTime[] mindatum = new DateTime[1];
                    DateTime[] maxdatum = new DateTime[1];
                    DateTime[] alapertdatum = new DateTime[1];
                    DateTime[] aktdatum = new DateTime[1];
                    aktdatum[0] = Datumtol;
                    for (int i = 0; i < mindatum.Length; i++)
                    {
                        mindatum[i] = Datumtol;
                        maxdatum[i] = Datumig;
                        alapertdatum[i] = Datumtol;
                    }
                    int savwidth = dataGridView2.Columns[1].Width;

                    DatumParameterezInit(mindatum, maxdatum, alapertdatum, aktdatum);
                    dataGridView2.Columns[1].Width = savwidth;
                }
                ev = Datumtol.Year;
                Parameterez.Visible = true;
                Tabinfo.DataView.RowFilter = evparamcol.ColumnName +"= " + ev.ToString();
                if (SajatHozferJog != Base.HozferJogosultsag.Irolvas)
                {
                    if (Tabinfo.DataView.Count == 0)
                    {
                        Parameterez.Visible = false;
                        FakPlusz.MessageBox.Show("Nincs adat!");
                        return;
                    }
                }
                if (Valtozas)
                {
                    if (Tabinfo.DataView.Count == 0)
                    {
                        Tabinfo.DataView.RowFilter = "";
                        int maxev1 = Convert.ToInt32(Tabinfo.DataView[Tabinfo.DataView.Count - 1].Row[evparamcol.ColumnName].ToString());
                        for (int i = maxev1 + 1; i <= ev; i++)
                            Evgyart(i);
                        Tabinfo.DataView.RowFilter = evparamcol.ColumnName + "=" + ev.ToString();
                    }
                    Tabinfo.Tartalmaktolt();
                    ((Formvezerles)Hivo).terv.WriteLoginfo();
                }
                if (Parameterez.tabControl1.SelectedIndex == 1)
                    this.Visible = true;
                if (this.Visible)
                {
                    for (int i = 0; i < Tabinfo.DataView.Count; i++)
                    {
                        Tempcellini1();
                    }
                }
                if (ujtag || valtozasok.Count != 0 || DatumValtozas || ValasztekValtozas)
                    Tabinfo.ViewSorindex = 0;
                else
                {
                    Tabinfo.Tartalmaktolt();
                    Tabinfo.ViewSorindex = Tabinfo.ViewSorindex;
                }
                if (Valtozas)
                {
                    ValtozasokTorlese();
                    Parameterez.ValtozasokTorlese();
                }
                Inputtablaba();
            }
            else
            {
                UjTag = false;
                ValtozasTorol();
            }
        }