예제 #1
0
        internal protected static RevizeSC CalculateDobuProvozu(RevizeSC revizeSC)
        {
            //revizeSC.HodinyProvozu = 1000;


            return(revizeSC);
        }
예제 #2
0
        internal protected static Revize CloseRevize(int Id)
        {
            Revize          revize       = new Revize();
            RevizeSC        revizesc     = new RevizeSC();
            List <RevizeSC> revizesclist = new List <RevizeSC>();

            using (var dbCtx = new Model1Container())
            {
                revize = dbCtx.Revize.Find(Id);
                revize.StatusRevizeId = dbCtx.StatusRevize.Where(s => s.Realizovana == true).Select(s => s.Id).FirstOrDefault();
                try
                {
                    dbCtx.Entry(revize).State = EntityState.Modified;
                    dbCtx.SaveChanges();
                }
                catch (Exception ex)
                {
                    log.Error($"CloseRevize revize c.{Id} {ex.Data} {ex.InnerException} {ex.HResult} {ex.Message}");
                }
                revizesclist = VST_sprava_servisu.RevizeSC.GetListByRevizeId(Id, null);
                CallSCProvozupdate(revizesclist, revize.KontrolaProvedenaDne.Value);
            }

            return(revize);
        }
예제 #3
0
        public ActionResult Create([Bind(Include = "Id,RevizeId,SCProvozuId,StavKoroze,StavZnecisteni,JineZavady,UmisteniId,Baterie,Pyro,TlakovaZkouska,RevizeTlakoveNadoby,VnitrniRevizeTlakoveNadoby")] RevizeSC revizeSC)
        {
            if (ModelState.IsValid)
            {
                int RevizeId = 0;
                try
                {
                    SCProvozu scprovozu = new SCProvozu();
                    scprovozu           = db.SCProvozu.Find(revizeSC.SCProvozuId);
                    revizeSC.UmisteniId = scprovozu.Umisteni;

                    db.RevizeSC.Add(revizeSC);
                    RevizeId = revizeSC.RevizeId;
                    db.SaveChanges();
                }
                catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }

                Revize revize = new Revize();
                revize = db.Revize.Find(RevizeId);
                Revize.UpdateRevizeHeader(RevizeId);
                return(RedirectToAction("Details", "Revize", new { Id = RevizeId }));
                //return RedirectToAction("Index");
            }

            ViewBag.RevizeId    = new SelectList(db.Revize, "Id", "ZjistenyStav", revizeSC.RevizeId);
            ViewBag.SCProvozuId = new SelectList(db.SCProvozu, "Id", "Lokace", revizeSC.SCProvozuId);
            ViewBag.UmisteniId  = new SelectList(db.Umisteni, "Id", "NazevUmisteni", revizeSC.UmisteniId);
            return(View(revizeSC));
        }
        public static ProvedeniVymenyLahve Main(int RevizeSCId)
        {
            ProvedeniVymenyLahve pvl = new ProvedeniVymenyLahve();

            pvl.RevizeSCId = RevizeSCId;
            pvl.RevizeSC   = RevizeSC.GetRevizeSCByRevizeSCid(RevizeSCId);
            pvl.Revize     = Revize.GetById(pvl.RevizeSC.RevizeId);

            return(pvl);
        }
예제 #5
0
        public static List <SCProvozu> AddItemsFromList(List <SCList> sclist, int revize)
        {
            List <SCProvozu> list = new List <SCProvozu>();
            SCProvozu        sc   = new SCProvozu();

            foreach (var item in sclist)
            {
                using (var dbCtx = new Model1Container())
                {
                    if (item.Revize == 1)
                    {
                        sc = dbCtx.SCProvozu.Where(r => r.Id == item.Id).FirstOrDefault();
                        var exist = dbCtx.RevizeSC.Where(r => r.RevizeId == revize && r.SCProvozuId == sc.Id).Count();
                        if (exist == 0)
                        {
                            RevizeSC revizesc = new RevizeSC
                            {
                                UmisteniId  = sc.Umisteni,
                                RevizeId    = revize,
                                SCProvozuId = sc.Id
                            };

                            if (item.Baterie == 1)
                            {
                                revizesc.Baterie = true;
                            }
                            if (item.Pyro == 1)
                            {
                                revizesc.Pyro = true;
                            }
                            if (item.TlkZk == 1)
                            {
                                revizesc.TlakovaZkouska = true;
                            }
                            try
                            {
                                dbCtx.RevizeSC.Add(revizesc);
                                dbCtx.SaveChanges();
                            }
                            catch (Exception ex)
                            {
                                log.Error($"AddItemsFromList {ex.Message} {ex.InnerException} {ex.Data}");
                            }
                        }
                    }

                    list.Add(sc);
                }
            }


            return(list);
        }
