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