Example #1
0
            protected override void TransitionIn(State previous)
            {
                base.TransitionIn(previous);

                bool hasFailed = string.IsNullOrEmpty(_fc.slot.Uid.value);
                List <InventoryItemProxy> iips = new List <InventoryItemProxy>();

                if (hasFailed)
                {
                    foreach (FusionItem fi in _fc.slot.FusionItems)
                    {
                        InventoryItemProxy iip = Game.instance.user.InventoryProxy.SingleOrDefault(x => x.Uid == fi.Uid && x.Quality == fi.Quality);
                        iips.Add(iip);
                    }
                }
                _fc.slot.EndCrafting();
                _fc.InitIngredients(hasFailed ? iips : null);
                _fc.UpdateUI();

                _fc.startButton.gameObject.SetActive(true);
                _fc.anim.Play(_fc.animEndPhase3.name, PlayMode.StopAll);
                _fc.fusedItemControl.hasEffects = false;
                _fc.fusedMythic.gameObject.SetActive(false);
                foreach (FusionItemControl fi in _fc.fusionItems)
                {
                    fi.animator.SetTrigger("Reset");

                    fi.anim.Play(fi.animFloatOut.name, PlayMode.StopAll);
                }
            }
Example #2
0
        public void CheckQuantityOnOrderAndQuantityCommitted()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            dto1.RrpInclTax = 7.75M;
            proxy.Insert(dto1);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            InvoiceDto saleOrder = this.GetSaleOrder(dto1);
            CrudProxy  invoice   = new InvoiceProxy();

            invoice.Insert(saleOrder);

            dto1 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual(5, dto1.QuantityCommitted, "Incorrect # of stocks committed (used by sale orders)");

            InvoiceDto po = this.GetPurchaseOrder(dto1);

            po.PurchaseOrderNumber = "<Auto Number>";
            invoice.Insert(po);

            dto1 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual(5, dto1.QuantityCommitted, "Incorrect # of stocks committed (used by sale orders)");

            dto1 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual(20, dto1.QuantityOnOrder, "Incorrect # of stocks on order(used by purchase orders)");
        }
