예제 #1
0
        public static int AddSCProvozu(SCImport scimport, int id)
        {
            int       idscprovozu = 0;
            SCProvozu scprovozu   = new SCProvozu {
                SerioveCisloId = id, ProvozId = scimport.Provozy
            };

            using (var dbCtx = new Model1Container())
            {
                scprovozu.StatusId = dbCtx.Status.Where(s => s.Aktivni == true).Select(s => s.Id).FirstOrDefault();
            }
            scprovozu.DatumPrirazeni = scimport.DatumDodani;
            if (scimport.DatumPosledniZmeny == null)
            {
                scprovozu.DatumPosledniZmeny = scimport.DatumRevize;
            }
            else
            {
                scprovozu.DatumPosledniZmeny = scimport.DatumPosledniZmeny;
            }
            scprovozu.DatumVymeny                               = null;
            scprovozu.Umisteni                                  = scimport.Umisteni;
            scprovozu.DatumRevize                               = scimport.DatumRevize;
            scprovozu.DatumBaterie                              = scimport.DatumBaterie;
            scprovozu.DatumPyro                                 = scimport.DatumPyro;
            scprovozu.DatumTlkZk                                = scimport.DatumTlkZk;
            scprovozu.Lokace                                    = scimport.Lokace;
            scprovozu.Znaceni                                   = scimport.Znaceni;
            scprovozu.Baterie                                   = scimport.Baterie;
            scprovozu.Proverit                                  = scimport.Proverit;
            scprovozu.BaterieArtikl                             = scimport.BaterieArtikl;
            scprovozu.UpravenaPeriodaRevize                     = scimport.UpravenaPeriodaRevize;
            scprovozu.UpravenaPeriodaBaterie                    = scimport.UpravenaPeriodaBaterie;
            scprovozu.UpravenaPeriodaPyro                       = scimport.UpravenaPeriodaPyro;
            scprovozu.UpravenaPeriodaTlkZk                      = scimport.UpravenaPeriodaTlkZk;
            scprovozu.DatumRevizeTlakoveNadoby                  = scimport.DatumRevizeTlakoveNadoby;
            scprovozu.DatumVnitrniRevizeTlakoveNadoby           = scimport.DatumVnitrniRevizeTlakoveNadoby;
            scprovozu.UpravenaPeriodaRevizeTlakoveNadoby        = scimport.UpravenaPeriodaRevizeTlakoveNadoby;
            scprovozu.UpravenaPeriodaVnitrniRevizeTlakoveNadoby = scimport.UpravenaPeriodaVnitrniRevizeTlakoveNadoby;
            scprovozu.SCLahve                                   = scimport.SCLahve;
            using (var dbCtx = new Model1Container())
            {
                try
                {
                    dbCtx.SCProvozu.Add(scprovozu);
                    dbCtx.SaveChanges();
                }
                catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
            }
            idscprovozu = scprovozu.Id;
            return(idscprovozu);
        }
예제 #2
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); }
     }
 }
예제 #3
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}"); }
     }
 }
예제 #4
0
        internal protected static void UpdateDelivery(string DocEntry, int ServisniZasahId)
        {
            int currency = 0;

            string        connectionString = ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;
            StringBuilder sql = new StringBuilder();

            sql.Append(" select DocEntry, Docnum from ODRF where objtype = 15 and ");
            sql.Append($" DocEntry = '{DocEntry}' ");

            log.Debug($"Nacteni meny {sql.ToString()}");
            SqlConnection cnn = new SqlConnection(connectionString);
            //SqlConnection con = new SqlConnection(cnn);

            SqlCommand cmd = new SqlCommand
            {
                Connection  = cnn,
                CommandText = sql.ToString()
            };

            cnn.Open();
            cmd.ExecuteNonQuery();
            SqlDataReader dr = cmd.ExecuteReader();

            if (dr.HasRows)
            {
                //MAKES IT HERE
                while (dr.Read())
                {
                    try
                    {
                        currency = dr.GetInt32(dr.GetOrdinal("DocNum"));
                    }
                    catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
                }
            }
            cnn.Close();

            ServisniZasah sz = new ServisniZasah();

            sz                  = ServisniZasah.GetZasah(ServisniZasahId);
            sz.DodaciList       = DocEntry;
            sz.DodaciListDocNum = currency.ToString();

            using (var db = new Model1Container())
            {
                db.Entry(sz).State = EntityState.Modified;
                db.SaveChanges();
            }
        }
