Пример #1
0
        public bool Lagerbuchung(int id_Lagerort, int id_Artikel, int BewegungsMenge)
        {
            try
            {
                using (var db = new SteinbachEntities())
                {
                    var lb = db.Lagerbestaende.Where(n => n.id_Lagerliste == id_Artikel && n.id_Lagerort == id_Lagerort).SingleOrDefault();
                    if (lb == null)
                    {
                        lb = new Lagerbestaende();
                        lb.id_Lagerliste = id_Artikel;
                        lb.id_Lagerort   = id_Lagerort;
                        lb.Lagerbestand  = 0;
                        db.AddToLagerbestaende(lb);
                    }

                    if (!lb.Lagerbestand.HasValue)
                    {
                        lb.Lagerbestand = 0;
                    }

                    lb.Lagerbestand += BewegungsMenge;
                    db.SaveChanges();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                CommonTools.Tools.ErrorMethods.HandleStandardError(ex, "Lagerbuchung fehlgeschlagen.");

                return(false);
                // throw;
            }
        }
Пример #2
0
        public static void TransferLagerbestaende()
        {
            using (var db = new SteinbachEntities())
            {
                var ll = db.lagerlisten;
                foreach (var item in ll)
                {
                    var lb = new Lagerbestaende();
                    lb.id_Lagerliste = item.id;
                    lb.id_Lagerort   = 1;
                    lb.Lagerbestand  = item.anzahlauflager;
                    db.AddToLagerbestaende(lb);
                }

                db.SaveChanges();
            }
        }
Пример #3
0
        public void ConsolidateLagerbestaende()
        {
            try
            {
                Console.WriteLine("ConsolidateLagerbestaende");
                var duplicates = (from item in db.Lagerbestaende
                                  group item by new { Lagerliste = item.id_Lagerliste, Lagerort = item.id_Lagerort } into g

                                  where g.Count() > 1
                                  select g);



                foreach (var item in duplicates)
                {
                    Console.WriteLine(item.Key.Lagerliste);
                    var bst = new Lagerbestaende();
                    db.AddToLagerbestaende(bst);
                    bst.Lagerbestand = 0;
                    foreach (Lagerbestaende lb in item.ToList())
                    {
                        bst.id_Lagerliste  = lb.id_Lagerliste;
                        bst.id_Lagerort    = lb.id_Lagerort;
                        bst.Lagerbestand  += lb.Lagerbestand;
                        bst.letzteBuchung  = lb.letzteBuchung;
                        bst.Mindestbestand = lb.Mindestbestand;
                        bst.Sollbestand    = lb.Sollbestand;
                        db.DeleteObject(lb);
                    }
                }

                db.SaveChanges();

                Console.WriteLine("Ende - ConsolidateLagerbestaende");
            }
            catch (Exception)
            {
                throw;
            }
        }