Example #3
0
        public void GetByDescription()
        {
            string code1 = Guid.NewGuid().ToString().Substring(0, 10);
            string code2 = Guid.NewGuid().ToString().Substring(0, 10);

            string description1 = Guid.NewGuid().ToString().Substring(0, 20);
            string description2 = description1 + "bar";

            InventoryItemProxy proxy = new InventoryItemProxy();

            InventoryItemDto dto = new InventoryItemDto();

            dto.Code        = code1;
            dto.Description = description1;
            proxy.Insert(dto);

            dto             = new InventoryItemDto();
            dto.Code        = code2;
            dto.Description = description2;
            proxy.Insert(dto);

            List <InventoryItemDto> list = proxy.FindList <InventoryItemDto>(InventoryItemProxy.ResponseXPath,
                                                                             "DescriptionBeginsWith", description1);

            Assert.AreEqual(2, list.Count, string.Format("Incorrect number of items returned for code {0}", description1));
        }
        private void SetupInventoryItems()
        {
            CrudProxy inventoryItem = new InventoryItemProxy();

            string guid = Guid.NewGuid().ToString().Remove(0, 20);

            this.AsusLaptop                      = new InventoryItemDto();
            this.AsusLaptop.Code                 = "ASUS-" + guid;
            this.AsusLaptop.Description          = "Asus Laptop";
            this.AsusLaptop.IsInventoried        = true;
            this.AsusLaptop.AssetAccountUid      = this.AssetInventory.Uid;
            this.AsusLaptop.IsBought             = true;
            this.AsusLaptop.PurchaseTaxCode      = TaxCode.ExpInclGst;
            this.AsusLaptop.IsSold               = true;
            this.AsusLaptop.SaleIncomeAccountUid = this.IncomeHardwareSales.Uid;
            this.AsusLaptop.SaleTaxCode          = TaxCode.SaleInclGst;
            this.AsusLaptop.RrpInclTax           = 1111.11M;
            this.AsusLaptop.SaleCoSAccountUid    = this.CoSHardware.Uid;
            inventoryItem.Insert(this.AsusLaptop);

            this.Cat5Cable                      = new InventoryItemDto();
            this.Cat5Cable.Code                 = "Cat5-" + guid;
            this.Cat5Cable.Description          = "Cat 5 Cable (in meter)";
            this.Cat5Cable.IsInventoried        = true;
            this.Cat5Cable.AssetAccountUid      = this.AssetInventory.Uid;
            this.Cat5Cable.IsBought             = true;
            this.Cat5Cable.PurchaseTaxCode      = TaxCode.ExpInclGst;
            this.Cat5Cable.IsSold               = true;
            this.Cat5Cable.SaleIncomeAccountUid = this.IncomeHardwareSales.Uid;
            this.Cat5Cable.SaleTaxCode          = TaxCode.SaleInclGst;
            this.Cat5Cable.RrpInclTax           = 2.55M;
            this.Cat5Cable.SaleCoSAccountUid    = this.CoSHardware.Uid;
            inventoryItem.Insert(this.Cat5Cable);

            this.HardDisk                      = new InventoryItemDto();
            this.HardDisk.Code                 = "Seagate-" + guid;
            this.HardDisk.Description          = "Seagate HDD - 300G";
            this.HardDisk.IsInventoried        = true;
            this.HardDisk.AssetAccountUid      = this.AssetInventory.Uid;
            this.HardDisk.IsBought             = true;
            this.HardDisk.PurchaseTaxCode      = TaxCode.ExpInclGst;
            this.HardDisk.IsSold               = true;
            this.HardDisk.SaleIncomeAccountUid = this.IncomeHardwareSales.Uid;
            this.HardDisk.SaleTaxCode          = TaxCode.SaleInclGst;
            this.HardDisk.RrpInclTax           = 110.95M;
            this.HardDisk.SaleCoSAccountUid    = this.CoSHardware.Uid;
            inventoryItem.Insert(this.HardDisk);

            this.Shipping1             = new InventoryItemDto();
            this.Shipping1.Code        = "Shipping1-" + guid;
            this.Shipping1.Description = "Shipping - 1";
            this.Shipping1.IsBought    = true;
            this.Shipping1.PurchaseExpenseAccountUid = this.ExpenseMisc.Uid;
            this.Shipping1.PurchaseTaxCode           = TaxCode.ExpInclGst;
            this.Shipping1.IsSold = true;
            this.Shipping1.SaleIncomeAccountUid = this.IncomeShipping.Uid;
            this.Shipping1.SaleTaxCode          = TaxCode.SaleInclGst;
            this.Shipping1.RrpInclTax           = 59.95M;
            inventoryItem.Insert(this.Shipping1);
        }
        private void SetupInventoryItems()
        {
            this.Item1 = this.GetItem1();
            CrudProxy proxy = new InventoryItemProxy();

            proxy.Insert(this.Item1);
            Assert.IsTrue(this.Item1.Uid > 0, "Uid must be > 0 after save.");
        }
Example #6
0
        public void InsertAndGet()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            proxy.Insert(dto1);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            InventoryItemDto dto2 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);

            AssertEqual(dto1, dto2);
        }
Example #7
0
        public void TestAverageCostIsReturnedForInventoryItem()
        {
            CrudProxy proxy             = new InventoryAdjustmentProxy();
            InventoryAdjustmentDto dto1 = this.GetInventoryAdjustment();

            proxy.Insert(dto1);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            proxy = new InventoryItemProxy();
            InventoryItemDto itemDto = (InventoryItemDto)proxy.GetByUid(HardDisk.Uid);

            Assert.IsTrue(itemDto.AverageCost == 200.50M);
        }
Example #8
0
        public void InsertWithDefaultBuyingPrice()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            dto1.BuyingPrice         = 250M;
            dto1.IsBuyingPriceIncTax = true;
            proxy.Insert(dto1);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            InventoryItemDto dto2 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);

            AssertEqual(dto1, dto2);
        }
Example #9
0
        public void InsertSellPriceIncTax()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            dto1.SellingPrice         = 7.75M;
            dto1.IsSellingPriceIncTax = true;
            proxy.Insert(dto1);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            InventoryItemDto dto2 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);

            Assert.AreEqual(7.75M, dto1.SellingPrice, "Diff. selling price");
            Assert.AreEqual(true, dto1.IsSellingPriceIncTax, "Is selling price exc tax should be true.");
        }
        public void UpdateAsInventoryItem()
        {
            ComboItemProxy proxy     = new ComboItemProxy();
            ComboItemDto   comboItem = this.GetComboItem01();

            proxy.Insert(comboItem);

            ComboItemDto fromDB = (ComboItemDto)proxy.GetByUid(comboItem.Uid);

            fromDB.Description = fromDB.Description + " - Update as Inventory Item";
            fromDB.Items.Clear();

            InventoryItemProxy itemProxy = new InventoryItemProxy();

            itemProxy.Update(fromDB);
        }
