예제 #1
0
        internal protected static void InsertSCtoRevision(GenRevizeCust gen, List <CalculatedSCForRevision> list)
        {
            foreach (var item in list)
            {
                RevizeSC RSC1 = new RevizeSC();
                RevizeSC RSC2 = new RevizeSC();
                if (item.NextRevize <= gen.Dnyrevize.PoslednidenobdobiR1)
                {
                    RSC1.RevizeId    = gen.Revize1.Id;
                    RSC1.SCProvozuId = item.SCProvozuId;
                    RSC1.UmisteniId  = item.UmisteniId;
                    if (item.NextBaterie <= gen.Dnyrevize.PoslednidenobdobiR1)
                    {
                        RSC1.Baterie = true;
                    }
                    else
                    {
                        RSC1.Baterie = false;
                    }
                    if (item.NextPyro <= gen.Dnyrevize.PoslednidenobdobiR1)
                    {
                        RSC1.Pyro = true;
                    }
                    else
                    {
                        RSC1.Pyro = false;
                    }
                    if (item.NextTlkZk <= gen.Dnyrevize.PoslednidenobdobiR1)
                    {
                        RSC1.TlakovaZkouska = true;
                    }
                    else
                    {
                        RSC1.TlakovaZkouska = false;
                    }

                    if (item.VnitrniRevizeTlakoveNadoby <= gen.Dnyrevize.PoslednidenobdobiR1)
                    {
                        RSC1.VnitrniRevizeTlakoveNadoby = true;
                    }
                    else
                    {
                        RSC1.VnitrniRevizeTlakoveNadoby = false;
                    }

                    if ((item.RevizeTlakoveNadoby <= gen.Dnyrevize.PoslednidenobdobiR1) && (RSC1.VnitrniRevizeTlakoveNadoby != true))
                    {
                        RSC1.RevizeTlakoveNadoby = true;
                    }
                    else
                    {
                        RSC1.RevizeTlakoveNadoby = false;
                    }
                }
                if (item.NextRevize >= gen.Dnyrevize.PrvnidenobdobiR2 && item.NextRevize <= gen.Dnyrevize.PoslednidenobdobiR2)
                {
                    RSC2.RevizeId    = gen.Revize2.Id;
                    RSC2.SCProvozuId = item.SCProvozuId;
                    RSC2.UmisteniId  = item.UmisteniId;
                    if (item.NextBaterie >= gen.Dnyrevize.PrvnidenobdobiR2 && item.NextBaterie <= gen.Dnyrevize.PoslednidenobdobiR2)
                    {
                        RSC2.Baterie = true;
                    }
                    else
                    {
                        RSC2.Baterie = false;
                    }
                    if (item.NextPyro >= gen.Dnyrevize.PrvnidenobdobiR2 && item.NextPyro <= gen.Dnyrevize.PoslednidenobdobiR2)
                    {
                        RSC2.Pyro = true;
                    }
                    else
                    {
                        RSC2.Pyro = false;
                    }
                    if (item.NextTlkZk >= gen.Dnyrevize.PrvnidenobdobiR2 && item.NextTlkZk <= gen.Dnyrevize.PoslednidenobdobiR2)
                    {
                        RSC2.TlakovaZkouska = true;
                    }
                    else
                    {
                        RSC2.TlakovaZkouska = false;
                    }

                    if (item.VnitrniRevizeTlakoveNadoby >= gen.Dnyrevize.PrvnidenobdobiR2 && item.VnitrniRevizeTlakoveNadoby <= gen.Dnyrevize.PoslednidenobdobiR2)
                    {
                        RSC2.VnitrniRevizeTlakoveNadoby = true;
                    }
                    else
                    {
                        RSC2.VnitrniRevizeTlakoveNadoby = false;
                    }

                    if ((item.RevizeTlakoveNadoby >= gen.Dnyrevize.PrvnidenobdobiR2 && item.RevizeTlakoveNadoby <= gen.Dnyrevize.PoslednidenobdobiR2) && RSC2.VnitrniRevizeTlakoveNadoby != true)
                    {
                        RSC2.RevizeTlakoveNadoby = true;
                    }
                    else
                    {
                        RSC2.RevizeTlakoveNadoby = false;
                    }
                }

                if (item.Next2Revize <= gen.Dnyrevize.PoslednidenobdobiR2)
                {
                    RSC2.RevizeId    = gen.Revize2.Id;
                    RSC2.SCProvozuId = item.SCProvozuId;
                    RSC2.UmisteniId  = item.UmisteniId;
                    if (item.NextBaterie >= gen.Dnyrevize.PrvnidenobdobiR2 && item.NextBaterie <= gen.Dnyrevize.PoslednidenobdobiR2)
                    {
                        RSC2.Baterie = true;
                    }
                    else
                    {
                        RSC2.Baterie = false;
                    }
                    if (item.NextPyro >= gen.Dnyrevize.PrvnidenobdobiR2 && item.NextPyro <= gen.Dnyrevize.PoslednidenobdobiR2)
                    {
                        RSC2.Pyro = true;
                    }
                    else
                    {
                        RSC2.Pyro = false;
                    }
                    if (item.NextTlkZk >= gen.Dnyrevize.PrvnidenobdobiR2 && item.NextTlkZk <= gen.Dnyrevize.PoslednidenobdobiR2)
                    {
                        RSC2.TlakovaZkouska = true;
                    }
                    else
                    {
                        RSC2.TlakovaZkouska = false;
                    }

                    if (item.VnitrniRevizeTlakoveNadoby >= gen.Dnyrevize.PrvnidenobdobiR2 && item.VnitrniRevizeTlakoveNadoby <= gen.Dnyrevize.PoslednidenobdobiR2)
                    {
                        RSC2.VnitrniRevizeTlakoveNadoby = true;
                    }
                    else
                    {
                        RSC2.VnitrniRevizeTlakoveNadoby = false;
                    }

                    if ((item.RevizeTlakoveNadoby >= gen.Dnyrevize.PrvnidenobdobiR2 && item.RevizeTlakoveNadoby <= gen.Dnyrevize.PoslednidenobdobiR2) && RSC2.VnitrniRevizeTlakoveNadoby != true)
                    {
                        RSC2.RevizeTlakoveNadoby = true;
                    }
                    else
                    {
                        RSC2.RevizeTlakoveNadoby = false;
                    }
                }
                using (var dbCtx = new Model1Container())
                {
                    if (RSC1.RevizeId != 0)
                    {
                        try
                        {
                            RSC1.Stav = true;
                            dbCtx.RevizeSC.Add(RSC1);
                            dbCtx.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            log.Error($"InsertSCtoRevision - insert REVIZESC do Revize1 {ex.Message} {ex.InnerException} {ex.Data}");
                        }
                    }

                    if (RSC2.RevizeId != 0)
                    {
                        try
                        {
                            RSC2.Stav = true;
                            dbCtx.RevizeSC.Add(RSC2);
                            dbCtx.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            log.Error($"InsertSCtoRevision - insert REVIZESC do Revize2 {ex.Message} {ex.InnerException} {ex.Data}");
                        }
                    }
                }
            }
        }