예제 #5
0
        public static void UpdateRevizeHeader(int id)
        {
            using (var dbCtx = new Model1Container())
            {
                Revize revize = new Revize();
                revize         = dbCtx.Revize.Find(id);
                revize.Baterie = dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.Baterie == true).Count();
                revize.Pyro    = dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.Pyro == true).Count() + dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.Pyro == true && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id >= 134 && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id <= 135).Count();

                // 3.8.2018 - úprava na pouze artikly, které nejsou tlakové nádoby
                revize.TlkZk = dbCtx.RevizeSC

                               .Include(r => r.SCProvozu.SerioveCislo.Artikl)
                               .Where(r => r.RevizeId == id && r.TlakovaZkouska == true && r.SCProvozu.SerioveCislo.Artikl.TlakovaNadoba == false).Count();
                // 3.8.2018 - přidání artiklů tlakových zkoušek tlakových nádob

                revize.TZTN = dbCtx.RevizeSC

                              .Include(r => r.SCProvozu.SerioveCislo.Artikl)
                              .Where(r => r.RevizeId == id && r.TlakovaZkouska == true && r.SCProvozu.SerioveCislo.Artikl.TlakovaNadoba == true).Count();
                // 3.8.2018 - přidání revizí tlakových nádob
                revize.RTN = dbCtx.RevizeSC
                             .Include(r => r.SCProvozu.SerioveCislo.Artikl)
                             .Where(r => r.RevizeId == id && r.RevizeTlakoveNadoby == true && r.SCProvozu.SerioveCislo.Artikl.TlakovaNadoba == true).Count();
                // 3.8.2018 - přidání vnitřních revizí tlakových nádob
                revize.VRTN = dbCtx.RevizeSC
                              .Include(r => r.SCProvozu.SerioveCislo.Artikl)
                              .Where(r => r.RevizeId == id && r.VnitrniRevizeTlakoveNadoby == true && r.SCProvozu.SerioveCislo.Artikl.TlakovaNadoba == true).Count();


                revize.AP = dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id == 131).Count();
                revize.S  = dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id == 1).Count();
                revize.RJ = dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id == 130).Count();
                revize.V  = dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id >= 132 && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id <= 133).Count();
                revize.F  = dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id >= 134 && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id <= 135).Count();
                revize.M  = dbCtx.RevizeSC.Where(r => r.RevizeId == id && r.SCProvozu.SerioveCislo.Artikl.SkupinaArtiklu1.Id == 136).Count();
                //revize.RevizeBaterie = revize.CalculateRevizeBaterie(id);
                try
                {
                    dbCtx.Entry(revize).State = EntityState.Modified;
                    dbCtx.SaveChanges();
                }
                catch (Exception ex)
                {
                    log.Error($"Update Revize Header pro revizi č.{id} s chybovou hláškou {ex.Message} {ex.Data} {ex.InnerException}");
                }
            }
        }
예제 #6
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); }
         }
     }
 }
예제 #7
0
        internal protected static void ZneaktivniSCProvozu(SCProvozu oldSCProvozu, DateTime DatumRevize)
        {
            SCProvozu sc = new SCProvozu();

            using (var dbCtx = new Model1Container())
            {
                sc                    = dbCtx.SCProvozu.Find(oldSCProvozu.Id);
                sc.StatusId           = dbCtx.Status.Where(r => r.Neaktivni == true).Select(r => r.Id).FirstOrDefault();
                sc.DatumVymeny        = DatumRevize;
                sc.DatumPosledniZmeny = DatumRevize;
                try
                {
                    dbCtx.Entry(sc).State = EntityState.Modified;
                    dbCtx.SaveChanges();
                }
                catch { }
            }
        }
예제 #8
0
        internal protected static void DeleteRevizeSCFromRevize(int RevizeID)
        {
            using (var dbCtx = new Model1Container())
            {
                List <RevizeSC> list = new List <RevizeSC>();
                list = dbCtx.RevizeSC.Where(r => r.RevizeId == RevizeID).ToList();

                foreach (var item in list)
                {
                    var revizesc = dbCtx.RevizeSC.Find(item.Id);
                    try
                    {
                        dbCtx.RevizeSC.Remove(revizesc);
                        dbCtx.SaveChanges();
                    }
                    catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
                }
            }
        }
