public string AddItemToUserBasket(Item item) { var userCustomer = GetCurrentUser(); if (userCustomer == null) { return("Администратор не является Customer client, поэтому не может добавлять товары в корзину"); } Order startOrder; if (userCustomer.Order.SingleOrDefault(x => x.Status == "Новый") == null) { startOrder = new Order() { Customer = userCustomer, OrderDate = DateTime.Now, Status = "Новый", OrderNumber = db.Orders.GetOrderNumber() }; db.Orders.Create(startOrder); } else { startOrder = userCustomer.Order.SingleOrDefault(x => x.Status == "Новый"); } OrderElement newOrderElement = startOrder.OrderElement.SingleOrDefault(x => x.ItemId == item.ItemId); if (newOrderElement != null) { ChangeItemCountInBasket(item, newOrderElement.ItemsCount + 1); } else { newOrderElement = new OrderElement() { ItemId = item.ItemId, OrderId = startOrder.OrderId, ItemsCount = 1, ItemPrice = item.Price }; db.OrderElements.Create(newOrderElement); } db.Save(); return("successful item element added in basket"); }
public string ChangeOrderStatusOrdering(DateTime time) { if (time < DateTime.Now) { return("Вы не можете выбрать дату доставки раньше чем сегодня!"); } var user = UserManager.FindById(User.Identity.GetUserId()); var userCustomer = db.Customers.GetAll().FirstOrDefault(x => x.CustomerId == user.CustomerId); var userOrder = db.Orders.GetAll().SingleOrDefault(x => x.CustomerId == userCustomer.CustomerId && x.Status == "Новый"); if (userOrder == null) { return("Ваша корзина пуста, наполните её чтобы сделать заказ!"); } userOrder.Status = "Выполняется"; userOrder.ShipmentDate = time; db.Orders.Update(userOrder); db.Save(); return("Заказ успешно оформлен!"); }
public string DeleteItem(Guid id) { db.Items.Delete(id); db.Save(); return("Remove Success"); }