Example #11
0
        public void InsertUsingDeprecatedRrpInclTax()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            dto1.RrpInclTax = 7.75M;
            proxy.Insert(dto1);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            InventoryItemDto dto2 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);

            Assert.AreEqual(7.75M, dto2.RrpInclTax, "Diff. rrp. incl. tax.");
            Assert.AreEqual(7.75M, dto2.SellingPrice, "Diff. selling price.");
            Assert.AreEqual(true, dto2.IsSellingPriceIncTax, "Is selling price exc tax should be true.");
        }
Example #12
0
        public void InsertVirtualItem()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            dto1.IsVirtual = true;
            dto1.VType     = "Plan";

            proxy.Insert(dto1);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            InventoryItemDto dto2 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);

            AssertEqual(dto1, dto2);
        }
Example #13
0
        public void InsertVoucherItem()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            dto1.IsVoucher = true;
            dto1.ValidFrom = DateTime.Now.Date;
            dto1.ValidTo   = dto1.ValidFrom.AddMonths(3);

            proxy.Insert(dto1);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            InventoryItemDto dto2 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);

            AssertEqual(dto1, dto2);
        }
Example #14
0
        public void Delete()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            proxy.Insert(dto1);

            proxy.DeleteByUid(dto1.Uid);

            try
            {
                proxy.GetByUid(dto1.Uid);
            }
            catch (RestException ex)
            {
                Assert.AreEqual("RecordNotFoundException", ex.Type);
            }
        }
Example #15
0
        public void GetByUtcLastModified()
        {
            string             code1 = Guid.NewGuid().ToString().Substring(0, 10);
            string             code2 = code1 + "foo";
            InventoryItemProxy proxy = new InventoryItemProxy();

            Thread.Sleep(10000);             //Wait for ten seconds. Avoid retreiving items from text fixture setup.

            InventoryItemDto dto = new InventoryItemDto();

            dto.Code        = code1;
            dto.Description = "New Inventory Item";
            proxy.Insert(dto);

            DateTime lastModifiedFrom = ((InventoryItemDto)proxy.GetByUid(dto.Uid)).UtcLastModified;

            Thread.Sleep(10000);             //Wait for ten seconds.

            dto             = new InventoryItemDto();
            dto.Code        = code2;
            dto.Description = "New Inventory Item";
            proxy.Insert(dto);

            DateTime lastModifiedTo = ((InventoryItemDto)proxy.GetByUid(dto.Uid)).UtcLastModified.AddSeconds(1);

            System.Console.WriteLine("Utc last modified: {0}", lastModifiedFrom.ToString());

            string utcFrom = SqlStrPrep.ToDateTime(lastModifiedFrom).ToString();
            string utcTo   = SqlStrPrep.ToDateTime(lastModifiedTo).ToString();

            utcFrom = utcFrom.Replace('/', '-');
            utcFrom = utcFrom.Replace(' ', 'T');

            utcTo = utcTo.Replace('/', '-');
            utcTo = utcTo.Replace(' ', 'T');

            List <InventoryItemDto> list = proxy.FindList <InventoryItemDto>(InventoryItemProxy.ResponseXPath,
                                                                             "UtcLastModifiedFrom", utcFrom, "UtcLastModifiedTo", utcTo);

            Assert.AreEqual(2, list.Count, string.Format("Incorrect number of items returned for UtcLastModifiedFrom {0} and UtcLastModifiedTo{1}", utcFrom, utcTo));
        }
Example #16
0
        public void Update()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            proxy.Insert(dto1);

            string lastUpdatedUid = dto1.LastUpdatedUid;

            dto1.Description     = this.TestUid + "For Test Update - Updated";
            dto1.Notes           = "Updated ....";
            dto1.AssetAccountUid = this.AssetInventory2.Uid;
            dto1.SaleTaxCode     = TaxCode.SaleExports;

            proxy.Update(dto1);

            Assert.IsTrue(dto1.LastUpdatedUid != lastUpdatedUid);

            InventoryItemDto dto2 = (InventoryItemDto)proxy.GetByUid(dto1.Uid);

            AssertEqual(dto1, dto2);
        }
