예제 #1
0
        public JsonResult SavePayment(tbl_payment model)
        {
            try
            {
                db_lendingEntities db = new db_lendingEntities();

                tbl_payment tbl = new tbl_payment();

                tbl.reference_no = model.reference_no;
                tbl.date_trans   = model.date_trans;
                tbl.payor_id     = model.payor_id;
                tbl.payor_name   = model.payor_name;
                tbl.total_amount = model.total_amount;
                tbl.created_by   = Session["UserName"].ToString();
                tbl.date_created = DateTime.Now;

                db.tbl_payment.Add(tbl);

                db.SaveChanges();

                return(Json(tbl.reference_no, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json("Failed", JsonRequestBehavior.DenyGet));

                throw ex;
            }
        }
예제 #2
0
        public async Task <int> Delete(Tbl_paymentRequest tbl_paymentRequest)
        {
            var tbl_payment = new tbl_payment()
            {
                id = tbl_paymentRequest.id
            };

            _context.tbl_payments.Remove(tbl_payment);

            return(await _context.SaveChangesAsync());
        }
예제 #3
0
        public async Task <int> Create(Tbl_paymentRequest tbl_paymentRequest)
        {
            int maxIdOrder  = _context.tbl_orders.Max(u => u.id);
            var tbl_payment = new tbl_payment()
            {
                receive = tbl_paymentRequest.receive,
                refund  = tbl_paymentRequest.refund,
                type    = tbl_paymentRequest.type,
                idorder = maxIdOrder
            };

            _context.tbl_payments.Add(tbl_payment);

            return(await _context.SaveChangesAsync());
        }
예제 #4
0
        public void AddPayment(ref dtoPayment t)
        {
            var payment = new tbl_payment()
            {
                referenceNumber = t.referenceNumber,
                cashAmount = t.chequeAmount,
                chequeNumber = t.chequeNumber,
                chequeDate = t.chequeDate,
                chequeBank = t.chequeBank,
                dateCreated = DateTime.Now,
                createdBy = t.createdBy,
                supplierId = t.supplierId
            };

            DBContext.tbl_payment.Add(payment);
            DBContext.SaveChanges();

            t.paymentId = payment.paymentId;
        }
예제 #5
0
        //VIEWING
        public ActionResult Details(int?id)
        {
            try
            {
                using (db_lendingEntities db = new db_lendingEntities())
                {
                    tbl_payment tbl_payment = db.tbl_payment.Find(id);

                    if (Session["UserId"] != null)
                    {
                        return(View(tbl_payment));
                    }
                    else
                    {
                        return(RedirectToAction("Login", "Account"));
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #6
0
        public async Task <JsonResult> Save(collectionSaveModel model)
        {
            try
            {
                tbl_payment payment = new tbl_payment();

                bool   success = false;
                string message = "";

                db = new db_lendingEntities();

                var isDuplicate = await db.tbl_payment.AllAsync(u => u.reference_no == model.PaymentNo);

                if (isDuplicate == false)
                {
                    payment.reference_no = model.PaymentNo;
                    payment.date_trans   = DateTime.Parse(model.PaymentDate);
                    payment.payor_id     = int.Parse(model.CustomerId);
                    payment.payor_name   = model.CustomerName;
                    payment.total_amount = decimal.Round(decimal.Parse(model.Payment), 2,
                                                         MidpointRounding.AwayFromZero);
                    payment.created_by   = Session["UserName"].ToString();
                    payment.date_created = DateTime.Now;

                    db.tbl_payment.Add(payment);
                    await db.SaveChangesAsync();

                    var result = true;
                    success = result;
                    if (result)
                    {
                        decimal totalPayment       = 0;
                        decimal amountDuePrincipal = 0;
                        decimal amountDueInterest  = 0;

                        try
                        {
                            totalPayment = decimal.Round(decimal.Parse(model.Payment), 2,
                                                         MidpointRounding.AwayFromZero);
                            amountDuePrincipal = decimal.Round(decimal.Parse(model.AmountDuePrincipal), 2,
                                                               MidpointRounding.AwayFromZero);
                            amountDueInterest = decimal.Round(decimal.Parse(model.AmountDueInterest), 2,
                                                              MidpointRounding.AwayFromZero);
                        }
                        catch (Exception ex)
                        {
                        }

                        decimal paymentInterest  = 0;
                        decimal paymentPrincipal = 0;

                        if (amountDueInterest > 0)
                        {
                            if (totalPayment >= amountDueInterest)
                            {
                                paymentInterest = decimal.Round(amountDueInterest, 2, MidpointRounding.AwayFromZero);
                                totalPayment    = totalPayment - paymentInterest;
                            }
                            else if (totalPayment < amountDueInterest)
                            {
                                paymentInterest = totalPayment;
                                totalPayment    = 0;
                            }
                        }
                        if (amountDuePrincipal > 0)
                        {
                            paymentPrincipal = totalPayment;
                            totalPayment     = 0;
                        }
                        if (paymentPrincipal > 0)
                        {
                            tbl_payment_details paymentDetailsPrincipal = new tbl_payment_details();
                            paymentDetailsPrincipal.reference_no = model.PaymentNo;
                            paymentDetailsPrincipal.payment_type = "OR Payment";
                            paymentDetailsPrincipal.loan_no      = model.LoanNo;
                            paymentDetailsPrincipal.loan_name    = model.LoanName;
                            paymentDetailsPrincipal.due_date     = DateTime.Parse(model.LoanDueDate);
                            paymentDetailsPrincipal.amount       =
                                decimal.Round(paymentPrincipal, 2, MidpointRounding.AwayFromZero);
                            paymentDetailsPrincipal.created_by   = Session["UserName"].ToString();
                            paymentDetailsPrincipal.date_created = DateTime.Now;
                            db.tbl_payment_details.Add(paymentDetailsPrincipal);
                            await db.SaveChangesAsync();
                        }
                        if (paymentInterest > 0)
                        {
                            tbl_payment_details paymentDetailsInterest = new tbl_payment_details();
                            paymentDetailsInterest.reference_no = model.PaymentNo;
                            paymentDetailsInterest.payment_type = "OR Payment Interest";
                            paymentDetailsInterest.loan_no      = model.LoanNo;
                            paymentDetailsInterest.loan_name    = model.LoanName;
                            paymentDetailsInterest.due_date     = DateTime.Parse(model.LoanDueDate);
                            paymentDetailsInterest.amount       =
                                decimal.Round(paymentInterest, 2, MidpointRounding.AwayFromZero);
                            paymentDetailsInterest.created_by   = Session["UserName"].ToString();
                            paymentDetailsInterest.date_created = DateTime.Now;
                            db.tbl_payment_details.Add(paymentDetailsInterest);
                            await db.SaveChangesAsync();
                        }

                        tbl_loan_ledger loanLedger = new tbl_loan_ledger();
                        loanLedger.date_trans     = DateTime.Parse(model.PaymentDate);
                        loanLedger.trans_type     = "OR Payment";
                        loanLedger.reference_no   = model.PaymentNo;
                        loanLedger.loan_no        = model.LoanNo;
                        loanLedger.loan_type_name = model.LoanName;
                        loanLedger.customer_id    = int.Parse(model.CustomerId);
                        loanLedger.customer_name  = model.CustomerName;
                        loanLedger.interest_type  = GetInterestType(model.LoanName);
                        loanLedger.interest_rate  = GetInterestRate(model.LoanName);
                        loanLedger.interest       = decimal.Round(paymentInterest, 2, MidpointRounding.AwayFromZero);
                        loanLedger.amount_paid    =
                            decimal.Round(decimal.Parse(model.Payment), 2, MidpointRounding.AwayFromZero);
                        loanLedger.principal    = decimal.Round(paymentPrincipal, 2, MidpointRounding.AwayFromZero);
                        loanLedger.balance      = 0;
                        loanLedger.date_created = DateTime.Now;
                        loanLedger.created_by   = Session["UserName"].ToString();
                        db.tbl_loan_ledger.Add(loanLedger);
                        await db.SaveChangesAsync();

                        message = "Successfully saved.";
                    }
                    else
                    {
                        message = "Error saving data. Duplicate entry.";
                    }
                }
                else
                {
                    message = "Error saving data. Duplicate entry.";
                }

                return(Json(new { success = success, message = message }));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);

                return(Json(new { success = false, message = "Failed to save." }));
            }
        }
예제 #7
0
        public dtoResult Insert(ref dtoPayment t)
        {
            dtoResult objResult = new dtoResult();

            try
            {
                var objpayment = new tbl_payment
                {
                    supplierId = t.supplierId,
                    referenceNumber = t.referenceNumber,
                    paymentDate = DateTime.Now,
                    cashAmount = t.cashAmount,
                    chequeAmount = t.chequeAmount,
                    chequeNumber = t.chequeNumber,
                    TypeOfPayment = t.TypeOfPayment,
                    ModeOfPayment = t.ModeOfPayment,
                    chequeDate = t.chequeDate,
                    chequeBank = t.chequeBank,
                    totalPayment = t.totalPayment,
                    dateCreated = DateTime.Now,
                    createdBy = t.createdBy
                };
                DBContext.tbl_payment.Add(objpayment);

                DBContext.SaveChanges();
                t.paymentId = objpayment.paymentId;
                objResult.isSuccessful = true;
            }
            catch (Exception ex)
            {
                objResult.isSuccessful = false;
                objResult.errorMsg = ex.Message;
            }

            return objResult;
        }