public async Task <CreateActiveDeliveryCommandResult> Handle(CreateActiveDeliveryCommand request, CancellationToken cancellationToken) { var resultExistance = await _client.GetResponse <BooksExitanceResult>( new { BooksIdsWithEans = request.ItemsInfo .ToDictionary(key => key.BookId, value => value.BookEan) }); if (!resultExistance.Message.IsAllExists) { return(new CreateActiveDeliveryCommandResult(false, new [] { "Some of requested books not exists or they Ids do not match with corresponding Eans" })); } var delivery = new ActiveDelivery(request.Name); AddDeliveryItems(delivery, request); var deliveryResult = _activeDeliveryRepository.Add(delivery); if (await _activeDeliveryRepository.UnitOfWork.SaveChangesAsync(cancellationToken) < 1) { return(new CreateActiveDeliveryCommandResult(false, new [] { "Something went wrong during saving Active Delivery to Db" })); } var result = _mapper.Map <CommandActiveDeliveryDto>(deliveryResult); return(new CreateActiveDeliveryCommandResult(true, result)); }
public void RefreshView() { Menu.Clear(); Clients.Clear(); ActiveOrders.Clear(); CompletedOrders.Clear(); ActiveDelivery.Clear(); CompletedDeliveries.Clear(); foreach (DishDTG dish in restaurantManager.GetMenu()) { Menu.Add(new DishModel(dish)); } foreach (ClientDTG client in restaurantManager.GetAllClients()) { Clients.Add(new ClientModel(client)); } foreach (OrderDTG order in restaurantManager.GetActiveOrders()) { ActiveOrders.Add(new OrderModel(order)); } foreach (OrderDTG order in restaurantManager.GetCompletedOrders()) { CompletedOrders.Add(new OrderModel(order)); } foreach (OrderDTG order in restaurantManager.GetActiveDeliveries()) { ActiveDelivery.Add(new OrderModel(order)); } foreach (OrderDTG order in restaurantManager.GetCompletedDeliveries()) { CompletedDeliveries.Add(new OrderModel(order)); } }
public void RefreshView() { Menu.Clear(); Clients.Clear(); ActiveOrders.Clear(); CompletedOrders.Clear(); ActiveDelivery.Clear(); CompletedDeliveries.Clear(); foreach (Dish dish in restaurantManager.GetMenu()) { Menu.Add(dish); } foreach (Client client in restaurantManager.GetAllClients()) { Clients.Add(client); } foreach (Order order in restaurantManager.GetActiveOrders()) { ActiveOrders.Add(order); } foreach (Order order in restaurantManager.GetCompletedOrders()) { CompletedOrders.Add(order); } foreach (Order order in restaurantManager.GetActiveDeliveries()) { ActiveDelivery.Add(order); } foreach (Order order in restaurantManager.GetCompletedDeliveries()) { CompletedDeliveries.Add(order); } }
public void AddDeliveryItems(ActiveDelivery delivery, CreateActiveDeliveryCommand command) { if (delivery is null || command is null) { return; } foreach (var itemInfo in command.ItemsInfo) { delivery.AddDeliveryItem(itemInfo.BookId, itemInfo.BookEan, itemInfo.ItemsCount); } }
public bool RedeemDelivery(ActiveDelivery activeDelivery, out string error) { error = string.Empty; if (!activeDelivery.IsRedeemOperationAllowed()) { error = "Redeem operation is not allowed"; } if (!string.IsNullOrEmpty(error)) { return(false); } _context.ActiveDeliveries.Remove(activeDelivery); return(true); }
public void Remove(ActiveDelivery activeDelivery) { _context.ActiveDeliveries.Remove(activeDelivery); }
public ActiveDelivery Add(ActiveDelivery activeDelivery) { var response = _context.ActiveDeliveries.Add(activeDelivery).Entity; return(response); }