Esempio n. 1
0
        public bool IsReceiveExcedeAllocation(ReceiveDetailNewViewModel receiveDetailNewViewModel, Guid receiptAllocationId)
        {
            var     allocation = _unitOfWork.ReceiptAllocationRepository.FindBy(t => t.ReceiptAllocationID == receiptAllocationId).FirstOrDefault();
            decimal sum        = 0;

            if (allocation != null && allocation.Receives != null)
            {
                sum = allocation.Receives.Aggregate(sum, (current1, r) => r.ReceiveDetails.Aggregate(current1, (current, rd) => current + Math.Abs(rd.QuantityInMT)));
            }
            var received = sum;

            if (allocation == null)
            {
                return(false);
            }
            var remaining = allocation.QuantityInMT - received;

            //if its being edited
            if (receiveDetailNewViewModel.ReceiveId != null)
            {
                var prevrecieve =
                    _unitOfWork.ReceiveRepository.FindById(receiveDetailNewViewModel.ReceiveId.GetValueOrDefault());
                remaining += prevrecieve.ReceiveDetails.FirstOrDefault().QuantityInMT;
            }


            return(receiveDetailNewViewModel.ReceivedQuantityInMt > remaining);
        }
Esempio n. 2
0
 public bool IsReceiveGreaterThanSent(ReceiveDetailNewViewModel receiveDetailNewViewModel)
 {
     return(receiveDetailNewViewModel.ReceivedQuantityInMt > receiveDetailNewViewModel.SentQuantityInMt &&
            receiveDetailNewViewModel.ReceivedQuantityInUnit >= receiveDetailNewViewModel.SentQuantityInUnit);
 }