Example #17
0
        private void OnInventoryItemSelected(InventoryItemProxy obj)
        {
            long fusionSlotsLeft = (long)Game.instance.user.Modifier.value["fusion_slots"];

            List <InventoryItemProxy> iips = new List <InventoryItemProxy>()
            {
                obj
            };

            foreach (FusionItemControl fi in fusionItems)
            {
                if (fi.iip != null)
                {
                    if (!fi.IsPremium)
                    {
                        iips.Add(fi.iip);
                    }
                    fusionSlotsLeft--;
                }
            }

            foreach (FusionItemControl fi in fusionItems)
            {
                if (fi.iip == null)
                {
                    fi.iip = obj;
                    string prefix   = obj.Quality > 0 ? Game.instance.data.GetText("item_quality_" + obj.Quality) + " " : string.Empty;
                    string itemName = string.Format("{0}{1}", Utils.FormatTitle(prefix), Utils.FormatTitle(obj.ItemData.name));
                    Game.instance.infoPanel.PushMessage(string.Format(Game.instance.text.GetText("add_item_fusion"), itemName), InfoPanel.MessageType.Info);
                    fusionSlotsLeft--;
                    if (fusionSlotsLeft <= 0)
                    {
                        UnregisterAndCloseView();
                    }
                    break;
                }
            }
            UpdatePremiumItem(iips);
        }
Example #18
0
        public void UpdateDeleted()
        {
            CrudProxy        proxy = new InventoryItemProxy();
            InventoryItemDto dto1  = this.GetInventoryItem();

            proxy.Insert(dto1);

            proxy.DeleteByUid(dto1.Uid);

            dto1.Description = "Try updating deleted item";

            try
            {
                proxy.Update(dto1);
                throw new Exception("Expected exception not thrown.");
            }
            catch (RestException rex)
            {
                if (!rex.Message.Contains("Unable to find inventory item uid"))
                {
                    throw new Exception("Possibly incorrect error thrown.");
                }
            }
        }
        public void BuildComboItem()
        {
            ComboItemProxy proxy = new ComboItemProxy();

            ComboItemDto comboItemDto = this.GetComboItem01();

            proxy.Insert(comboItemDto);
            ComboItemDto comboItem = (ComboItemDto)proxy.GetByUid(comboItemDto.Uid);

            // We need to insert stock first using a purchase
            CrudProxy  invoiceProxy = new InvoiceProxy();
            InvoiceDto dto          = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Item);

            dto.Date                = DateTime.Today.Date;
            dto.ContactUid          = this.MrSmith.Uid;
            dto.Summary             = "Add stock do we can build ComboItems";
            dto.Notes               = "From REST";
            dto.DueOrExpiryDate     = dto.Date.AddMonths(1);
            dto.Status              = InvoiceStatus.Invoice;
            dto.InvoiceNumber       = "I123";
            dto.PurchaseOrderNumber = "<Auto Number>";

            decimal unitsToBuild = 12.25M;

            foreach (ComboItemLineItemDto itemInCombo in comboItem.Items)
            {   // "purchase" all the items that are part of this combo item so we have valid stock
                ItemInvoiceItemDto item = new ItemInvoiceItemDto();
                item.Quantity         = itemInCombo.Quantity * unitsToBuild;
                item.InventoryItemUid = itemInCombo.Uid;
                item.Description      = "Purchasing: " + itemInCombo.Code;
                item.TaxCode          = TaxCode.ExpInclGst;
                item.UnitPriceInclTax = 99.95M;
                dto.Items.Add(item);
            }
            invoiceProxy.Insert(dto);

            // Download stock info before
            InventoryItemProxy inventoryItemProxy = new InventoryItemProxy();
            InventoryItemDto   inventoryItem      = (InventoryItemDto)inventoryItemProxy.GetByUid(comboItemDto.Uid);
            decimal            stockOnHand        = inventoryItem.StockOnHand;


            // Build the item!
            BuildComboItemResult result = proxy.Build(comboItemDto.Uid, unitsToBuild);

            Assert.AreNotEqual(0, result.Uid);
            Assert.IsNotNull(result.LastUpdatedUid);

            inventoryItem = (InventoryItemDto)inventoryItemProxy.GetByUid(comboItemDto.Uid);
            decimal newStockOnHand = inventoryItem.StockOnHand;

            Assert.AreEqual(stockOnHand + unitsToBuild, newStockOnHand, "We have one extra item in stock");

            // Read Inventory Transfer details
            InventoryTransferProxy transferProxy = new InventoryTransferProxy();
            InventoryTransferDto   transfer      = (InventoryTransferDto)transferProxy.GetByUid(result.Uid);

            Assert.AreEqual(comboItem.Items.Count + 1, transfer.Items.Count); // +1 as we have the combo item the first one

            // confirm first item is the combo with +1
            InventoryTransferItemDto comboItemTransfer = (InventoryTransferItemDto)transfer.Items[0];

            Assert.AreEqual(comboItemDto.Uid, comboItemTransfer.InventoryItemUid);
            Assert.AreEqual(unitsToBuild, comboItemTransfer.Quantity);

            for (int i = 0; i < comboItem.Items.Count; i++)
            {
                ComboItemLineItemDto     line = comboItem.Items[i];
                InventoryTransferItemDto item = (InventoryTransferItemDto)transfer.Items[i + 1];
                Assert.AreEqual(line.Uid, item.InventoryItemUid);
                Assert.AreEqual(line.Quantity * unitsToBuild, -item.Quantity);
            }
        }
