Exemple #1
0
        private void OnItemSelected(object data)
        {
            ViewInventory view = Game.instance.views.GetView <ViewInventory>();

            if (Game.instance.settingsManager.gameOptionToggles[SettingsManager.GameOption.Multicraft])
            {
                onItemSelected.Fire(data as InventoryItemProxy);
            }
            else
            {
                view.onInventoryItemProxySelected -= OnItemSelected;
                WindowManager.instance.RemoveCurrentFullScreenWindow();
                iip = data as InventoryItemProxy;
            }

            Game.instance.soundManager.PlaySound(eSoundId.eSFX_CharacterEquip);
        }
Exemple #2
0
 private void OnSelection()
 {
     if (data != null)
     {
         if (iip == null)
         {
             ViewInventory view = Game.instance.views.ViewCreate <ViewInventory>();
             view.updateCardAfterSelection = true;
             view.isFusion       = true;
             view.qualityMaximum = FusionQualityMaximum;
             view.qualityMinimum = FusionQualityMinumum;
             view.onInventoryItemProxySelected += OnItemSelected;
             view.ViewShow();
             Game.instance.soundManager.PlaySound(eSoundId.eSFX_CardListOpen);
         }
         else
         {
             iip = null;
             onItemUnselected.Fire();
             Game.instance.soundManager.PlaySound(eSoundId.eSFX_GenericClick);
         }
     }
 }
Exemple #3
0
        public void UnregisterFromView()
        {
            ViewInventory view = Game.instance.views.GetView <ViewInventory>();

            view.onInventoryItemProxySelected -= OnItemSelected;
        }
        public List <ViewInventory> GetListofViewIntentory(ADProjectDb db)
        {
            List <InventoryController.InventoryContainer> inventoryContainersList = (from IC in db.ItemCatalogue
                                                                                     join SI in db.StockInfo
                                                                                     on IC.ItemCatalogueId equals SI.ItemCatalogueId
                                                                                     join SC in db.SupplierCatalogue
                                                                                     on IC.ItemCatalogueId equals SC.ItemId
                                                                                     join S in db.Supplier
                                                                                     on SC.SupplierId equals S.SupplierId
                                                                                     orderby SC.ItemId, SC.SupplierRank
                                                                                     select new InventoryController.InventoryContainer()
            {
                itemId = IC.ItemCatalogueId,
                description = IC.ItemDes,
                quantity = SI.StockQuantity,
                roLevel = SI.ReOrderLevel,
                roQty = SI.ReOrderQuantity,
                unit = IC.UnitOfMeasure,
                supplier = S.SupplierName,
                rank = SC.SupplierRank,
                location = SI.ItemLocation
            }).ToList();

            // Get the list of itemId in orderdetails are in "Ordered" order
            List <int> itemInOrderList = (from OD in db.OrderDetail
                                          where OD.Order.OrderStatus.OrderStatusId == 3
                                          select OD.ItemId).ToList();

            // Get the list of itemId in orderdetails are in "Draft" order
            List <int> itemInDraftList = (from OD in db.OrderDetail
                                          where OD.Order.OrderStatus.OrderStatusId == 1
                                          select OD.ItemId).ToList();
            // Get the list of itemId in orderdetails are in "Enquiry" order
            List <int> itemInEnquiryList = (from OD in db.OrderDetail
                                            where OD.Order.OrderStatus.OrderStatusId == 2
                                            select OD.ItemId).ToList();

            // Filter out 3 lists based on supplier Rank for each item
            List <InventoryController.InventoryContainer> itemlistS1 = inventoryContainersList.Where(S => S.rank == 1).ToList();
            List <InventoryController.InventoryContainer> itemlistS2 = inventoryContainersList.Where(S => S.rank == 2).ToList();
            List <InventoryController.InventoryContainer> itemlistS3 = inventoryContainersList.Where(S => S.rank == 3).ToList();

            List <ViewInventory> viewInventories = new List <ViewInventory>();

            for (int i = 0; i < itemlistS1.Count; i++)
            {
                ViewInventory newEntry = new ViewInventory()
                {
                    itemId      = itemlistS1[i].itemId,
                    description = itemlistS1[i].description,
                    quantity    = itemlistS1[i].quantity,
                    rOLevel     = itemlistS1[i].roLevel,
                    rOQty       = itemlistS1[i].roQty,
                    unit        = itemlistS1[i].unit,
                    location    = itemlistS1[i].location,
                    supplier1   = itemlistS1[i].supplier,
                    supplier2   = itemlistS2[i].supplier,
                    supplier3   = itemlistS3[i].supplier
                };
                //if low stock level but in an existing orderdetails, status  is Ordered
                //if low stock level and not found in existing orderdetails, status is InSufficient
                if (itemlistS1[i].quantity <= itemlistS1[i].roLevel)
                {
                    if (itemInOrderList.Contains(itemlistS1[i].itemId))
                    {
                        newEntry.status = "Ordered";
                    }
                    else if (itemInDraftList.Contains(itemlistS1[i].itemId))
                    {
                        newEntry.status = "Drafted";
                    }
                    else if (itemInEnquiryList.Contains(itemlistS1[i].itemId))
                    {
                        newEntry.status = "Enquiring";
                    }
                    else
                    {
                        newEntry.status = "Insufficient";
                    }
                }
                else
                {
                    newEntry.status = "Sufficient";
                }

                viewInventories.Add(newEntry);
            }
            return(viewInventories);
        }