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); }
public ActionResult ImportSCtoServis([Bind(Include = "Zakaznik, Provozy, Umisteni, SerioveCislo, ArtiklId, DatumVyroby, DatumVymeny, DatumDodani, Submitted, DatumRevize, DatumBaterie, DatumPyro, DatumTlkZk, DatumPrirazeni, Lokace, Znaceni,Baterie,Proverit, BaterieArtikl,UpravenaPeriodaRevize,UpravenaPeriodaBaterie,UpravenaPeriodaPyro,UpravenaPeriodaTlkZk,DatumRevizeTlakoveNadoby,DatumVnitrniRevizeTlakoveNadoby,UpravenaPeriodaRevizeTlakoveNadoby,UpravenaPeriodaVnitrniRevizeTlakoveNadoby ")] SCImport scimport) { int id = 0; int idscprovozu = 0; ViewBag.SkupinaArtiklu = db.Artikl.Where(t => t.Id == scimport.ArtiklId).Select(t => t.SkupinaArtiklu).FirstOrDefault(); ViewBag.Revize = db.Artikl.Where(t => t.Id == scimport.ArtiklId).Select(t => t.Revize).FirstOrDefault(); ViewBag.TlakovaZk = db.Artikl.Where(t => t.Id == scimport.ArtiklId).Select(t => t.TlakovaZk).FirstOrDefault(); ViewBag.VymenaBaterie = db.Artikl.Where(t => t.Id == scimport.ArtiklId).Select(t => t.VymenaBaterie).FirstOrDefault(); ViewBag.VymenaPyro = db.Artikl.Where(t => t.Id == scimport.ArtiklId).Select(t => t.VymenaPyro).FirstOrDefault(); ViewBag.TlakovaNadoba = db.Artikl.Where(t => t.Id == scimport.ArtiklId).Select(t => t.TlakovaNadoba).FirstOrDefault(); //if (scimport.DatumVyroby == DateTime.MinValue) { scimport.DatumVyroby = DateTime.Now; } //if (scimport.DatumDodani == DateTime.MinValue) { scimport.DatumDodani = DateTime.Now; } if (scimport.DatumPosledniZmeny == DateTime.MinValue) { scimport.DatumPosledniZmeny = DateTime.Now; } if (scimport.Submitted == true) { if (scimport.DatumPrirazeni == null) { scimport.DatumPrirazeni = scimport.DatumDodani; } //if (scimport.DatumTlkZk == null) { scimport.DatumTlkZk = scimport.DatumVyroby; } id = SerioveCislo.AddSeriovecislo(scimport); idscprovozu = SCProvozu.AddSCProvozu(scimport, id); // uložení datumů do sesion if (scimport.DatumBaterie > DateTime.MinValue || scimport.DatumBaterie == null) { Session["DatumBaterie"] = scimport.DatumBaterie; } if (scimport.DatumDodani > DateTime.MinValue || scimport.DatumDodani == null) { Session["DatumDodani"] = scimport.DatumDodani; } if (scimport.DatumPrirazeni > DateTime.MinValue || scimport.DatumPrirazeni == null) { Session["DatumPrirazeni"] = scimport.DatumPrirazeni; } if (scimport.DatumPyro > DateTime.MinValue || scimport.DatumPyro == null) { Session["DatumPyro"] = scimport.DatumPyro; } if (scimport.DatumRevize > DateTime.MinValue || scimport.DatumRevize == null) { Session["DatumRevize"] = scimport.DatumRevize; } if (scimport.DatumTlkZk > DateTime.MinValue || scimport.DatumTlkZk == null) { Session["DatumTlkZk"] = scimport.DatumTlkZk; } if (scimport.DatumVymeny > DateTime.MinValue || scimport.DatumVymeny == null) { Session["DatumVymeny"] = scimport.DatumVymeny; } if (scimport.DatumVyroby > DateTime.MinValue || scimport.DatumVyroby == null) { Session["DatumVyroby"] = scimport.DatumVyroby; } if (scimport.UpravenaPeriodaRevize != null) { Session["UpravenaPeriodaRevize"] = scimport.UpravenaPeriodaRevize; } if ((id > 0) || (idscprovozu > 0)) { return(RedirectToAction("Details", "Umistenis", new { id = scimport.Umisteni, Provoz = scimport.Provozy, scimport.Zakaznik })); } } if ((scimport.Submitted == false) || ((id == 0) || (idscprovozu == 0))) { // načtení datumů ze session try { var DatumBaterie = Convert.ToDateTime(Session["DatumBaterie"]); if (DatumBaterie > DateTime.MinValue) { scimport.DatumBaterie = DatumBaterie; } else { scimport.DatumBaterie = null; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumBaterie - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { var DatumDodani = Convert.ToDateTime(Session["DatumDodani"]); if (DatumDodani > DateTime.MinValue) { scimport.DatumDodani = DatumDodani; } else { scimport.DatumDodani = DateTime.Now; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumDodani - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { var DatumPrirazeni = Convert.ToDateTime(Session["DatumPrirazeni"]); if (DatumPrirazeni > DateTime.MinValue) { scimport.DatumPrirazeni = DatumPrirazeni; } else { scimport.DatumPrirazeni = DateTime.Now; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumPrirazeni - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { var DatumPyro = Convert.ToDateTime(Session["DatumPyro"]); if (DatumPyro > DateTime.MinValue) { scimport.DatumPyro = DatumPyro; } else { scimport.DatumPyro = null; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumPyro - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { var DatumRevize = Convert.ToDateTime(Session["DatumRevize"]); if (DatumRevize > DateTime.MinValue) { scimport.DatumRevize = DatumRevize; } else { scimport.DatumRevize = null; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumRevize - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { var DatumTlkZk = Convert.ToDateTime(Session["DatumTlkZk"]); if (DatumTlkZk > DateTime.MinValue) { scimport.DatumTlkZk = DatumTlkZk; } else { scimport.DatumTlkZk = null; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumTlkZk - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { var DatumVymeny = Convert.ToDateTime(Session["DatumVymeny"]); if (DatumVymeny > DateTime.MinValue) { scimport.DatumVymeny = DatumVymeny; } else { scimport.DatumVymeny = null; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumVymeny - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { var DatumVyroby = Convert.ToDateTime(Session["DatumVyroby"]); if (DatumVyroby > DateTime.MinValue) { scimport.DatumVyroby = DatumVyroby; } else { scimport.DatumVyroby = DateTime.Now; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumVyroby - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { int?UpravenaPeriodaRevize = Convert.ToInt32(Session["UpravenaPeriodaRevize"]); if (UpravenaPeriodaRevize != null && UpravenaPeriodaRevize != 0) { scimport.UpravenaPeriodaRevize = UpravenaPeriodaRevize; } else { scimport.UpravenaPeriodaRevize = null; } } catch (Exception ex) { log.Debug("Details - Seassion Read - DatumVyroby - Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } ViewBag.Zakaznik = new SelectList(db.Zakaznik, "Id", "NazevZakaznika", scimport.Zakaznik); ViewBag.Provozy = new SelectList(db.Provoz.Where(p => p.ZakaznikId == scimport.Zakaznik), "Id", "NazevProvozu", scimport.Provozy); ViewBag.Umisteni = new SelectList(db.Umisteni.Where(u => u.ProvozId == scimport.Provozy), "Id", "NazevUmisteni", scimport.Umisteni); ViewBag.ArtiklId = new SelectList(db.Artikl.Where(r => r.SkupinaArtiklu1.Id != 129), "Id", "Nazev", scimport.ArtiklId); ViewBag.BaterieArtikl = new SelectList(db.Artikl.Where(r => r.SkupinaArtiklu1.Id == 2), "Id", "Nazev"); } return(View(scimport)); }