예제 #6
0
        internal protected static bool ExistingRevizeSC(SCProvozu scprovozu, int RevizeId)
        {
            List <RevizeSC> list = new List <RevizeSC>();

            list = RevizeSC.GetListByRevizeId(RevizeId, scprovozu.Id);
            bool exist = false;

            if (list.Count() > 0)
            {
                exist = true;
            }
            return(exist);
        }
예제 #7
0
 internal protected static void Remove(int RevizeSCId)
 {
     using (var dbCtx = new Model1Container())
     {
         RevizeSC revizeSC = dbCtx.RevizeSC.Find(RevizeSCId);
         try
         {
             dbCtx.RevizeSC.Remove(revizeSC);
             dbCtx.SaveChanges();
         }
         catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
     }
 }
예제 #8
0
        public ActionResult DeleteConfirmed(int id)
        {
            Revize revize = db.Revize.Find(id);

            RevizeSC.DeleteRevizeSCFromRevize(revize.Id);
            try
            {
                db.Revize.Remove(revize);
                db.SaveChanges();
            }
            catch (Exception ex) { log.Error("DeleteConfirmed - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
            return(RedirectToAction("Nahled", "Revize", null));
        }
예제 #9
0
        // GET: RevizeSC/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RevizeSC revizeSC = db.RevizeSC.Find(id);

            if (revizeSC == null)
            {
                return(HttpNotFound());
            }
            return(View(revizeSC));
        }
예제 #10
0
 private static void RemoveTlkZKSignFromREvizeSC(RevizeSC RevizeSC)
 {
     using (var dbCtx = new Model1Container())
     {
         var x = dbCtx.RevizeSC.Find(RevizeSC.Id);
         x.TlakovaZkouska     = false;
         dbCtx.Entry(x).State = EntityState.Modified;
         try
         {
             dbCtx.SaveChanges();
         }
         catch (Exception ex) { log.Error($"RemoveTlkZKSignFromREvizeSC {ex.Message} {ex.InnerException} {ex.Data}"); }
     }
 }
예제 #11
0
        public static RevizeSC GetRevizeSCByRevizeSCid(int RevizeSCId)
        {
            RevizeSC revizeSC = new RevizeSC();

            using (var dbCtx = new Model1Container())
            {
                revizeSC = dbCtx.RevizeSC
                           .Where(r => r.Id == RevizeSCId)
                           //.Include(r => r.SCProvozu)
                           .FirstOrDefault();
                revizeSC.SCProvozu = dbCtx.SCProvozu.Where(r => r.Id == revizeSC.SCProvozuId).FirstOrDefault();
                revizeSC.SCProvozu.SerioveCislo        = dbCtx.SerioveCislo.Where(r => r.Id == revizeSC.SCProvozu.SerioveCisloId).FirstOrDefault();
                revizeSC.SCProvozu.SerioveCislo.Artikl = dbCtx.Artikl.Where(r => r.Id == revizeSC.SCProvozu.SerioveCislo.ArtiklId).FirstOrDefault();
            }
            return(revizeSC);
        }
예제 #12
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RevizeSC revizeSC = db.RevizeSC.Find(id);

            if (revizeSC == null)
            {
                return(HttpNotFound());
            }
            ViewBag.RevizeId    = new SelectList(db.Revize, "Id", "ZjistenyStav", revizeSC.RevizeId);
            ViewBag.SCProvozuId = new SelectList(db.SCProvozu, "Id", "Lokace", revizeSC.SCProvozuId);
            ViewBag.UmisteniId  = new SelectList(db.Umisteni, "Id", "NazevUmisteni", revizeSC.UmisteniId);
            return(View(revizeSC));
        }
