Ejemplo n.º 1
0
        public static bool AdjustMaterialWarehouseItem(Part part, Domain domain, string rackLocation, int qty, string comments, AdjustmentTransactionType sourceType, MessageListener messageListener)
        {
            var repo = Scout.Core.Data.GetRepository(part.Session);
            var whse = new MaterialsWarehouseInventory(repo);

            MaterialWarehouseItem item;

            try
            {
                // Adjust the quantity
                if (sourceType.Direction == "IN")
                {
                    item = whse.IncreaseItemQuantity(part, domain, rackLocation, qty);
                }
                else
                {
                    item = whse.DecreaseItemQuantity(part, domain, rackLocation, qty);
                }

                // Write the transaction
                WriteQtyAdjustmentTransaction(item, qty, comments, sourceType);

                return(repo.Save());
            }
            catch (Exception ex)
            {
                Scout.Core.UserInteraction.Dialog.ShowMessage(ex.Message, UserMessageType.Error);
                return(false);
            }
        }
Ejemplo n.º 2
0
        public static bool TransferMaterialToLocation(MaterialWarehouseItem item, Domain domain, string location, int qty, string comments)
        {
            if (!new MaterialLocationTransferValidator(item, domain, location, qty).Validated())
            {
                return(false);
            }

            var repo      = Scout.Core.Data.GetRepository(domain.Session);
            var warehouse = new MaterialsWarehouseInventory(repo);

            try
            {
                warehouse.DecreaseItemQuantity(item.Part, item.Domain, item.RackLocation, qty);
                warehouse.IncreaseItemQuantity(item.Part, item.Domain, location, qty);

                // Write Transaction
                WriteTransferLocationTransaction(item, domain, location, qty, comments);

                return(repo.Save());
            }
            catch (Exception ex)
            {
                Scout.Core.UserInteraction.Dialog.ShowMessage(ex.Message, UserMessageType.Error);
                return(false);
            }
        }
Ejemplo n.º 3
0
        public static bool IssueOutMaterial(MaterialWarehouseItem item, Shopfloorline shopfloorline, int qty)
        {
            if (!new MaterialIssueOutValidator(item, shopfloorline, qty).Validated())
            {
                return(false);
            }

            try
            {
                var repo       = Scout.Core.Data.GetRepository(shopfloorline.Session);
                var warehouse  = new MaterialsWarehouseInventory(repo);
                var consumable = new MaterialsConsumableInventory(repo);

                consumable.IncreaseItemQty(item.Part, shopfloorline, qty);
                warehouse.DecreaseItemQuantity(item.Part, item.Domain, item.RackLocation, qty);

                // Write the transaction
                WriteIssueOutTransaction(item, qty, shopfloorline);

                //Commit
                return(repo.Save());
            }
            catch (Exception ex)
            {
                Scout.Core.UserInteraction.Dialog.ShowMessage(ex.Message, UserMessageType.Error);
                return(false);
            }
        }
Ejemplo n.º 4
0
 private static void AddMaterialToDomain(Part part, int quantity, Domain domain)
 {
     try
     {
         var repo = part.Session.AsRepository();
         var whse = new MaterialsWarehouseInventory(repo);
         whse.IncreaseItemQuantity(part, domain, null, quantity);
         repo.Save();
     }
     catch (Exception ex)
     {
         Scout.Core.UserInteraction.Dialog.ShowMessage(ex.Message, UserMessageType.Error);
     }
 }
Ejemplo n.º 5
0
        public void can_increase_warehouse_items()
        {
            var repo      = new XpoRepository(m_unitOfWork);
            var part      = repo.Create <FakePart>();
            var domain    = repo.Create <FakeDomain>();
            var warehouse = new MaterialsWarehouseInventory(repo);

            warehouse.IncreaseItemQuantity(part, domain, null, 5);

            repo.Save();

            var item = repo.Get <MaterialWarehouseItem>(i => i.Part.Id == 1);

            Assert.That(item.Qty == 5);
        }
Ejemplo n.º 6
0
        public static bool PutAwayMaterial(MaterialWarehouseItem item, RackLocation location, int qty, string comments)
        {
            if (!new PutAwayMaterialValidator(item, location, qty).Validated())
            {
                return(false);
            }

            var repo      = location.Session.AsRepository();
            var warehouse = new MaterialsWarehouseInventory(repo);

            warehouse.IncreaseItemQuantity(item.Part, item.Domain, location.Label, qty);
            warehouse.DecreaseItemQuantity(item.Part, item.Domain, null, qty);

            // Write Transaction
            WriteMaterialPutAwayTransaction(item.Part, qty, item.Domain, location.Label, comments);

            repo.Save();

            return(true);
        }