Example #20
0
        private void CreateTestInventoryItems()
        {
            var proxy = new InventoryItemProxy();

            //sale items.
            if (_InventorySaleItemId == 0)
            {
                var dto = new InventoryItemDto
                {
                    AssetAccountUid        = _AssetAccountId,
                    AverageCost            = new decimal(5.00),
                    BuyingPrice            = new decimal(4.00),
                    Code                   = string.Format("Inv{0}", Guid.NewGuid().ToString().Substring(0, 20)),
                    CurrentValue           = new decimal(6.00),
                    DefaultReOrderQuantity = 2,
                    Description            = "Test inventory sale item",
                    IsActive               = true,
                    IsBought               = false,
                    IsBuyingPriceIncTax    = false,
                    IsSold                 = true,
                    SaleIncomeAccountUid   = _IncomeAccountId
                };

                proxy.Insert(dto);
                _InventorySaleItemId = dto.Uid;
            }

            if (_InventorySaleItemId2 == 0)
            {
                var dto = new InventoryItemDto
                {
                    AssetAccountUid        = _AssetAccountId,
                    AverageCost            = new decimal(25.00),
                    BuyingPrice            = new decimal(40.00),
                    Code                   = string.Format("Inv{0}", Guid.NewGuid().ToString().Substring(0, 20)),
                    CurrentValue           = new decimal(16.00),
                    DefaultReOrderQuantity = 20,
                    Description            = "updated Test inventory sale item",
                    IsActive               = true,
                    IsBought               = false,
                    IsBuyingPriceIncTax    = false,
                    IsSold                 = true,
                    SaleIncomeAccountUid   = _IncomeAccountId2
                };

                proxy.Insert(dto);
                _InventorySaleItemId2 = dto.Uid;
            }

            //purchase items.
            if (_InventoryPurchaseItemId == 0)
            {
                var dto = new InventoryItemDto
                {
                    AssetAccountUid           = _AssetAccountId,
                    AverageCost               = new decimal(5.00),
                    BuyingPrice               = new decimal(4.00),
                    Code                      = string.Format("Inv{0}", Guid.NewGuid().ToString().Substring(0, 20)),
                    CurrentValue              = new decimal(6.00),
                    DefaultReOrderQuantity    = 2,
                    Description               = "Test inventory purchase item",
                    IsActive                  = true,
                    IsBought                  = true,
                    IsBuyingPriceIncTax       = true,
                    PurchaseExpenseAccountUid = _ExpenseAccountId
                };

                proxy.Insert(dto);
                _InventoryPurchaseItemId = dto.Uid;
            }

            if (_InventoryPurchaseItemId2 == 0)
            {
                var dto = new InventoryItemDto
                {
                    AssetAccountUid           = _AssetAccountId,
                    AverageCost               = new decimal(50.00),
                    BuyingPrice               = new decimal(40.00),
                    Code                      = string.Format("Inv{0}", Guid.NewGuid().ToString().Substring(0, 20)),
                    CurrentValue              = new decimal(60.00),
                    DefaultReOrderQuantity    = 20,
                    Description               = "Updated test inventory purchase item",
                    IsActive                  = true,
                    IsBought                  = true,
                    IsBuyingPriceIncTax       = true,
                    PurchaseExpenseAccountUid = _ExpenseAccountId2
                };

                proxy.Insert(dto);
                _InventoryPurchaseItemId2 = dto.Uid;
            }
        }