예제 #13
0
        private static bool TestIfRevizeSCExistsinRevize(Revize RevizeTlkZK, RevizeSC RevizeSC)
        {
            var exist = false;

            using (var dbCtx = new Model1Container())
            {
                var x = dbCtx.RevizeSC
                        .Where(r => r.Id == RevizeTlkZK.Id)
                        .Where(r => r.SCProvozuId == RevizeSC.SCProvozuId).Count();
                if (x > 0)
                {
                    exist = true;
                }
            }

            return(exist);
        }
예제 #14
0
 private static void SwitchSCprovozu(List <RevizeSC> list, SCProvozu newSCProvozu)
 {
     foreach (var item in list)
     {
         using (var dbCtx = new Model1Container())
         {
             RevizeSC revizeSC = new RevizeSC();
             revizeSC             = dbCtx.RevizeSC.Find(item.Id);
             revizeSC.SCProvozuId = newSCProvozu.Id;
             try
             {
                 dbCtx.Entry(revizeSC).State = EntityState.Modified;
                 dbCtx.SaveChanges();
             }
             catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
         }
     }
 }
예제 #15
0
        public ActionResult DeleteConfirmed(int id)
        {
            RevizeSC revizeSC = db.RevizeSC.Find(id);
            int      RevizeId = 0;

            try
            {
                RevizeId = revizeSC.RevizeId;
                db.RevizeSC.Remove(revizeSC);
                db.SaveChanges();
            }
            catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }

            Revize revize = new Revize();

            revize = db.Revize.Find(RevizeId);
            Revize.UpdateRevizeHeader(RevizeId);
            return(RedirectToAction("Details", "Revize", new { Id = RevizeId }));
        }
예제 #16
0
        internal protected void CreateRevizeSC(int RevizeId, int ScProvozu, int UmisteniId)
        {
            RevizeSC revizeSC = new RevizeSC
            {
                RevizeId    = RevizeId,
                SCProvozuId = ScProvozu,
                UmisteniId  = UmisteniId,
            };



            using (var dbCtx = new Model1Container())
            {
                try
                {
                    dbCtx.RevizeSC.Add(revizeSC);
                    dbCtx.SaveChanges();
                }
                catch (Exception ex) { log.Error($"CreateRevizeSC {ex.Message} {ex.InnerException} {ex.Data}"); }
            }
        }
예제 #17
0
        internal protected static Revize OpenRevize(int Id)
        {
            Revize          revize       = new Revize();
            RevizeSC        revizesc     = new RevizeSC();
            List <RevizeSC> revizesclist = new List <RevizeSC>();

            using (var dbCtx = new Model1Container())
            {
                revize = dbCtx.Revize.Find(Id);
                revize.StatusRevizeId = dbCtx.StatusRevize.Where(s => s.Potvrzena == true).Select(s => s.Id).FirstOrDefault();
                try
                {
                    dbCtx.Entry(revize).State = EntityState.Modified;
                    dbCtx.SaveChanges();
                }
                catch (Exception ex)
                {
                    log.Error($"CloseRevize revize c.{Id} {ex.Data} {ex.InnerException} {ex.HResult} {ex.Message}");
                }
            }

            return(revize);
        }
예제 #18
0
 internal protected static bool CreateUpdateSC(List <SCProvozu> SCProvozu, int RevizeId)
 {
     //exist revize?
     if (Revize.RevizeExist(RevizeId) == true)
     {
         // loop through list of sc dedicated to provoz
         foreach (var item in SCProvozu)
         {
             //exist revizeSC
             if (RevizeSC.ExistingRevizeSC(item, RevizeId) == true)
             {
                 //update revize SC
             }
             else
             {
                 //create revize SC
                 RevizeSC r = new RevizeSC();
                 r.CreateRevizeSC(RevizeId, item.Id, item.Umisteni.Value);
             }
         }
     }
     return(true);
 }
