Пример #1
0
        public void UpdateActualQuantityForDisbursementDetail(string disbursementId, string itemCode, int quantity, String email)
        {
            if (FindDisbursementById(disbursementId) == null)
            {
                throw new ArgumentException("Disbursement cannot be found");
            }

            if (disbursementDetailRepository.FindById(disbursementId, itemCode) == null)
            {
                throw new ArgumentException("Disbursement Detail cannot be found");
            }

            var disbursementDetail = FindDisbursementById(disbursementId).DisbursementDetails.Where(x => x.ItemCode == itemCode).FirstOrDefault();

            if (quantity > disbursementDetail.PlanQuantity)
            {
                throw new ArgumentException("Plan quantity cannot be more than actual quantity");
            }

            disbursementDetail.ActualQuantity  = quantity;
            disbursementDetail.UpdatedBy       = new UserService(context).FindUserByEmail(email);
            disbursementDetail.UpdatedDateTime = DateTime.Now;

            disbursementDetailRepository.Save(disbursementDetail);
        }
        public void TestInitialize()
        {
            context = new ApplicationDbContext();

            retrievalService    = new RetrievalService(context);
            itemService         = new ItemService(context);
            disbursementService = new DisbursementService(context);

            retrievalRepository          = new RetrievalRepository(context);
            disbursementRepository       = new DisbursementRepository(context);
            disbursementdetailRepository = new DisbursementDetailRepository(context);
            stockmovementRepository      = new StockMovementRepository(context);
            statusRepository             = new StatusRepository(context);

            Retrieval retrieval = new Retrieval();

            if (retrievalRepository.FindById("TEST") == null)
            {
                //save retrieval object into db

                retrieval.RetrievalId     = "TEST";
                retrieval.CreatedDateTime = DateTime.Now;
                retrievalRepository.Save(retrieval);
                retrieval.Status = statusRepository.FindById(19);
            }
            else
            {
                retrieval = retrievalRepository.FindById("TEST");
            }

            Disbursement disbursement = new Disbursement();

            if (disbursementRepository.FindById("TEST") == null)
            {
                disbursement.DisbursementId  = "TEST";
                disbursement.CreatedDateTime = DateTime.Now;
                disbursement.Retrieval       = retrieval;
            }
            else
            {
                disbursement = disbursementRepository.FindById("TEST");
            }

            disbursementRepository.Save(disbursement);

            //save disbursement detail object into db
            DisbursementDetail detail = new DisbursementDetail()
            {
                Disbursement   = disbursement,
                Item           = context.Item.Where(x => x.ItemCode == "C003").First(),
                PlanQuantity   = 5,
                ActualQuantity = 5
            };

            disbursementdetailRepository.Save(detail);
        }
        public void ConfirmCollectionTest()
        {
            int expected = 10; //status id of Items Collected

            //get retrieval object
            Retrieval retrieval = context.Retrieval.Where(x => x.RetrievalId == "TEST").First();

            retrieval.Requisitions.FirstOrDefault().RequisitionDetails = new List <RequisitionDetail>()
            {
                new RequisitionDetail()
                {
                    RequisitionId = retrieval.Requisitions.FirstOrDefault().RequisitionId,
                    Item          = new ItemService(context).FindItemByItemCode("E030"),
                    Status        = new StatusService(context).FindStatusByStatusId(8),
                }
            };

            //create disbursement and save it into database
            Disbursement a = new Disbursement();

            a.DisbursementId = IdService.GetNewDisbursementId(context);
            a.Department     = departmentRepository.FindById("COMM");
            retrieval.Requisitions.Add(context.Requisition.First());
            a.Retrieval       = retrieval;
            a.CreatedDateTime = DateTime.Now;
            disbursementService.Save(a);

            //include Disbursement detail object and save it
            DisbursementDetail detail = new DisbursementDetail()
            {
                Disbursement   = a,
                Item           = context.Item.First(),
                PlanQuantity   = 1,
                ActualQuantity = 1
            };

            disbursementdetailRepository.Save(detail);

            Disbursement result = disbursementService.ConfirmCollection(a.DisbursementId);


            //Asert
            Assert.AreEqual(expected, result.Status.StatusId);
        }
