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