private void Save_Clicked(object sender, EventArgs e) { if (forWorkOrder) { if (selectedCustomerContainerId != 0) { CustomerContainerDTO cc = customerContainersOC.Where(a => a.CustomerContainerId == selectedCustomerContainerId).FirstOrDefault(); MessagingCenter.Send <CustomerContainerDTO>(cc, "AddCustomerContainerToWorkOrder"); Navigation.PopAsync(); } else { DisplayAlert("?", "Please select a customer container", "OK"); } } else { if (String.IsNullOrEmpty(Label.Text)) { DisplayAlert("Error", "To save a customer container, you must have at least, a label value", "OK"); } else { string errorMsg = String.Empty; //save the customer container object first - if successful, save image, if successful, update customer container with newly minted image id CustomerContainerRequest request = new CustomerContainerRequest(); request.CustomerContainer.CustomerContainerId = selectedCustomerContainerId; request.CustomerContainer.CustomerId = Person.Person.person_id; request.CustomerContainer.Label = Label.Text; request.CustomerContainer.ImageId = selectedCustomerContainerImageId; ((App)App.Current).AddUpdateCustomerContainers(request).ContinueWith(a => AddCustomerContainerImage(request, a.Result)); } } }
public WorkOrderMessage() { Person = new PersonDTO(); Inventory = new WorkOrderInventoryMapDTO(); NotInInventory = new NotInInventoryDTO(); Arrangement = new AddArrangementRequest(); CustomerContainer = new CustomerContainerDTO(); }
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(); } }
private void ViewCustomerContainerImage_Clicked(object sender, EventArgs e) { IReadOnlyList <Rg.Plugins.Popup.Pages.PopupPage> popupStack = Rg.Plugins.Popup.Services.PopupNavigation.Instance.PopupStack; //One at a time, please if (popupStack != null && popupStack.Count > 0) { return; } Button b = sender as Button; b.IsEnabled = false; try { CustomerContainerDTO customerContainer = (CustomerContainerDTO)((Button)sender).BindingContext; if (customerContainer != null) { long imageId = ((App)App.Current).MissingImageId; if (customerContainer.ImageId != 0) { imageId = customerContainer.ImageId; } EOImgData img = ((App)App.Current).GetImage(imageId); //ServiceCodeDTO serviceCode = ((App)App.Current).GetServiceCodeById(material.Inventory.ServiceCodeId); string price = string.Empty; //if (serviceCode.ServiceCodeId > 0) //{ // price = (serviceCode.Price.HasValue ? serviceCode.Price.Value.ToString("C2", CultureInfo.CurrentCulture) : String.Empty); //} PopupImagePage popup = new PopupImagePage(img, price); Navigation.PushPopupAsync(popup); if (imageId == ((App)App.Current).MissingImageId) { //MessagingCenter.Send<MaterialInventoryDTO>(material, "MaterialMissingImage"); } } } catch (Exception ex) { } finally { b.IsEnabled = true; } }
private void DeleteCustomerContainer_Clicked(object sender, EventArgs e) { CustomerContainerDTO customerContainer = (CustomerContainerDTO)((Button)sender).BindingContext; if (customerContainer != null) { CustomerContainerRequest request = new CustomerContainerRequest(); request.CustomerContainer.CustomerContainerId = customerContainer.CustomerContainerId; request.CustomerContainer.CustomerId = customerContainer.CustomerId; ((App)App.Current).DeleteCustomerContainer(request).ContinueWith(a => CustomerContainerSaveComplete(a.Result)); } }
private void CustomerContainerListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { ListView lv = sender as ListView; if (lv != null) { CustomerContainerDTO sel = (CustomerContainerDTO)lv.SelectedItem; if (sel != null) { CustomerContainer = sel; Label.Text = sel.Label; } } }
private void CustomerContainerListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) { //populate the top part of the form with the selected data and enable the ability to add a new image ListView lv = sender as ListView; if (lv != null) { CustomerContainerDTO item = lv.SelectedItem as CustomerContainerDTO; if (item != null) { selectedCustomerContainerId = item.CustomerContainerId; selectedCustomerContainerImageId = item.ImageId; Label.Text = item.Label; } } }
private void CustomerContainersLoaded(CustomerContainerResponse response) { Dispatcher.Invoke(() => { if (response.CustomerContainers.Count > 0) { EnableCustomerContainerSecondaryControls(true); containers.Add(new KeyValuePair <long, string>(2, "Customer container at EO")); containers.Add(new KeyValuePair <long, string>(3, "Customer container at customer location")); if (currentArrangement.Arrangement.CustomerContainerId.HasValue) { customerContainers = response.CustomerContainers; SetComboBoxSelection(Container, currentArrangement.Arrangement.Container); if (customerContainers.Where(a => a.CustomerContainerId == currentArrangement.Arrangement.CustomerContainerId).Any()) { CustomerContainer = customerContainers.Where(a => a.CustomerContainerId == currentArrangement.Arrangement.CustomerContainerId).First(); CustomerContainerLabelEntry.Text = CustomerContainer.Label; } } } else { EnableCustomerContainerSecondaryControls(false); } if (currentArrangement.Arrangement.ArrangementId > 0) { LoadPageData(); ReloadListData(); } //set the handler last - selection change triggers a page load Container.SelectionChanged += Container_SelectionChanged; }); }
public CustomerContainerRequest(CustomerContainerDTO dto) { CustomerContainer = dto; }
public CustomerContainerRequest() { CustomerContainer = new CustomerContainerDTO(); }
private void LoadWorkOrderArrangement() { //load data passed from parent Name.Text = TabParent.CurrentArrangement.Arrangement.ArrangementName; Location.Text = TabParent.CurrentArrangement.Arrangement.LocationName; GiftCheckBox.IsChecked = TabParent.CurrentArrangement.Arrangement.IsGift == 1 ? true : false; GiftMessage.Text = TabParent.CurrentArrangement.Arrangement.GiftMessage; int index = 0; foreach (KeyValuePair <long, string> kvp in Designer.ItemsSource) { if (kvp.Value == TabParent.CurrentArrangement.Arrangement.DesignerName) { Designer.SelectedIndex = index; break; } index++; } index = 0; foreach (KeyValuePair <long, string> kvp in Style.ItemsSource) { if (kvp.Key == TabParent.CurrentArrangement.Arrangement._180or360) { Style.SelectedIndex = index; break; } index++; } index = 0; foreach (KeyValuePair <long, string> kvp in Container.ItemsSource) { if (kvp.Key == TabParent.CurrentArrangement.Arrangement.Container + 1) //match up - list index is 0 based - container values are 1 based { Container.SelectedIndex = index; if (index > 0) { if (customerContainers.Count > 0) { CustomerContainerDTO customerContainerDTO = customerContainers.Where(a => a.CustomerContainerId == TabParent.CurrentArrangement.Arrangement.CustomerContainerId).FirstOrDefault(); if (customerContainerDTO != null) { CustomerContainerLabelEntry.Text = customerContainerDTO.Label; } } } break; } index++; } arrangementInventoryList = TabParent.CurrentArrangement.ArrangementInventory; foreach (NotInInventoryDTO nii in TabParent.CurrentArrangement.NotInInventory) { notInInventoryList.Add(nii); if (arrangementInventoryList.Where(a => a.ArrangementId == nii.ArrangementId && a.InventoryName == nii.NotInInventoryName && a.Quantity == nii.NotInInventoryQuantity && a.Size == nii.NotInInventorySize).Any()) { continue; } arrangementInventoryList.Add(new ArrangementInventoryItemDTO { ArrangementId = TabParent.CurrentArrangement.Arrangement.ArrangementId, InventoryName = nii.NotInInventoryName, Quantity = nii.NotInInventoryQuantity, Size = nii.NotInInventorySize, }); } if (TabParent.CurrentArrangement.Arrangement.CustomerContainerId.HasValue) { customerContainerId = TabParent.CurrentArrangement.Arrangement.CustomerContainerId; Container.SelectedIndex = TabParent.CurrentArrangement.Arrangement.Container; } ReloadListData(); }
public void AddCustomerContainerToWorkOrder(CustomerContainerDTO arg) { searchedForCustomerContainer = arg; }