Пример #4
0
        public void FindByIdTestNotNull()
        {
            // Arrange
            var expected = new DisbursementDetail()
            {
                DisbursementId = "DDREPOTEST",
                ItemCode       = "E030",
            };

            disbursementRepository.Save(new Disbursement()
            {
                DisbursementId  = "DDREPOTEST",
                CreatedDateTime = DateTime.Now,
            });
            disbursementDetailRepository.Save(expected);

            // Act
            var result = disbursementDetailRepository.FindById("DDREPOTEST", "E030");

            // Assert
            Assert.IsInstanceOfType(result, typeof(DisbursementDetail));
        }
        public void TestInitialize()
        {
            context = new ApplicationDbContext();

            stockmovementService = new StockMovementService(context);
            itemService          = new ItemService(context);

            stockmovementRepository = new StockMovementRepository(context);

            ddRepository           = new DisbursementDetailRepository(context);
            sadRepository          = new StockAdjustmentDetailRepository(context);
            dodRepository          = new DeliveryOrderDetailRepository(context);
            disbursementRepository = new DisbursementRepository(context);
            doRepository           = new DeliveryOrderRepository(context);
            saRepository           = new StockAdjustmentRepository(context);

            //create new test object and save into db
            StockMovement sm = new StockMovement()
            {
                StockMovementId   = IdService.GetNewStockMovementId(context),
                DisbursementId    = "TEST",
                StockAdjustmentId = "TEST",
                DeliveryOrderNo   = "TEST",
                Item             = context.Item.Where(x => x.ItemCode == "C003").First(),
                CreatedDateTime  = DateTime.Now,
                OriginalQuantity = 1,
                AfterQuantity    = 2
            };

            stockmovementRepository.Save(sm);

            //create new disbursement object and save into db
            Disbursement disbursement = new Disbursement();

            if (disbursementRepository.FindById("TEST") == null)
            {
                disbursement.DisbursementId  = "TEST";
                disbursement.CreatedDateTime = DateTime.Now;
            }
            else
            {
                disbursement = disbursementRepository.FindById("TEST");
            }
            disbursementRepository.Save(disbursement);

            //create new DisbursementDetail object and save into db
            DisbursementDetail detail = new DisbursementDetail()
            {
                DisbursementId = "TEST",
                Item           = context.Item.First(),
                PlanQuantity   = 3,
                ActualQuantity = 3
            };

            ddRepository.Save(detail);

            //create new DO object and save into db
            DeliveryOrder d = new DeliveryOrder();

            if (doRepository.FindById("TEST") == null)
            {
                d.DeliveryOrderNo = "TEST";
                d.CreatedDateTime = DateTime.Now;
            }
            else
            {
                d = doRepository.FindById("TEST");
            }
            doRepository.Save(d);

            //create new DO detail object and save into db
            DeliveryOrderDetail dod = new DeliveryOrderDetail()
            {
                DeliveryOrder  = d,
                Item           = context.Item.First(),
                PlanQuantity   = 4,
                ActualQuantity = 4
            };

            dodRepository.Save(dod);

            //create new SA object and save into db
            StockAdjustment SA = new StockAdjustment();

            if (saRepository.FindById("TEST") == null)
            {
                SA.StockAdjustmentId = "TEST";
                SA.CreatedDateTime   = DateTime.Now;
            }
            else
            {
                SA = saRepository.FindById("TEST");
            }
            saRepository.Save(SA);

            //create new SA detail object and save into db
            StockAdjustmentDetail SADetail = new StockAdjustmentDetail()
            {
                StockAdjustment  = SA,
                Item             = context.Item.First(),
                OriginalQuantity = 2,
                AfterQuantity    = 4
            };

            sadRepository.Save(SADetail);
        }
        public void TestInitialize()
        {
            context = new ApplicationDbContext();
            disbursementRepository       = new DisbursementRepository(context);
            disbursementdetailRepository = new DisbursementDetailRepository(context);
            disbursementService          = new DisbursementService(context);
            itemRepository              = new ItemRepository(context);
            retrievalRepository         = new RetrievalRepository(context);
            requisitionRepository       = new RequisitionRepository(context);
            requisitiondetailRepository = new RequisitionDetailRepository(context);
            departmentRepository        = new DepartmentRepository(context);

            Retrieval retrieval = new Retrieval();

            if (retrievalRepository.FindById("TEST") == null)
            {
                //save retrieval object into db

                retrieval.RetrievalId     = "TEST";
                retrieval.CreatedDateTime = DateTime.Now;
                retrievalRepository.Save(retrieval);
            }
            else
            {
                retrieval = retrievalRepository.FindById("TEST");
            }

            //save disbursement object into db

            Disbursement disbursement = new Disbursement();

            if (disbursementRepository.FindById("TEST") == null)
            {
                disbursement.DisbursementId  = "TEST";
                disbursement.CreatedDateTime = DateTime.Now;
                disbursement.Retrieval       = retrieval;
            }
            else
            {
                disbursement = disbursementRepository.FindById("TEST");
            }

            disbursementRepository.Save(disbursement);

            //save disbursement detail object into db
            DisbursementDetail detail = new DisbursementDetail()
            {
                Disbursement   = disbursement,
                Item           = context.Item.First(),
                PlanQuantity   = 20,
                ActualQuantity = 20
            };

            disbursementdetailRepository.Save(detail);

            Requisition requisition = new Requisition()
            {
                RequisitionId   = "TEST",
                Retrieval       = retrieval,
                CreatedDateTime = DateTime.Now,
                Status          = new StatusService(context).FindStatusByStatusId(8)
            };

            requisitionRepository.Save(requisition);
        }