Exemple #1
0
 public bool IsReceiveGreaterThanSent(ReceiveDetailNewViewModel receiveDetailNewViewModel)
 {
     return receiveDetailNewViewModel.ReceivedQuantityInMt > receiveDetailNewViewModel.SentQuantityInMt &&
         receiveDetailNewViewModel.ReceivedQuantityInUnit >= receiveDetailNewViewModel.SentQuantityInUnit;
 }
Exemple #2
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;
        }