private void ShowImage_Clicked(object sender, EventArgs e)
        {
            Button button = sender as Button;

            if (button != null)
            {
                if (button.CommandParameter != null)
                {
                    long inventoryId = (long)(button).CommandParameter;
                    ArrangementInventoryItemDTO inventory = arrangementInventoryList.Where(a => a.InventoryId == inventoryId).FirstOrDefault();

                    if (inventory != null && inventory.ImageId != 0)
                    {
                        if (!inventoryImageIdsLoaded.Contains(inventory.ImageId))
                        {
                            EOImgData imageData = ((App)App.Current).GetImage(inventory.ImageId);

                            if (imageData.imgData != null && imageData.imgData.Length > 0)
                            {
                                inventoryImageIdsLoaded.Add(inventory.ImageId);

                                TabParent.AddInventoryImage(imageData);
                            }
                        }
                    }
                }
            }
        }
        private void ArrangementInventoryList_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            ArrangementInventoryFilteredItem item = (sender as ListView).SelectedItem as ArrangementInventoryFilteredItem;

            if (item != null)
            {
                if (Initiator is ShipmentPage)
                {
                    ShipmentInventoryItemDTO so = new ShipmentInventoryItemDTO(0, item.Id, item.Name, item.Size, 0);

                    MessagingCenter.Send <ShipmentInventoryItemDTO>(so, "SearchShipmentInventory");
                }
                else if (Initiator is ArrangementPage)
                {
                    ArrangementInventoryItemDTO ao = new ArrangementInventoryItemDTO(0, item.Id, item.Name, item.InventoryTypeId, 0);

                    MessagingCenter.Send <ArrangementInventoryItemDTO>(ao, "SearchArrangementInventory");
                }
                else
                {
                    WorkOrderInventoryItemDTO wo = new WorkOrderInventoryItemDTO(0, item.Id, item.InventoryTypeId, item.Name, item.Size, 0);

                    MessagingCenter.Send <WorkOrderInventoryItemDTO>(wo, "SearchInventory");
                }
            }

            Navigation.PopAsync();
        }
        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();
                }
            }
        }
        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();
        }
예제 #5
0
        private void OnDeleteArrangementInventory(object sender, RoutedEventArgs e)
        {
            Button b = sender as Button;
            ArrangementInventoryItemDTO arrangementInventoryItem = b.CommandParameter as ArrangementInventoryItemDTO;

            arrangementInventoryList.Remove(arrangementInventoryItem);
            this.InventoryListView.ItemsSource = null;
            this.InventoryListView.ItemsSource = arrangementInventoryList;
        }
예제 #6
0
 public WorkOrderViewModel(ArrangementInventoryItemDTO dto, long workOrderId)
 {
     WorkOrderId   = workOrderId;
     InventoryId   = dto.InventoryId;
     InventoryName = dto.InventoryName;
     Quantity      = dto.Quantity;
     ImageId       = dto.ImageId;
     //Size = dto..Size;
     GroupId = dto.ArrangementId;
 }
예제 #7
0
        /// <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();
            }
        }
예제 #8
0
        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();
            }
        }
예제 #9
0
        private void Quantity_TextChanged(object sender, TextChangedEventArgs e)
        {
            foreach (WorkOrderViewModel vm in ArrangementInventoryListView.ItemsSource as ObservableCollection <WorkOrderViewModel> )
            {
                if (vm.InventoryId != 0 && currentArrangement.ArrangementInventory.Where(a => a.InventoryId == vm.InventoryId).Any())
                {
                    ArrangementInventoryItemDTO woii = currentArrangement.ArrangementInventory.Where(a => a.InventoryId == vm.InventoryId).First();
                    woii.Quantity = vm.Quantity;
                }

                if (vm.NotInInventoryId != 0 && currentArrangement.NotInInventory.Where(a => a.NotInInventoryId == vm.NotInInventoryId).Any())
                {
                    NotInInventoryDTO notIn = currentArrangement.NotInInventory.Where(a => a.NotInInventoryId == vm.NotInInventoryId).First();
                    notIn.NotInInventoryQuantity = vm.Quantity;
                }
            }
        }
예제 #10
0
 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);
             }
         }
     }
 }
예제 #11
0
        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();
                }
            }
        }
예제 #12
0
 public void LoadArrangementInventory(ArrangementInventoryItemDTO arg)
 {
     searchedForArrangementInventory = arg;
 }