// GET ORDERS public IEnumerable <Order> Get() { using (Orders_DBContext dbContext = new Orders_DBContext()) { return(dbContext.Orders.ToList()); } }
public Client Get(int Number) { using (Orders_DBContext dbContext = new Orders_DBContext()) { return(dbContext.Clients.FirstOrDefault(e => e.Number == Number)); } }
// 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)); } }
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); } } } }
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); } }
// 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)); } }
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); } } } } } }