Пример #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);
        }
Пример #2
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));
        }