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}"); } } } } }
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.) }