public ActionResult Create([Bind(Include = "Id,ZakaznikID,ProvozId,UmisteniId,DatumVyzvy,DatumVznikuPoruchy,DatumZasahu,DatumOdstraneni,Odkud,Kam,Zpět,Km,VozidloId,CestaCelkem,PraceHod,PraceSazba,Pracelidi,PraceCelkem,Celkem,Reklamace,PoruseniZarucnichPodminek,Mena,Closed,Porjekt,Nabidka,Zakazka,DodaciList")] ServisniZasah servisniZasah, string action) { if (ModelState.IsValid && !String.IsNullOrWhiteSpace(action)) { switch (action) { case "Přepočti cestu": servisniZasah.Km = ServisniZasah.GetDistance(servisniZasah.Odkud, servisniZasah.Kam, servisniZasah.Zpět); ModelState.Clear(); break; case "Vytvoř servisní zásah": var km = CenaArtikluZakaznik.GetCena("SP02", servisniZasah.ZakaznikID); decimal kmcena; if (km.ZCCena != 0) { kmcena = km.ZCCena; } else { kmcena = km.CenikCena; } servisniZasah.CestaCelkem = servisniZasah.Km * kmcena; var prace = CenaArtikluZakaznik.GetCena("SP01", servisniZasah.ZakaznikID); decimal pracecena; if (prace.ZCCena != 0) { pracecena = prace.ZCCena; } else { pracecena = prace.CenikCena; } servisniZasah.PraceSazba = pracecena; servisniZasah.PraceCelkem = servisniZasah.Pracelidi * servisniZasah.PraceSazba * servisniZasah.PraceHod; db.ServisniZasah.Add(servisniZasah); try { db.SaveChanges(); } catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } return(RedirectToAction("Details", "ServisniZasah", new { servisniZasah.Id })); default: break; } } ViewBag.ProvozId = new SelectList(db.Provoz, "Id", "NazevProvozu", servisniZasah.ProvozId); ViewBag.UmisteniId = new SelectList(db.Umisteni, "Id", "NazevUmisteni", servisniZasah.UmisteniId); ViewBag.VozidloId = new SelectList(db.Vozidlo, "Id", "NazevVozidla", servisniZasah.VozidloId); ViewBag.ZakaznikID = new SelectList(db.Zakaznik, "Id", "NazevZakaznika", servisniZasah.ZakaznikID); //return RedirectToAction("Create", "ServisniZasah", new { Zakaznik = servisniZasah.ZakaznikID, Provoz = servisniZasah.ProvozId, Umisteni = servisniZasah.UmisteniId, Odkud = servisniZasah.Odkud, Kam = servisniZasah.Kam, Zpet = servisniZasah.Zpět }); return(View("Create", servisniZasah)); }
public ActionResult Edit([Bind(Include = "Id,ZakaznikID,ProvozId,UmisteniId,DatumVyzvy,DatumVznikuPoruchy,DatumZasahu,DatumOdstraneni,Odkud,Kam,Zpět,Km,VozidloId,CestaCelkem,PraceHod,PraceSazba,Pracelidi,PraceCelkem,Celkem,Reklamace,PoruseniZarucnichPodminek,Mena,Closed,Porjekt,Nabidka,Zakazka,DodaciList")] ServisniZasah servisniZasah, string action) { switch (action) { case "Přepočti cestu": servisniZasah.Km = ServisniZasah.GetDistance(servisniZasah.Odkud, servisniZasah.Kam, servisniZasah.Zpět); ModelState.Clear(); break; case "Ulož": var km = CenaArtikluZakaznik.GetCena("SP02", servisniZasah.ZakaznikID); decimal kmcena; if (km.ZCCena != 0) { kmcena = km.ZCCena; } else { kmcena = km.CenikCena; } servisniZasah.CestaCelkem = servisniZasah.Km * kmcena; var prace = CenaArtikluZakaznik.GetCena("SP01", servisniZasah.ZakaznikID); decimal pracecena; if (prace.ZCCena != 0) { pracecena = prace.ZCCena; } else { pracecena = prace.CenikCena; } servisniZasah.PraceSazba = pracecena; servisniZasah.PraceCelkem = servisniZasah.Pracelidi * servisniZasah.PraceSazba * servisniZasah.PraceHod; if (ModelState.IsValid) { db.Entry(servisniZasah).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", "ServisniZasah", new { servisniZasah.Id })); } break; } ViewBag.ProvozId = new SelectList(db.Provoz, "Id", "NazevProvozu", servisniZasah.ProvozId); ViewBag.UmisteniId = new SelectList(db.Umisteni, "Id", "NazevUmisteni", servisniZasah.UmisteniId); ViewBag.VozidloId = new SelectList(db.Vozidlo, "Id", "NazevVozidla", servisniZasah.VozidloId); ViewBag.ZakaznikID = new SelectList(db.Zakaznik, "Id", "NazevZakaznika", servisniZasah.ZakaznikID); return(View(servisniZasah)); }
internal protected static string GetCurrencyForprvek(int szp) { string currency; ServisniZasah sz = new ServisniZasah(); using (var db = new Model1Container()) { sz = db.ServisniZasah.Where(t => t.Id == szp).FirstOrDefault(); } CenaArtikluZakaznik caz = new CenaArtikluZakaznik(); caz = CenaArtikluZakaznik.GetCena(215, sz.ZakaznikID); if (caz.ZCMena == "") { currency = caz.ZCMena; } else { currency = caz.CenikMena; } return(currency); }
internal protected static decimal GetCenaForprvek(ServisniZasahPrvek szp) { decimal cena; ServisniZasah sz = new ServisniZasah(); using (var db = new Model1Container()) { sz = db.ServisniZasah.Where(t => t.Id == szp.ServisniZasahId).FirstOrDefault(); } CenaArtikluZakaznik caz = new CenaArtikluZakaznik(); caz = CenaArtikluZakaznik.GetCena(szp.ArtiklID.Value, sz.ZakaznikID); if (caz.ZCCena != 0) { cena = caz.ZCCena; } else { cena = caz.CenikCena; } return(cena); }
internal protected static void UpdateHeader(int Id) { ServisniZasah sz = new ServisniZasah(); using (var db = new Model1Container()) { sz = db.ServisniZasah.Where(t => t.Id == Id).FirstOrDefault(); //načtení ceny za dopravu var km = CenaArtikluZakaznik.GetCena("SP02", sz.ZakaznikID); decimal kmcena; //pokud není nastavena zvláštní cena tak potom ceníková if (km.ZCCena != 0) { kmcena = km.ZCCena; } else { kmcena = km.CenikCena; } //výpočet ceny celkem za dopravu sz.CestaCelkem = sz.Km * kmcena; //načtení ceny za práci servisních techniků var prace = CenaArtikluZakaznik.GetCena("SP01", sz.ZakaznikID); decimal pracecena; // pokud není nastavena zvláštní cena tak potom ceníková if (prace.ZCCena != 0) { pracecena = prace.ZCCena; } else { pracecena = prace.CenikCena; } sz.PraceSazba = pracecena; //výpočet celkové ceny za práci sz.PraceCelkem = sz.Pracelidi * sz.PraceSazba * sz.PraceHod; //výpočet počtu prvků na servisním zásahu var prvku = db.ServisniZasahPrvek.Where(t => t.ServisniZasahId == sz.Id).Count(); var reklamprvku = db.ServisniZasahPrvek.Where(t => t.Reklamace == true && t.ServisniZasahId == sz.Id).Count(); var poruseni = db.ServisniZasahPrvek.Where(t => t.Reklamace == true && t.PoruseniZarucnichPodminek == true && t.ServisniZasahId == sz.Id).Count(); var x = db.ServisniZasahPrvek.Where(t => t.ServisniZasahId == Id) .Where(t => t.Reklamace == true && t.PoruseniZarucnichPodminek == true || t.Reklamace == false) .Select(t => t.CenaCelkem) .Sum(); if (x == null) { x = 0; } if (sz.Reklamace == false || (sz.Reklamace == true && sz.PoruseniZarucnichPodminek == true)) { sz.Celkem = sz.CestaCelkem + sz.PraceCelkem + x; } else { sz.Celkem = x; } sz.Mena = GetCurrencyForprvek(sz.Id); try { db.Entry(sz).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }; } }