예제 #1
0
 public virtual void Update(T obj)
 {
     using (var ctx = new ErpContext())
     {
         ctx.Set<T>().AddOrUpdate(obj);
         ctx.SaveChanges();
     }
 }
예제 #2
0
 public virtual void Remove(int id)
 {
     using (var ctx = new ErpContext())
     {
         var obj = ctx.Set<T>().Find(id);
         ctx.Set<T>().Remove(obj);
         ctx.SaveChanges();
     }
 }
예제 #3
0
 public virtual T Create(T obj)
 {
     using (var ctx = new ErpContext())
     {
         var newObj = ctx.Set<T>().Add(obj);
         ctx.SaveChanges();
         return newObj;
     }
 }
        private bestellposition AddOrUpdateBestellposition(bestellposition p)
        {
            using (var ctx = new ErpContext())
            {
                p.bestellung    = ctx.bestellung.Find(p.bestellung.Id);
                p.artikel       = ctx.artikel.Find(p.artikel.Id);
                p.lagerposition = ctx.lagerposition.Find(p.lagerposition.Id);

                if (!HasKundenPreis(p) && p.kundenpreis.Rabatt > 0)
                {
                    var kundenPreis = p.kundenpreis;
                    kundenPreis.artikel  = p.artikel;
                    kundenPreis.kunde    = p.bestellung.kunde;
                    kundenPreis.Waehrung = "CHF";

                    ctx.kundenpreis.Add(kundenPreis);
                    ctx.SaveChanges();

                    p.kundenpreis = ctx.kundenpreis.Find(p.kundenpreis.Id);
                    p.fk_Bestellposition_KundenPreis = p.kundenpreis.Id;
                }
                else if (p.fk_Bestellposition_KundenPreis > 0)
                {
                    ctx.kundenpreis.AddOrUpdate(p.kundenpreis);
                    ctx.SaveChanges();
                }
                else
                {
                    p.kundenpreis = null;
                }

                ctx.bestellposition.AddOrUpdate(p);

                ctx.SaveChanges();
                return(GetSingle(p.Id));
            }
        }
예제 #5
0
        public override void Remove(int id)
        {
            using (var ctx = new ErpContext())
            {
                var obj = ctx.bestellung.Find(id);

                ctx.Entry(obj).Reload();
                ctx.Entry(obj).Collection(b => b.lieferschein).Load();
                ctx.Entry(obj).Collection(b => b.bestellposition).Load();

                ctx.lieferschein.RemoveRange(obj.lieferschein);
                ctx.bestellposition.RemoveRange(obj.bestellposition);

                ctx.bestellung.Remove(obj);
                ctx.SaveChanges();
            }
        }