private async Task <Order> AddDessertToNewOrderAsync(string userId, string dessertId, int quantity, decimal dessertPrice, Order order) { var clientAddress = await this.usersService.GetUserAddressByIdAsync(userId); order = new Order() { ClientId = userId, DeliveryAddress = clientAddress, }; var dessertOrder = new DessertOrder() { DessertId = dessertId, OrderId = order.Id, Quantity = quantity, }; order.DessertOrders.Add(dessertOrder); order.TotalPrice += dessertPrice * quantity; order.ReviewsCount++; await this.ordersRepository.AddAsync(order); return(order); }
private async Task <Order> AddDessertToAlreadyExistingOrderAsync(string userId, string dessertId, int quantity, decimal dessertPrice, Order order) { order = await this.ordersRepository .All() .FirstOrDefaultAsync(o => o.ClientId == userId && o.OrderStatus == OrderStatus.NotFinish); var dessertOrder = new DessertOrder() { DessertId = dessertId, OrderId = order.Id, Quantity = quantity, }; order.DessertOrders.Add(dessertOrder); order.TotalPrice += dessertPrice * quantity; order.ReviewsCount++; this.ordersRepository.Update(order); return(order); }
public async Task DeleteAsync(DessertOrder dessertOrder) { this.dessertOrdersRepository.Delete(dessertOrder); await this.dessertOrdersRepository.SaveChangesAsync(); }