예제 #19
0
        private static void AddRevizeSCTlkZkToRevision(Revize RevizeTlkZK, RevizeSC RevizeSC)
        {
            using (var dbCtx = new Model1Container())
            {
                RevizeSC revizeSCTlkZK = new RevizeSC
                {
                    RevizeId       = RevizeTlkZK.Id,
                    SCProvozuId    = RevizeSC.SCProvozuId,
                    UmisteniId     = RevizeSC.UmisteniId,
                    TlakovaZkouska = RevizeSC.TlakovaZkouska
                };



                try
                {
                    dbCtx.RevizeSC.Add(revizeSCTlkZK);
                    dbCtx.SaveChanges();
                    RemoveTlkZKSignFromREvizeSC(RevizeSC);
                }
                catch (Exception ex) { log.Error($"CreateRevizeSCTlkZK {ex.Message} {ex.InnerException} {ex.Data}"); }
            }
        }
예제 #20
0
        public ActionResult Edit([Bind(Include = "Id,RevizeId,SCProvozuId,StavKoroze,StavZnecisteni,JineZavady,UmisteniId,Baterie,Pyro,TlakovaZkouska,Stav,DobaProvozu,HodinyProvozu,DobaProvozuString,RevizeTlakoveNadoby,VnitrniRevizeTlakoveNadoby")] RevizeSC revizeSC)
        {
            int RevizeId = 0;

            //revizeSC = RevizeSC.CalculateDobuProvozu(revizeSC);
            if (ModelState.IsValid)
            {
                try
                {
                    RevizeId = revizeSC.RevizeId;
                    db.Entry(revizeSC).State = EntityState.Modified;
                    db.SaveChanges();
                }
                catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
                Revize revize = new Revize();
                revize = db.Revize.Find(RevizeId);
                Revize.UpdateRevizeHeader(RevizeId);
                return(RedirectToAction("Details", "Revize", new { Id = RevizeId }));
            }
            ViewBag.RevizeId    = new SelectList(db.Revize, "Id", "ZjistenyStav", revizeSC.RevizeId);
            ViewBag.SCProvozuId = new SelectList(db.SCProvozu, "Id", "Lokace", revizeSC.SCProvozuId);
            ViewBag.UmisteniId  = new SelectList(db.Umisteni, "Id", "NazevUmisteni", revizeSC.UmisteniId);
            return(View(revizeSC));
        }
