Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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); };
            }
        }