Example #1
0
 public Order GetOrder(String Id)
 {
     using (var db = new OrderDB()) {
         return(db.Order.Include("Items").
                SingleOrDefault(o => o.Id == Id));
     }
 }
Example #2
0
 public List <Order> QueryByCustormer(String custormer)
 {
     using (var db = new OrderDB()) {
         return(db.Order.Include("items")
                .Where(o => o.Customer.Equals(custormer)).ToList <Order>());
     }
 }
Example #3
0
 public void Add(Order order)
 {
     using (var db = new OrderDB()) {
         db.Entry(order).State = EntityState.Added;
         db.SaveChanges();
     }
 }
Example #4
0
 public List <Order> GetAllOrders()
 {
     using (var db = new OrderDB())
     {
         return(db.Order.Include("Items").ToList <Order>());
     }
 }
Example #5
0
        public List <Order> Import(string path)
        {
            if (Path.GetExtension(path) != ".xml")
            {
                throw new ArgumentException("It isn't a xml file!");
            }
            XmlSerializer xs     = new XmlSerializer(typeof(List <Order>));
            List <Order>  result = new List <Order>();

            using (FileStream fs = new FileStream(path, FileMode.Open))
            {
                using (var db = new OrderDB())
                {
                    List <Order> temp = (List <Order>)xs.Deserialize(fs);
                    temp.ForEach(order =>
                    {
                        if (!db.Order.ToList().Contains(order))
                        {
                            result.Add(order);
                        }
                    });
                }
            }
            return(result);
        }
Example #6
0
 public List <Order> QueryByGoods(String product)
 {
     using (var db = new OrderDB()) {
         var query = db.Order.Include("items")
                     .Where(o => o.Items.Where(
                                item => item.Product.Equals(product)).Count() > 0);
         return(query.ToList <Order>());
     }
 }
Example #7
0
 public void Delete(String orderId)
 {
     using (var db = new OrderDB()) {
         var order = db.Order.Include("Items").SingleOrDefault(o => o.Id == orderId);
         db.OrderItem.RemoveRange(order.Items);
         db.Order.Remove(order);
         db.SaveChanges();
     }
 }
Example #8
0
 public void Update(Order order)
 {
     using (var db = new OrderDB()) {
         Console.WriteLine(db.Entry(order).State);
         db.Entry(order).State = EntityState.Modified;
         order.Items.ForEach(
             item => db.Entry(item).State = EntityState.Modified);
         db.SaveChanges();
     }
 }
 public void Update(Order order)
 {
     using (var db = new OrderDB()) {
         db.Order.Attach(order);
         db.Entry(order).State = EntityState.Modified;
         order.Items.ForEach(
             item => db.Entry(item).State = EntityState.Modified);
         db.SaveChanges();
     }
 }
Example #10
0
 public List <Order> QueryByPrice(double price)
 {
     using (var db = new OrderDB())
     {
         var query = db.Order.Include("items").Where(
             o => o.Items.Where(
                 item => item.UnitPrice * item.Quantity < price).Count() > 0);
         return(query.ToList <Order>());
     }
 }
Example #11
0
        public void Export(String fileName)
        {
            XmlSerializer xs = new XmlSerializer(typeof(List <Order>));

            using (FileStream fs = new FileStream(fileName, FileMode.Create))
            {
                using (var db = new OrderDB())
                {
                    xs.Serialize(fs, db.Order.Include("items").ToList <Order>());
                }
            }
        }
Example #12
0
 public void Add(Order order)
 {
     using (var db = new OrderDB())
     {
         if (db.Order.Where(o => o.Id == order.Id).Count() == 0)
         {
             db.Order.Add(order);
             //db.Order.Attach(order);
             //db.Entry(order).State = EntityState.Added;
             db.SaveChanges();
         }
     }
 }
Example #13
0
        public void Update(Order newOrder)
        {
            using (var db = new OrderDB()) {
                Order oldOrder = db.Order.Include("Details").SingleOrDefault(o => o.Id == newOrder.Id);
                db.OrderItem.RemoveRange(oldOrder.Details);
                db.SaveChanges();
            }

            using (var db = new OrderDB()) {
                foreach (OrderDetail detail in newOrder.Details)
                {
                    db.Entry(detail).State = EntityState.Added;
                }
                //db.SaveChanges();//先保存items部分的修改
                db.Entry(newOrder).State = EntityState.Modified;
                db.SaveChanges();//保存Order的属性修改
            }
        }
Example #14
0
 public void Update(Order order, List <OrderItem> removed, List <OrderItem> newItems)
 {
     using (var db = new OrderDB()) {
         order.Items.AddRange(newItems);
         foreach (OrderItem item in order.Items)
         {
             if (removed.Contains(item))
             {
                 db.Entry(item).State = EntityState.Deleted;
             }
             else if (newItems.Contains(item))
             {
                 db.Entry(item).State = EntityState.Added;
             }
             else
             {
                 db.Entry(item).State = EntityState.Modified;
             }
         }
         db.SaveChanges(); //先保存items部分的修改
         db.Entry(order).State = EntityState.Modified;
         db.SaveChanges(); //保存Order的属性修改
     }
 }