예제 #21
0
        public static void GenerujReviziTlakoveZkousky(int ZakaznikId, int ProvozId, int?UmisteniId, int Rok)
        {
            GenerovaniRevizeTlakoveZkousky GRTZ = new GenerovaniRevizeTlakoveZkousky
            {
                Rok        = Rok,
                ZakaznikId = ZakaznikId,
                Zakaznik   = Zakaznik.GetById(ZakaznikId),
                ProvozId   = ProvozId,
                Provoz     = Provoz.GetById(ProvozId),
                UmisteniId = UmisteniId,
                // dohledání exisujících revizí pro vybraný rok
                Revize1 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 1, UmisteniId, false),
                Revize2 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 2, UmisteniId, false)
            };

            if (UmisteniId != null)
            {
                GRTZ.Umisteni = Umisteni.GetById(UmisteniId.Value);
            }
            int pocetTlkZkR1 = 0; int pocetTlkZkR2 = 0; int revize1 = 0; int revize2 = 0;

            try
            {
                revize1 = GRTZ.Revize1.Id;
            }
            catch (Exception ex)
            {
                log.Debug($"Nenalazena Revize1 {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}");
            }
            try
            {
                revize2 = GRTZ.Revize2.Id;
            }
            catch (Exception ex)
            {
                log.Debug($"Nenalazena Revize2 {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}");
            }
            using (var db = new Model1Container())
            {
                //Výpočet počtu artiklů, které mají příznak tlakové zkoušky pro jednotlivé revize
                pocetTlkZkR1 = db.RevizeSC.Where(t => t.RevizeId == revize1 && t.TlakovaZkouska == true).Count();
                pocetTlkZkR2 = db.RevizeSC.Where(t => t.RevizeId == revize2 && t.TlakovaZkouska == true).Count();
            }

            int pocetTlkZ = pocetTlkZkR1 + pocetTlkZkR2;



            // Pokud existují artikly v revizích, které mají příznak tlakové zkoušky dojde ke generování třetí revize a přesun do speciální tlakové zkoušky
            if (pocetTlkZ > 0)
            {
                // načení záznamů, ketré jsou s evidovanou tlakovou zkouškou
                if (pocetTlkZkR1 > 0)
                {
                    try
                    {
                        GRTZ.TlakoveZkouskyRev1 = RevizeSC.SeznamTlakovychZkousekRevize(GRTZ.Revize1.Id);
                    }
                    catch (Exception ex) { log.Debug($" GRTZ.TlakoveZkouskyRev1 -  {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}"); }
                }
                if (pocetTlkZkR2 > 0)
                {
                    try
                    {
                        GRTZ.TlakoveZkouskyRev2 = RevizeSC.SeznamTlakovychZkousekRevize(GRTZ.Revize2.Id);
                    }
                    catch (Exception ex) { log.Debug($" GRTZ.TlakoveZkouskyRev2 -  {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}"); }
                }
                // pokud neexisuje revize na tlakovou zkoušku vygenerování revize
                var exist = Revize.ExistRevision(GRTZ.ZakaznikId, GRTZ.ProvozId, GRTZ.Rok, 3, GRTZ.UmisteniId);
                if (exist == true)
                {
                    //pokud exisuje nacte se
                    GRTZ.Revize3 = Revize.ReturnRevision(GRTZ.ZakaznikId, GRTZ.ProvozId, Rok, 3, GRTZ.UmisteniId, null);
                }
                else
                {
                    //pokud neexistuje vygeneruje se
                    try
                    {
                        GRTZ.Revize3 = Revize.GenerateRevision(GRTZ.ProvozId, GRTZ.Rok, 3, System.DateTime.Now, 1, GRTZ.UmisteniId, GRTZ.Revize1.Nabidka, GRTZ.Revize1.Projekt);
                    }
                    catch (Exception ex)
                    {
                        log.Debug($" GRTZ.Revize3 -  {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}");
                    }
                }
                //přesun tlakových zkoušek do speciální revize
                if (pocetTlkZkR1 > 0)
                {
                    try
                    {
                        RevizeSC.LoopRevizeSCTlakoveZkousky(GRTZ.Revize3, GRTZ.TlakoveZkouskyRev1);
                    }
                    catch (Exception ex) { }
                }
                if (pocetTlkZkR1 > 0)
                {
                    try
                    {
                        RevizeSC.LoopRevizeSCTlakoveZkousky(GRTZ.Revize3, GRTZ.TlakoveZkouskyRev2);
                    }
                    catch (Exception ex) { }
                }
                //aktualizace hlavičkových údajů na jednotlivých revizích
                try
                {
                    Revize.UpdateRevizeHeader(GRTZ.Revize1.Id);
                }
                catch (Exception ex)
                { }
                try
                {
                    Revize.UpdateRevizeHeader(GRTZ.Revize2.Id);
                }
                catch (Exception ex)
                { }
                try
                {
                    Revize.UpdateRevizeHeader(GRTZ.Revize3.Id);
                }
                catch (Exception ex)
                { }
            }
        }
