private void AddNotInInventory_Click(object sender, RoutedEventArgs e) { if (NotInName.Text != String.Empty && NotInSize.Text != String.Empty && NotInPrice.Text != String.Empty) { //if (!notInInventory.Where(a => a.NotInInventoryName != NotInName.Text && a.NotInInventoryQuantity != Convert.ToInt32(NotInInventoryQuantity.Text) && // a.NotInInventorySize != NotInInventorySize.Text && a.NotInInventoryPrice != Convert.ToDecimal(NotInInventoryPrice.Text)).Any()) { Random r = new Random(); NotInInventoryDTO notIn = new NotInInventoryDTO(); notIn.NotInInventoryId = r.Next(-5000, -1); notIn.NotInInventoryName = NotInName.Text; notIn.NotInInventoryQuantity = 1; notIn.NotInInventorySize = NotInSize.Text; notIn.NotInInventoryPrice = Convert.ToDecimal(NotInPrice.Text); if (basePage != null) { WorkOrderMessage msg = new WorkOrderMessage(); msg.NotInInventory = notIn; basePage.LoadWorkOrderData(msg); } this.Close(); } } }
//the arrangement data is kept on this page - so the management for //both work order inventory and not in inventory lists as well as the //arrangement inventory and arrangement not in inventory lists is done here //if deletion happens here - if an item is deleted on the arrangement page, //then only arrangement data is modified, if a modification is made on the //arrangement page AND Save is pressed, the modified data is synced with //the data on this page public void OnDeleteWorkOrderItem(object sender, EventArgs e) { Button button = sender as Button; if (button != null) { WorkOrderViewModel sel = button.CommandParameter as WorkOrderViewModel; if (sel != null) { if (sel.InventoryId == 0) //"Not in inventory" { if (sel.GroupId == 0) //not in arrangement { if (notInInventory.Where(a => a.NotInInventoryName == sel.InventoryName && a.NotInInventorySize == sel.Size && a.NotInInventoryQuantity == sel.Quantity).Any()) { NotInInventoryDTO dto = notInInventory.Where(a => a.NotInInventoryName == sel.InventoryName && a.NotInInventorySize == sel.Size && a.NotInInventoryQuantity == sel.Quantity).First(); notInInventory.Remove(dto); } } else { RemoveItemFromArrangementList(sel); } } RemoveItemFromInventoryList(sel); RedrawInventoryList(); } } }
public void OnDeleteArrangementItem(object sender, EventArgs e) { Button button = sender as Button; if (button != null) { if (button.CommandParameter != null) { WorkOrderViewModel dto = button.CommandParameter as WorkOrderViewModel; if (dto != null) { if (dto.InventoryId == 0) { if (notInInventoryList.Where(a => a.NotInInventoryName == dto.InventoryName && a.NotInInventorySize == dto.Size && a.NotInInventoryQuantity == dto.Quantity).Any()) { NotInInventoryDTO nii = notInInventoryList.Where(a => a.NotInInventoryName == dto.InventoryName && a.NotInInventorySize == dto.Size && a.NotInInventoryQuantity == dto.Quantity).First(); notInInventoryList.Remove(nii); } } else { if (arrangementInventoryList.Where(a => a.InventoryId == dto.InventoryId).Any()) { ArrangementInventoryItemDTO aiid = arrangementInventoryList.Where(a => a.InventoryId == dto.InventoryId).First(); arrangementInventoryList.Remove(aiid); } } } ReloadListData(); } } }
public WorkOrderMessage() { Person = new PersonDTO(); Inventory = new WorkOrderInventoryMapDTO(); NotInInventory = new NotInInventoryDTO(); Arrangement = new AddArrangementRequest(); CustomerContainer = new CustomerContainerDTO(); }
private void ProcessNotInInventoryData(NotInInventoryDTO dto) { if (!shipmentInventoryList.Where(a => a.NotInInventoryId == dto.NotInInventoryId).Any()) { shipmentInventoryList.Add(new WorkOrderViewModel(dto)); ReloadItemList(); } }
protected override void OnAppearing() { base.OnAppearing(); Products.IsEnabled = true; //called when we return from an "Inventory Search" ArrangementInventoryItemDTO searchedForInventory = ((App)App.Current).searchedForArrangementInventory; if (searchedForInventory != null && searchedForInventory.InventoryId != 0) { if (!arrangementInventoryList.Contains(searchedForInventory)) { //arrangementInventoryListOC.Clear(); searchedForInventory.Quantity = 1; arrangementInventoryList.Add(searchedForInventory); //foreach (ArrangementInventoryItemDTO a in arrangementInventoryList) //{ // arrangementInventoryListOC.Add(a); //} //ArrangementItemsListView.ItemsSource = arrangementInventoryListOC; SetWorkOrderSalesData(); ((App)App.Current).searchedForArrangementInventory = null; } } //called when we return from a "Customer Search" CustomerContainerDTO searchedForCustomerContainer = ((App)App.Current).searchedForCustomerContainer; if (searchedForCustomerContainer != null && searchedForCustomerContainer.CustomerContainerId != 0) { customerContainerId = searchedForCustomerContainer.CustomerContainerId; CustomerContainerLabelEntry.Text = searchedForCustomerContainer.Label; ((App)App.Current).searchedForCustomerContainer = null; } //called when we return from a Work Order page click on a previously created arrangement item //called when we return from an "Inventory Search" AND a a not in inventory item wants to be added NotInInventoryDTO notInInventory = ((App)App.Current).notInInventory_toAdd; if (notInInventory != null && !NotInInventoryItemIsinList(notInInventory)) { notInInventoryList.Add(notInInventory); ((App)App.Current).notInInventory_toAdd = null; } ReloadListData(); }
/// <summary> /// Add data from a subordinate page to this arrangement /// </summary> /// <param name="msg"></param> public override void LoadWorkOrderData(WorkOrderMessage msg) { if (msg.HasMessage()) { if (msg.CustomerContainer.CustomerContainerId != 0) { CustomerContainer = msg.CustomerContainer; CustomerContainerLabelEntry.Text = CustomerContainer.Label; } if (msg.Inventory.InventoryId != 0) { if (currentArrangement.ArrangementInventory.Where(a => a.InventoryId == msg.Inventory.InventoryId).Any()) { ArrangementInventoryItemDTO dto = currentArrangement.ArrangementInventory.Where(a => a.InventoryId == msg.Inventory.InventoryId).First(); currentArrangement.ArrangementInventory.Remove(dto); } currentArrangement.ArrangementInventory.Add(new ArrangementInventoryItemDTO() { ArrangementId = currentArrangement.Arrangement.ArrangementId, InventoryId = msg.Inventory.InventoryId, InventoryName = msg.Inventory.InventoryName + " " + msg.Inventory.Size, Quantity = 1 });; } if (!String.IsNullOrEmpty(msg.NotInInventory.NotInInventoryName)) { if (msg.NotInInventory.NotInInventoryId != 0) { if (currentArrangement.NotInInventory.Where(a => a.NotInInventoryId == msg.NotInInventory.NotInInventoryId).Any()) { NotInInventoryDTO dto = currentArrangement.NotInInventory.Where(a => a.NotInInventoryId == msg.NotInInventory.NotInInventoryId).First(); currentArrangement.NotInInventory.Remove(dto); } } else if (msg.NotInInventory.UnsavedId != 0) { if (currentArrangement.NotInInventory.Where(a => a.UnsavedId == msg.NotInInventory.UnsavedId).Any()) { NotInInventoryDTO dto = currentArrangement.NotInInventory.Where(a => a.UnsavedId == msg.NotInInventory.UnsavedId).First(); currentArrangement.NotInInventory.Remove(dto); } } //validate - no dupes msg.NotInInventory.ArrangementId = currentArrangement.Arrangement.ArrangementId; currentArrangement.NotInInventory.Add(msg.NotInInventory); } ReloadListData(); } }
public WorkOrderViewModel(NotInInventoryDTO dto) { WorkOrderId = dto.WorkOrderId; //InventoryId = 387; //temp constant InventoryId = 0; NotInInventoryId = dto.NotInInventoryId; UnsavedId = dto.UnsavedId; InventoryName = dto.NotInInventoryName; Quantity = dto.NotInInventoryQuantity; ImageId = 0; Size = dto.NotInInventorySize; GroupId = dto.ArrangementId; }
public WorkOrderViewModel(NotInInventoryDTO dto) { WorkOrderId = dto.WorkOrderId; InventoryId = 387; //temp constant InventoryTypeId = 0; //we don't know - should they have to add this? NotInInventoryId = dto.NotInInventoryId; UnsavedId = dto.UnsavedId; InventoryName = dto.NotInInventoryName; Quantity = dto.NotInInventoryQuantity; ImageId = 0; Size = dto.NotInInventorySize; GroupId = dto.ArrangementId; }
private void AddNotInInventory_Clicked(object sender, EventArgs e) { String msg = String.Empty; if (NotInInventoryName.Text == String.Empty) { msg += "Please add a name for the item not in inventory. \n"; } if (NotInInventorySize.Text == String.Empty) { msg += "Please add a size for the item not in inventory. \n"; } if (NotInInventoryPrice.Text == String.Empty) { msg += "Please add a price for the item not in inventory. \n"; } if (msg != String.Empty) { DisplayAlert("Error", msg, "Ok"); } else { NotInInventoryDTO dto = new NotInInventoryDTO(); Random r = new Random(); dto.NotInInventoryId = r.Next(-5000, -1); dto.WorkOrderId = 0; dto.ArrangementId = 0; dto.NotInInventoryName = NotInInventoryName.Text; dto.NotInInventoryQuantity = 1; dto.NotInInventorySize = NotInInventorySize.Text; dto.NotInInventoryPrice = Convert.ToDecimal(NotInInventoryPrice.Text); if (Initiator is ArrangementPage) { MessagingCenter.Send <NotInInventoryDTO>(dto, "ArrangementNotInInventory"); } else if (Initiator is WorkOrderPage) { MessagingCenter.Send <NotInInventoryDTO>(dto, "WorkOrderNotInInventory"); } Navigation.PopAsync(); } }
private void QuantityTextBox_TextChanged(object sender, TextChangedEventArgs e) { foreach (WorkOrderViewModel vm in WorkOrderInventoryListView.ItemsSource as ObservableCollection <WorkOrderViewModel> ) { if (vm.InventoryId != 0 && currentWorkOrder.WorkOrderList.Where(a => a.InventoryId == vm.InventoryId).Any()) { WorkOrderInventoryMapDTO woii = currentWorkOrder.WorkOrderList.Where(a => a.InventoryId == vm.InventoryId).First(); woii.Quantity = vm.Quantity; } if (vm.NotInInventoryId != 0 && currentWorkOrder.NotInInventory.Where(a => a.NotInInventoryId == vm.NotInInventoryId).Any()) { NotInInventoryDTO notIn = currentWorkOrder.NotInInventory.Where(a => a.NotInInventoryId == vm.NotInInventoryId).First(); notIn.NotInInventoryQuantity = vm.Quantity; } } }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { WorkOrderViewModel dto = (sender as Button).CommandParameter as WorkOrderViewModel; if (dto != null) { if (dto.InventoryId != 0) { if (dto.GroupId.HasValue && dto.GroupId.Value != 0) { if (arrangementList.Where(a => a.Arrangement.ArrangementId == dto.GroupId.Value).Any()) { AddArrangementRequest aar = arrangementList.Where(b => b.Arrangement.ArrangementId == dto.GroupId.Value).First(); if (aar.ArrangementInventory.Where(c => c.InventoryId == dto.InventoryId).Any()) { ArrangementInventoryItemDTO item = aar.ArrangementInventory.Where(c => c.InventoryId == dto.InventoryId).First(); aar.ArrangementInventory.Remove(item); } } } else { if (currentWorkOrder.WorkOrderList.Where(a => a.InventoryId == dto.InventoryId).Any()) { WorkOrderInventoryMapDTO map = currentWorkOrder.WorkOrderList.Where(b => b.InventoryId == dto.InventoryId).First(); currentWorkOrder.WorkOrderList.Remove(map); } } } else if (dto.NotInInventoryId != 0) { if (currentWorkOrder.NotInInventory.Where(a => a.NotInInventoryId == dto.NotInInventoryId).Any()) { NotInInventoryDTO notIn = currentWorkOrder.NotInInventory.Where(a => a.NotInInventoryId == dto.NotInInventoryId).First(); currentWorkOrder.NotInInventory.Remove(notIn); } } ReloadItemList(); SetWorkOrderSalesData(); } }
void ProcessNotInInventoryData(NotInInventoryDTO notIn) { if (notIn.NotInInventoryId != 0) { if (currentWorkOrder.NotInInventory.Where(a => a.NotInInventoryId == notIn.NotInInventoryId).Any()) { NotInInventoryDTO dto = currentWorkOrder.NotInInventory.Where(a => a.NotInInventoryId == notIn.NotInInventoryId).First(); currentWorkOrder.NotInInventory.Remove(dto); } } //names must be unique if (!currentWorkOrder.NotInInventory.Where(a => a.NotInInventoryName == notIn.NotInInventoryName).Any()) { currentWorkOrder.NotInInventory.Add(notIn); } else { MessageBox.Show(Application.Current.MainWindow, "Duplicate name for not in inventory item.", "Error", MessageBoxButton.OK); } }
void RemoveItemFromArrangementList(WorkOrderViewModel dto) { foreach (AddArrangementRequest aaReq in arrangementList) { if (dto.InventoryId == 0) //not in inventory { if (aaReq.NotInInventory.Where(a => a.NotInInventoryName == dto.InventoryName && a.NotInInventorySize == dto.Size && a.NotInInventoryQuantity == dto.Quantity).Any()) { NotInInventoryDTO remove = aaReq.NotInInventory.Where(a => a.NotInInventoryName == dto.InventoryName && a.NotInInventorySize == dto.Size && a.NotInInventoryQuantity == dto.Quantity).First(); aaReq.NotInInventory.Remove(remove); } } else { if (aaReq.ArrangementInventory.Where(a => a.InventoryName == dto.InventoryName && a.Size == dto.Size && a.Quantity == dto.Quantity).Any()) { ArrangementInventoryItemDTO remove = aaReq.ArrangementInventory.Where(a => a.InventoryName == dto.InventoryName && a.Size == dto.Size && a.Quantity == dto.Quantity).First(); aaReq.ArrangementInventory.Remove(remove); } } } }
private void OnDeleteArrangementInventory(object sender, RoutedEventArgs e) { Button b = sender as Button; if (b != null) { WorkOrderViewModel arrangementInventoryItem = b.CommandParameter as WorkOrderViewModel; if (arrangementInventoryItem != null) { if (arrangementInventoryList.Where(a => a.InventoryId == arrangementInventoryItem.InventoryId).Any()) { ArrangementInventoryItemDTO dto = arrangementInventoryList.Where(a => a.InventoryId == arrangementInventoryItem.InventoryId).First(); arrangementInventoryList.Remove(dto); } else if (notInInventory.Where(a => a.NotInInventoryId == arrangementInventoryItem.NotInInventoryId).Any()) { NotInInventoryDTO dto = notInInventory.Where(a => a.NotInInventoryId == arrangementInventoryItem.NotInInventoryId).First(); notInInventory.Remove(dto); } ReloadListData(); } } }
public void AddNotInInventoryToWorkOrder(NotInInventoryDTO arg) { notInInventory_toAdd = arg; }
public void AddNotInInventoryToArrangement(NotInInventoryDTO arg) { notInInventory_toAdd = arg; }
private bool NotInInventoryItemIsinList(NotInInventoryDTO dto) { return(notInInventory.Where(a => a.NotInInventoryName == dto.NotInInventoryName && a.NotInInventorySize == dto.NotInInventorySize && a.NotInInventoryPrice == dto.NotInInventoryPrice).Any()); }