Ejemplo n.º 1
0
        public int AddPaymentRecord(DLModel.Payment modelPayment)
        {
            //  var PaymentSum = _paymentRepository.GetAll(Pay => Pay.InvoiceId == modelPayment.InvoiceId).ToList().Select(Pay => Pay.PaymentAmount == null ? 0 : Pay.PaymentAmount).Sum();
            //PaymentSum = PaymentSum + modelPayment.PaymentAmount;
            DLModel.Invoice InvoiceDetail = _IInvoiceImpl.GetInvoiceDetailsById(modelPayment.InvoiceId);

            //if (modelPayment.PaymentAmount <= InvoiceDetail.InvoiceBalanceAmt)
            //{
            InvoiceDetail.InvoiceBalanceAmt = (InvoiceDetail.InvoiceBalanceAmt - modelPayment.PaymentAmount).Value;
            var updInvoiceBalAmt = _invoiceRepository.Update(InvoiceDetail, inv => inv.InvoiceBalanceAmt);

            return(_paymentRepository.Add((DLModel.Payment) new DLModel.Payment().InjectFrom(modelPayment)).PaymentId);
            //}
            //else
            //    return -1; // Payment Sum amout can't be greater then invoice amount
        }
Ejemplo n.º 2
0
        public int UpdatePaymentRecord(DLModel.Payment modelPayment)
        {
            // var PaymentSum = _paymentRepository.GetAll(Pay => Pay.InvoiceId == modelPayment.InvoiceId && Pay.PaymentId != modelPayment.PaymentId).ToList().Select(Pay => Pay.PaymentAmount == null ? 0 : Pay.PaymentAmount).Sum();
            //PaymentSum = PaymentSum + modelPayment.PaymentAmount;
            DLModel.Invoice InvoiceDetail    = _IInvoiceImpl.GetInvoiceDetailsById(modelPayment.InvoiceId);
            var             oldPaymentAmount = _paymentRepository.GetAll(pay => pay.PaymentId == modelPayment.PaymentId).Select(inv => new DLModel.Payment().InjectFrom(inv)).Cast <DLModel.Payment>().SingleOrDefault().PaymentAmount;
            //if (modelPayment.PaymentAmount <= (InvoiceDetail.InvoiceBalanceAmt + oldPaymentAmount))
            //{
            var newInvoiceAmount = (InvoiceDetail.InvoiceBalanceAmt + oldPaymentAmount) - modelPayment.PaymentAmount;

            InvoiceDetail.InvoiceBalanceAmt = newInvoiceAmount.Value;
            var updInvoiceBalAmt = _invoiceRepository.Update(InvoiceDetail, inv => inv.InvoiceBalanceAmt);

            return(_paymentRepository.Update((DLModel.Payment) new DLModel.Payment().InjectFrom(modelPayment)));
            //}
            //else
            //    return -1; // Payment Sum amout can't be greater then invoice amount
        }