示例#1
0
        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));
                }
            }
        }
示例#2
0
 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();
            }
        }
示例#5
0
        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;
            }
        }
示例#6
0
        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));
            }
        }
示例#7
0
        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;
                }
            }
        }
示例#8
0
        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();
        }
示例#13
0
 public void AddCustomerContainerToWorkOrder(CustomerContainerDTO arg)
 {
     searchedForCustomerContainer = arg;
 }