예제 #22
0
        /// <summary>
        /// Prohledani seznamu a dohledani zda již neexistuji revize v danem obdobi
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="listplanrev"></param>
        /// <returns></returns>
        private static List <VypocetPlanuRevizi> LoopAndCreate(string conn, List <VypocetPlanuRevizi> listplanrev)
        {
            foreach (var item in listplanrev)
            {
                if (item.UmisteniId == 0)
                {
                    var r1exist = Revize.ExistRevision(item.ZakaznikId, item.ProvozId, item.Rok_R1, item.R1POL, null);
                    if (r1exist == false)
                    {
                        item.Revize1 = Revize.GenerateRevision(item.ProvozId, item.Rok_R1, item.R1POL, item.R1.Value, StatusRevize.Planned(), null, "", "");
                        List <SCList> sclist = new List <SCList>();
                        sclist = SCList.FindScForRevision(conn, item.ProvozId, null, item.Rok_R1, item.R1POL);
                        var      t        = SCList.AddItemsFromList(sclist, item.Revize1.Id);
                        RevizeSC revizesc = new RevizeSC();
                        Revize.UpdateRevizeHeader(item.Revize1.Id);
                        //bool done = RevizeSC.CreateUpdateSC(SCProvozu.GetList(item.ProvozId, null, 1, null), item.Revize1.Id);
                    }
                    else
                    {
                        item.Revize1 = Revize.ReturnRevision(item.ZakaznikId, item.ProvozId, item.Rok_R1, item.R1POL, null, null);
                    }
                    var r2exist = Revize.ExistRevision(item.ZakaznikId, item.ProvozId, item.Rok_R2, item.R2POL, null);
                    if (r2exist == false)
                    {
                        item.Revize2 = Revize.GenerateRevision(item.ProvozId, item.Rok_R2, item.R2POL, item.R2.Value, StatusRevize.Planned(), null, "", "");
                        List <SCList> sclist = new List <SCList>();
                        sclist = SCList.FindScForRevision(conn, item.ProvozId, null, item.Rok_R2, item.R2POL);
                        var      t        = SCList.AddItemsFromList(sclist, item.Revize2.Id);
                        RevizeSC revizesc = new RevizeSC();
                        Revize.UpdateRevizeHeader(item.Revize2.Id);
                    }
                    else
                    {
                        item.Revize2 = Revize.ReturnRevision(item.ZakaznikId, item.ProvozId, item.Rok_R2, item.R2POL, null, null);
                    }
                    // update hlavicky - počet baterií, palníků atd
                }
                else
                {
                    var r1exist = Revize.ExistRevision(item.ZakaznikId, item.ProvozId, item.Rok_R1, item.R1POL, item.UmisteniId);
                    if (r1exist == false)
                    {
                        item.Revize1 = Revize.GenerateRevision(item.ProvozId, item.Rok_R1, item.R1POL, item.R1.Value, StatusRevize.Planned(), item.UmisteniId, "", "");

                        List <SCList> sclist = new List <SCList>();
                        sclist = SCList.FindScForRevision(conn, item.ProvozId, item.UmisteniId, item.Rok_R1, item.R1POL);
                        var      t        = SCList.AddItemsFromList(sclist, item.Revize1.Id);
                        RevizeSC revizesc = new RevizeSC();
                        Revize.UpdateRevizeHeader(item.Revize1.Id);
                    }
                    else
                    {
                        item.Revize1 = Revize.ReturnRevision(item.ZakaznikId, item.ProvozId, item.Rok_R1, item.R1POL, item.UmisteniId, null);
                    }
                    var r2exist = Revize.ExistRevision(item.ZakaznikId, item.ProvozId, item.Rok_R2, item.R2POL, item.UmisteniId);
                    if (r2exist == false)
                    {
                        item.Revize2 = Revize.GenerateRevision(item.ProvozId, item.Rok_R2, item.R2POL, item.R2.Value, StatusRevize.Planned(), item.UmisteniId, "", "");
                        List <SCList> sclist = new List <SCList>();
                        sclist = SCList.FindScForRevision(conn, item.ProvozId, item.UmisteniId, item.Rok_R2, item.R2POL);
                        var      t        = SCList.AddItemsFromList(sclist, item.Revize2.Id);
                        RevizeSC revizesc = new RevizeSC();
                        Revize.UpdateRevizeHeader(item.Revize2.Id);
                    }
                    else
                    {
                        item.Revize2 = Revize.ReturnRevision(item.ZakaznikId, item.ProvozId, item.Rok_R2, item.R2POL, item.UmisteniId, null);
                    }
                    // update hlavicky - počet baterií, palníků atd
                }
            }
            return(listplanrev);
        }
        public static void VymenaLahve(int RevizeSCid, int AriclId, string SC, DateTime DatumVyroby, DateTime DatumDodani)
        {
            RevizeSC oldRevizeSC = new RevizeSC();
            Revize   revize      = new Revize();
            Provoz   provoz      = new Provoz();

            RevizeSC     newRevizeSC     = new RevizeSC();
            SCProvozu    oldSCProvozu    = new SCProvozu();
            SCProvozu    newSCProvozu    = new SCProvozu();
            SerioveCislo oldSerioveCislo = new SerioveCislo();
            SerioveCislo newSerioveCislo = new SerioveCislo();
            VymenyLahvi  vymenyLahvi     = new VymenyLahvi();


            oldRevizeSC     = RevizeSC.GetRevizeSCByRevizeSCid(RevizeSCid);
            oldSCProvozu    = SCProvozu.GetSCProvozuById(oldRevizeSC.SCProvozuId);
            oldSerioveCislo = SerioveCislo.GetSerioveCisloById(oldSCProvozu.SerioveCisloId);
            revize          = Revize.GetById(oldRevizeSC.RevizeId);
            provoz          = Provoz.GetById(revize.ProvozId);

            SCImport sCImport = new SCImport();

            sCImport.ArtiklId           = oldSerioveCislo.ArtiklId;
            sCImport.ArtiklSAPKod       = oldSerioveCislo.Artikl.KodSAP;
            sCImport.Baterie            = oldSCProvozu.Baterie;
            sCImport.BaterieArtikl      = oldSCProvozu.BaterieArtikl;
            sCImport.DatumBaterie       = oldSCProvozu.DatumBaterie;
            sCImport.DatumDodani        = DatumDodani;
            sCImport.DatumPosledniZmeny = revize.DatumRevize;
            sCImport.DatumPrirazeni     = revize.DatumRevize;
            sCImport.DatumPyro          = oldSCProvozu.DatumPyro;
            sCImport.DatumRevize        = oldSCProvozu.DatumRevize;
            sCImport.DatumTlkZk         = revize.DatumRevize;
            sCImport.DatumVymeny        = null;
            sCImport.DatumVyroby        = revize.DatumRevize;
            sCImport.Lokace             = oldSCProvozu.Lokace;
            sCImport.Proverit           = false;
            sCImport.Provozy            = oldSCProvozu.ProvozId;
            sCImport.SerioveCislo       = SC;
            sCImport.Submitted          = true;
            sCImport.Umisteni           = oldSCProvozu.Umisteni.Value;
            sCImport.Zakaznik           = provoz.ZakaznikId;
            sCImport.ZakaznikSAPKod     = provoz.Zakaznik.KodSAP;
            sCImport.Znaceni            = oldSCProvozu.Znaceni;

            // vytvoreni Serioveho cisla akcniho prvku
            var id = SerioveCislo.AddSeriovecislo(sCImport);

            newSerioveCislo = SerioveCislo.GetSerioveCisloById(id);
            // vyvoreni noveho provozusc
            var idscprovozu = SCProvozu.AddSCProvozu(sCImport, id);

            newSCProvozu = SCProvozu.GetSCProvozuById(idscprovozu);
            //Dohledani serioveho cisla lahve
            var seriovecislolahve = DohledaniSeriovehoCislaLahveDleSeriovehoCislaAkcnihoprvku(newSerioveCislo.SerioveCislo1, newSerioveCislo.Artikl.KodSAP);

            // vytvoření vazby vymeny mezi jednotlivými SCProvozu
            vymenyLahvi = VymenyLahvi.GenerujVymenu(oldSCProvozu, newSCProvozu, revize.DatumRevize, revize.Id, seriovecislolahve);
            // zneaktivneni stareho provozusc
            SCProvozu.ZneaktivniSCProvozu(oldSCProvozu, revize.DatumRevize);

            // odebrani stare revizesc
            RevizeSC.Remove(oldRevizeSC.Id);

            // vymena v nasledujicich otevrenych revizich stareho revizesc za noveho
            RevizeSC.ChangeRevizeSCForUpcomingOpenRevision(oldSCProvozu, newSCProvozu, revize.DatumRevize);
        }
예제 #24
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}");
                        }
                    }
                }
            }
        }