예제 #9
0
 internal protected static void UpdateSC(int id, DateTime datumkontroly, bool Baterie, bool Pyro, bool TlakovaZkouska, bool revizeTN, bool vnitrnirevizeTN)
 {
     using (var dbCtx = new Model1Container())
     {
         var sc = dbCtx.SCProvozu.Find(id);
         if (sc.DatumRevize <= datumkontroly)
         {
             sc.DatumRevize = datumkontroly;
         }
         if (sc.DatumPosledniZmeny <= datumkontroly)
         {
             sc.DatumPosledniZmeny = datumkontroly;
         }
         if (Baterie == true && sc.DatumBaterie <= datumkontroly)
         {
             sc.DatumBaterie = datumkontroly;
         }
         if (Pyro == true && sc.DatumPyro <= datumkontroly)
         {
             sc.DatumPyro = datumkontroly;
         }
         if (TlakovaZkouska == true && sc.DatumTlkZk <= datumkontroly)
         {
             sc.DatumTlkZk = datumkontroly;
         }
         if (revizeTN == true && sc.DatumRevizeTlakoveNadoby <= datumkontroly)
         {
             sc.DatumRevizeTlakoveNadoby = datumkontroly;
         }
         if (vnitrnirevizeTN == true && sc.DatumVnitrniRevizeTlakoveNadoby <= datumkontroly)
         {
             sc.DatumVnitrniRevizeTlakoveNadoby = datumkontroly;
             sc.DatumRevizeTlakoveNadoby        = datumkontroly;
         }
         try
         {
             dbCtx.Entry(sc).State = EntityState.Modified;
             dbCtx.SaveChanges();
         }
         catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
     }
 }
예제 #10
0
        public static int AddSeriovecislo(SCImport scimport)
        {
            int          id           = 0;
            SerioveCislo seriovecislo = new SerioveCislo();

            seriovecislo.ArtiklId = scimport.ArtiklId;
            seriovecislo.DatumPosledniTlakoveZkousky = scimport.DatumTlkZk;
            seriovecislo.DatumVyroby   = scimport.DatumVyroby;
            seriovecislo.SerioveCislo1 = scimport.SerioveCislo;
            using (var dbCtx = new Model1Container())
            {
                try
                {
                    dbCtx.SerioveCislo.Add(seriovecislo);
                    dbCtx.SaveChanges();
                }
                catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); }
                id = seriovecislo.Id;
            }
            return(id);
        }
예제 #11
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}"); }
            }
        }
예제 #12
0
        public static bool Generate(string Address, string CardCode, string Street, string ZipCode, string City, string Country, int Zakaznik)
        {
            Provoz provoz = new Provoz();

            provoz.ZakaznikId    = Zakaznik;
            provoz.NazevProvozu  = Address;
            provoz.SAPAddress    = Address;
            provoz.AdresaProvozu = Street + ", " + ZipCode + ", " + City + ", " + Country;
            using (var dbCtx = new Model1Container())
            {
                try
                {
                    dbCtx.Provoz.Add(provoz);
                    dbCtx.SaveChanges();
                }
                catch (SqlException e)
                {
                    log.Error("Error number: " + e.Number + " - " + e.Message);
                }
            }
            return(true);
        }
예제 #13
0
        public static bool Generate(int ZakaznikId, string JmenoPrijmeni, string Pozice, string Telefon, string Email, int SAPId)
        {
            KontakniOsoba ko = new KontakniOsoba();

            ko.ZakaznikId    = ZakaznikId;
            ko.JmenoPrijmeni = JmenoPrijmeni;
            if (Pozice == null)
            {
                Pozice = "";
            }
            ko.Pozice = Pozice;
            if (Telefon == null)
            {
                Telefon = "";
            }
            ko.Telefon = Telefon;
            if (Email == null)
            {
                Email = "";
            }
            ko.Email = Email;
            ko.SAPId = SAPId;
            //ko.ProvozId = ProvozId;
            using (var dbCtx = new Model1Container())
            {
                try
                {
                    dbCtx.KontakniOsoba.Add(ko);
                    dbCtx.SaveChanges();
                }
                catch (SqlException e)
                {
                    log.Error("Error number: " + e.Number + " - " + e.Message);
                }
            }

            return(true);
        }
예제 #14
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}"); }
            }
        }
예제 #15
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);
        }
예제 #16
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}");
                        }
                    }
                }
            }
        }
예제 #17
0
        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); };
            }
        }