public void OnNewReplenishmentRequest(ReplenishmentRequest replenishmentRequest) { string[] row = { replenishmentRequest.Id.ToString(), replenishmentRequest.Book.Title, replenishmentRequest.Quantity.ToString() }; ListViewItem newReplenishmentRequest = new ListViewItem(row); replenishmentRequestsList.Items.Add(newReplenishmentRequest); }
public void OnOrdersShipment(List <int> shippedReplenishmentRequestIds) { List <ReplenishmentRequestData> shippedReplenishmentRequest = new List <ReplenishmentRequestData>(); foreach (int orderShippedId in shippedReplenishmentRequestIds) { ReplenishmentRequest replenishmentRequest = _replenishmentRequests.Find(r => r.Id == orderShippedId); _shippedReplenishmentRequests.Add(replenishmentRequest); _replenishmentRequests.Remove(replenishmentRequest); ReplenishmentRequestData replenishmentRequestData = new ReplenishmentRequestData(); replenishmentRequestData.Id = replenishmentRequest.Id; BookData bookData = new BookData(); bookData.Id = replenishmentRequest.Book.Id; bookData.Price = replenishmentRequest.Book.Price; bookData.Title = replenishmentRequest.Book.Title; replenishmentRequestData.Book = bookData; replenishmentRequestData.Quantity = replenishmentRequest.Quantity; shippedReplenishmentRequest.Add(replenishmentRequestData); } _storeService.OnOrdersShipment(shippedReplenishmentRequest); }
public void OnNewReplenishmentRequestAsync(ReplenishmentRequest replenishmentRequest) { string[] row = { replenishmentRequest.Id.ToString(), replenishmentRequest.Book.Title, replenishmentRequest.Quantity.ToString() }; ListViewAddItemDelegate listViewAddItemDelegate = replenishmentRequestsList.Items.Add; ListViewItem newReplenishmentRequest = new ListViewItem(row); BeginInvoke(listViewAddItemDelegate, newReplenishmentRequest); }
private static void OnNewReplenishmentRequest(object sender, ReceiveCompletedEventArgs e) { MessageQueue messageQueue = (MessageQueue)sender; Message msg = messageQueue.EndReceive(e.AsyncResult); if (msg == null) { return; } if (msg.Body != null) { ReplenishmentRequest replenishmentRequest = (ReplenishmentRequest)msg.Body; _replenishmentRequests.Add(replenishmentRequest); _gui.OnNewReplenishmentRequestAsync(replenishmentRequest); } messageQueue.BeginReceive(); }
public void OnOrdersShipment(List <ReplenishmentRequestData> shippedReplenishmentOrders) { //add to pendent orders to be used as reference on ship arrive on store List <ReplenishmentRequest> replenishmentRequests = new List <ReplenishmentRequest>(); foreach (ReplenishmentRequestData replenishmentRequestData in shippedReplenishmentOrders) { BookData bookData = replenishmentRequestData.Book; Book book = new Book(bookData.Id, bookData.Title, bookData.Price); ReplenishmentRequest replenishmentRequest = new ReplenishmentRequest(replenishmentRequestData.Id, book, replenishmentRequestData.Quantity); replenishmentRequests.Add(replenishmentRequest); } _pendentListOfReplenishmentRequestsOrderedByShipmentOrder.Add(replenishmentRequests); Dictionary <Book, int> booksToStockIncrement = GetBooksToStockIncrementFromReplenishmentRequests(replenishmentRequests); KeyValuePair <List <ComplexOrder>, Dictionary <Book, int> > pendentOrdersSolvedAndRemainingStockIncrementValue = GetPendentOrdersSolvedWithStockIncrementForThisBook(booksToStockIncrement); List <ComplexOrder> pendentOrdersSolved = pendentOrdersSolvedAndRemainingStockIncrementValue.Key; string pendentOdersReport = ""; foreach (ComplexOrder pendentOrderSolved in pendentOrdersSolved) { pendentOrderSolved.State = Order.DispatchWillOccurInTwoDays(); string pendentOrderReport = pendentOrderSolved.State; pendentOrderReport += "\n\n"; pendentOrderReport = GenerateTableForOrderReport(pendentOrderSolved, pendentOrderReport); string clientEmail = pendentOrderSolved.Client.Email; string clientName = pendentOrderSolved.Client.Name; EmailSender.SendEmail(pendentOrderReport, "Pending Order", clientEmail, clientName); } _pendentOrdersThatWereSolvedToBooksRemainingStockIncrement.Add(pendentOrdersSolvedAndRemainingStockIncrementValue); _pendentOrders.RemoveAll(p => pendentOrdersSolved.Contains(p)); }
private void GenerateStockFault(Book book, int quantity) { ReplenishmentRequest replenishmentRequest = new ReplenishmentRequest(book, quantity); storeWarehouseMessenger.SendMessage(replenishmentRequest); }