Esempio n. 1
0
 // GET ORDERS
 public IEnumerable <Order> Get()
 {
     using (Orders_DBContext dbContext = new Orders_DBContext())
     {
         return(dbContext.Orders.ToList());
     }
 }
Esempio n. 2
0
 public Client Get(int Number)
 {
     using (Orders_DBContext dbContext = new Orders_DBContext())
     {
         return(dbContext.Clients.FirstOrDefault(e => e.Number == Number));
     }
 }
Esempio n. 3
0
        // PUT: api/Orders/
        public HttpResponseMessage Put(int Number, [FromBody] Order order)
        {
            using (Orders_DBContext dbContext = new Orders_DBContext())
            {
                var order1 = dbContext.Orders.Find(Number);
                order1.ClientNumber = order.ClientNumber;
                order1.Description  = order.Description;
                order1.TotalPrice   = order.TotalPrice;

                dbContext.Entry(order1).State = System.Data.Entity.EntityState.Modified;
                dbContext.SaveChanges();
                return(Request.CreateResponse(HttpStatusCode.OK));
            }
        }
Esempio n. 4
0
        public IEnumerable <Order> Get(int ClientNumber)
        {
            using (Orders_DBContext dbContext = new Orders_DBContext())
            {
                //return dbContext.Orders.Where(e => e.ClientNumber == ClientNumber);

                var orders = dbContext.Orders;
                foreach (var order in orders)
                {
                    if (order.ClientNumber == ClientNumber)
                    {
                        yield return(order);
                    }
                }
            }
        }
Esempio n. 5
0
 private bool ClientIsVip(int ClientNumber)
 {
     using (Orders_DBContext dbContext = new Orders_DBContext())
     {
         bool IsVip   = false;
         var  clients = dbContext.Clients;
         foreach (var client in clients)
         {
             if (client.Number == ClientNumber)
             {
                 IsVip = true;
             }
         }
         return(IsVip);
     }
 }
Esempio n. 6
0
        // POST: api/Orders
        public HttpResponseMessage Post([FromBody] Order order)
        {
            using (Orders_DBContext dbContext = new Orders_DBContext())
            {
                Order order1 = new Order();
                order1.ClientNumber = order.ClientNumber;
                order1.Description  = order.Description;

                order1.TotalPrice = 0;

                var goods = dbContext.Goods;
                foreach (var good in goods)
                {
                    if (order1.Description.Contains(good.Number.ToString()))
                    {
                        order1.TotalPrice += good.Price;
                    }
                }

                // Если Клиент VIP уменьшаем общую сумму заказа на размер скидки, но не более 50%
                if (ClientIsVip(order1.ClientNumber))
                {
                    var FullPrice = order1.TotalPrice;

                    var orders = dbContext.Orders;
                    foreach (var oldorder in orders)
                    {
                        if (oldorder.ClientNumber == order1.ClientNumber)
                        {
                            if (order1.TotalPrice > FullPrice / 2)
                            {
                                order1.TotalPrice -= 1;
                            }
                        }
                    }
                }



                dbContext.Orders.Add(order1);
                dbContext.SaveChanges();

                return(Request.CreateResponse(HttpStatusCode.Created, order1));
            }
        }
Esempio n. 7
0
        public IEnumerable <Good> GetDetail(int Number)
        {
            using (Orders_DBContext dbContext = new Orders_DBContext())
            {
                //return dbContext.Orders.Where(e => e.ClientNumber == ClientNumber);

                var orders = dbContext.Orders;
                foreach (var order in orders)
                {
                    if (order.Number == Number)
                    {
                        var goods = dbContext.Goods;
                        foreach (var good in goods)
                        {
                            if (order.Description.Contains(good.Number.ToString()))
                            {
                                yield return(good);
                            }
                        }
                    }
                }
            }
        }