예제 #2
0
        internal protected static void GenerujRevizi(int ZakaznikId, int ProvozId, int Rok, int?UmisteniId, string Nabidka, string Projekt)
        {
            bool existrevize1;
            bool existrevize2;


            GenRevizeCust gen       = new GenRevizeCust();
            DnyRevize     dnyRevize = MinimalniDatum(ZakaznikId, ProvozId, Rok, UmisteniId);

            gen.Dnyrevize = dnyRevize;


            // REVIZE1
            if ((UmisteniId != null) && (UmisteniId != 0))
            {
                existrevize1 = Revize.ExistRevision(ZakaznikId, ProvozId, Rok, 1, UmisteniId);
                if (existrevize1 == true)
                {
                    //prirazeni revize do modelu
                    gen.Revize1 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 1, UmisteniId, null);
                }
                else
                {
                    gen.Dnyrevize.PrvnidenobdobiR1    = Prvnidenobdobi(Rok, 1);
                    gen.Dnyrevize.PoslednidenobdobiR1 = Poslednidenobdobi(Rok, 1);
                    gen.Dnyrevize.PrvnidenobdobiR2    = Prvnidenobdobi(Rok, 2);
                    gen.Dnyrevize.PoslednidenobdobiR2 = Poslednidenobdobi(Rok, 2);
                    // Prvni revize v obdobi
                    if (
                        (dnyRevize.DenRevize1 >= gen.Dnyrevize.PrvnidenobdobiR1)
                        &&
                        (dnyRevize.DenRevize1 <= gen.Dnyrevize.PoslednidenobdobiR1)
                        )
                    {
                        gen.Revize1 = Revize.GenerateRevision(ProvozId, Rok, 1, dnyRevize.DenRevize1, 1, UmisteniId, Nabidka, Projekt);
                    }
                    // prvni revize pred obdobim
                    if (
                        (dnyRevize.DenRevize1 < gen.Dnyrevize.PrvnidenobdobiR1)

                        )
                    {
                        gen.Revize1 = Revize.GenerateRevision(ProvozId, Rok, 1, gen.Dnyrevize.PrvnidenobdobiR1, 1, UmisteniId, Nabidka, Projekt);
                    }
                    // prvni revize v druhem pololeti vygeneruje se jako revize 2
                    if (
                        (dnyRevize.DenRevize1 >= gen.Dnyrevize.PrvnidenobdobiR2)
                        &&
                        (dnyRevize.DenRevize1 <= gen.Dnyrevize.PoslednidenobdobiR2)

                        )
                    {
                        gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, dnyRevize.DenRevize1, 1, UmisteniId, Nabidka, Projekt);
                    }
                }
            }
            else
            {
                existrevize1 = Revize.ExistRevision(ZakaznikId, ProvozId, Rok, 1, null);

                if (existrevize1 == true)
                {
                    //prirazeni revize do modelu
                    gen.Revize1 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 1, null, null);
                }
                else
                {
                    gen.Dnyrevize.PrvnidenobdobiR1    = Prvnidenobdobi(Rok, 1);
                    gen.Dnyrevize.PoslednidenobdobiR1 = Poslednidenobdobi(Rok, 1);
                    gen.Dnyrevize.PrvnidenobdobiR2    = Prvnidenobdobi(Rok, 2);
                    gen.Dnyrevize.PoslednidenobdobiR2 = Poslednidenobdobi(Rok, 2);

                    // Prvni revize v obdobi
                    if (
                        (dnyRevize.DenRevize1 >= gen.Dnyrevize.PrvnidenobdobiR1)
                        &&
                        (dnyRevize.DenRevize1 <= gen.Dnyrevize.PoslednidenobdobiR1)
                        )
                    {
                        gen.Revize1 = Revize.GenerateRevision(ProvozId, Rok, 1, dnyRevize.DenRevize1, 1, null, Nabidka, Projekt);
                    }
                    // prvni revize pred obdobim
                    if (
                        (dnyRevize.DenRevize1 < gen.Dnyrevize.PrvnidenobdobiR1)

                        )
                    {
                        gen.Revize1 = Revize.GenerateRevision(ProvozId, Rok, 1, gen.Dnyrevize.PrvnidenobdobiR1, 1, null, Nabidka, Projekt);
                    }
                    // prvni revize v druhem pololeti vygeneruje se jako revize 2
                    if (
                        (dnyRevize.DenRevize1 >= gen.Dnyrevize.PrvnidenobdobiR2)
                        &&
                        (dnyRevize.DenRevize1 <= gen.Dnyrevize.PoslednidenobdobiR2)
                        )
                    {
                        gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, dnyRevize.DenRevize1, 1, null, Nabidka, Projekt);
                    }
                }
            }
            // REVIZE2
            if ((UmisteniId != null) && (UmisteniId != 0))
            {
                existrevize2 = Revize.ExistRevision(ZakaznikId, ProvozId, Rok, 2, UmisteniId);
                if (existrevize2 == true)
                {
                    //prirazeni revize do modelu
                    gen.Revize2 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 2, UmisteniId, null);
                }
                else
                {
                    gen.Dnyrevize.PrvnidenobdobiR2    = Prvnidenobdobi(Rok, 2);
                    gen.Dnyrevize.PoslednidenobdobiR2 = Poslednidenobdobi(Rok, 2);
                    // druha revize v obdobi
                    if (
                        (dnyRevize.DenRevize2 >= gen.Dnyrevize.PrvnidenobdobiR2)
                        &&
                        (dnyRevize.DenRevize2 <= gen.Dnyrevize.PoslednidenobdobiR2)
                        )
                    {
                        gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, dnyRevize.DenRevize2, 1, UmisteniId, Nabidka, Projekt);
                    }
                    // druha revize pred obdobim
                    if (
                        (dnyRevize.DenRevize2 < gen.Dnyrevize.PrvnidenobdobiR2)

                        )
                    {
                        gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, gen.Dnyrevize.PrvnidenobdobiR2, 1, UmisteniId, Nabidka, Projekt);
                    }
                }
            }
            else
            {
                existrevize2 = Revize.ExistRevision(ZakaznikId, ProvozId, Rok, 2, null);

                if (existrevize2 == true)
                {
                    //prirazeni revize do modelu
                    gen.Revize2 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 2, null, null);
                }
                else
                {
                    gen.Dnyrevize.PrvnidenobdobiR2    = Prvnidenobdobi(Rok, 2);
                    gen.Dnyrevize.PoslednidenobdobiR2 = Poslednidenobdobi(Rok, 2);

                    // druha revize v obdobi
                    if (
                        (dnyRevize.DenRevize2 >= gen.Dnyrevize.PrvnidenobdobiR2)
                        &&
                        (dnyRevize.DenRevize2 <= gen.Dnyrevize.PoslednidenobdobiR2)
                        )
                    {
                        gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, dnyRevize.DenRevize2, 1, null, Nabidka, Projekt);
                    }
                    // druha revize pred obdobim
                    if (
                        (dnyRevize.DenRevize2 < gen.Dnyrevize.PrvnidenobdobiR2)

                        )
                    {
                        gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, gen.Dnyrevize.PrvnidenobdobiR2, 1, null, Nabidka, Projekt);
                    }
                }
            }

            List <CalculatedSCForRevision> list = Calculatescfrorevision(ZakaznikId, ProvozId, UmisteniId);

            InsertSCtoRevision(gen, list);
            try
            {
                Revize.UpdateRevizeHeader(gen.Revize1.Id);
            }
            catch (Exception ex)
            {
                log.Error("Revize1 - update revize header: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException);
            }
            try
            {
                Revize.UpdateRevizeHeader(gen.Revize2.Id);
            }
            catch (Exception ex)
            {
                log.Error("Revize2 - update revize header: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException);
            }
            // na zaklade prvku provozu spocitat kdy by mela byt dalsi revize
            // - pokud v obdobi - spoctene datum ()
            // - pokud starsi vygenerovat k 1.1.daneho roku
            // - pokud do tohoto obdobi nespada tak negenerovat (jenom klapka nema artikly atd.)
        }