public void CreateInvoiceTransaction(PayOpenInvoicesRequest invoiceRequest, string reason, Boolean status)
        {
            InvoiceInforTransaction invoiceInforTransaction = new InvoiceInforTransaction();

            if (invoiceRequest != null)
            {
                invoiceInforTransaction.TransactionId     = Guid.NewGuid();
                invoiceInforTransaction.PostedToInfor     = status;
                invoiceInforTransaction.InvoiceNumber     = invoiceRequest.Invoice.ToJson();
                invoiceInforTransaction.CCMaskedCard      = invoiceRequest.CreditCard.CCMaskedCard;
                invoiceInforTransaction.CardType          = invoiceRequest.CreditCard.CCCardType;
                invoiceInforTransaction.AuthCode          = invoiceRequest.CreditCard.CCAuthorizationNumber;
                invoiceInforTransaction.CCReferenceNumber = invoiceRequest.CreditCard.CCReferenceNumber;
                invoiceInforTransaction.InforMessage      = reason;
                invoiceInforTransaction.CustomerNumber    = invoiceRequest.Head.CompanyNumber + invoiceRequest.Head.CustomerNumber; //BUSA-1123 To add customer number in Infor table.
                this.unitOfWork.GetRepository <InvoiceInforTransaction>().Insert(invoiceInforTransaction);


                for (int i = 0; i < invoiceRequest.Invoice.Count; i++)
                {
                    InvoiceTransaction invoiceTransaction = new InvoiceTransaction();
                    invoiceTransaction.InvoiceInforTransactionId = invoiceInforTransaction.TransactionId;
                    invoiceTransaction.InvoiceNumber             = invoiceRequest.Invoice[i].InvoiceNo;
                    invoiceTransaction.AmountPaid        = Convert.ToDecimal(invoiceRequest.Invoice[i].PaymentAmount, CultureInfo.CreateSpecificCulture("en-US"));
                    invoiceTransaction.PostedToInfor     = status;
                    invoiceTransaction.CCReferenceNumber = invoiceRequest.CreditCard.CCReferenceNumber;
                    invoiceTransaction.CustomerNumber    = invoiceRequest.Head.CompanyNumber + invoiceRequest.Head.CustomerNumber;//BUSA-1123 To add customer number in Infor table.
                    this.unitOfWork.GetRepository <InvoiceTransaction>().Insert(invoiceTransaction);
                }
            }
        }
        public ActionResult Create(InvoiceTransaction ObjInvoiceTransaction)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            try
            {
                if (ModelState.IsValid)
                {
                    db.InvoiceTransactions.Add(ObjInvoiceTransaction);
                    db.SaveChanges();

                    sb.Append("Sumitted");
                    return(Content(sb.ToString()));
                }
                else
                {
                    foreach (var key in this.ViewData.ModelState.Keys)
                    {
                        foreach (var err in this.ViewData.ModelState[key].Errors)
                        {
                            sb.Append(err.ErrorMessage + "<br/>");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                sb.Append("Error :" + ex.Message);
            }

            return(Content(sb.ToString()));
        }
        // GET: /InvoiceTransaction/MultiViewIndex/5
        public ActionResult MultiViewIndex(int?id)
        {
            InvoiceTransaction ObjInvoiceTransaction = db.InvoiceTransactions.Find(id);

            ViewBag.IsWorking = 0;
            if (id > 0)
            {
                ViewBag.IsWorking = id;
                ViewBag.InvoiceId = new SelectList(db.Invoices, "Id", "OtherInvoiceCode", ObjInvoiceTransaction.InvoiceId);
            }

            return(View(ObjInvoiceTransaction));
        }
        // GET: /InvoiceTransaction/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InvoiceTransaction ObjInvoiceTransaction = db.InvoiceTransactions.Find(id);

            if (ObjInvoiceTransaction == null)
            {
                return(HttpNotFound());
            }
            return(View(ObjInvoiceTransaction));
        }
예제 #5
0
        public bool CreateTransaction(InvoiceTransactionCreate model)
        {
            var entity = new InvoiceTransaction()
            {
                OwnerId   = _userId,
                InvoiceId = model.InvoiceId,
                ProductId = model.ProductId,
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.InvoiceTransactions.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
        // GET: /InvoiceTransaction/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InvoiceTransaction ObjInvoiceTransaction = db.InvoiceTransactions.Find(id);

            if (ObjInvoiceTransaction == null)
            {
                return(HttpNotFound());
            }
            ViewBag.InvoiceId = new SelectList(db.Invoices, "Id", "OtherInvoiceCode", ObjInvoiceTransaction.InvoiceId);

            return(View(ObjInvoiceTransaction));
        }
 public void SaveTransaction(InvoiceTransaction item)
 {
     try
     {
         using (GSTinvoiceContext db = new GSTinvoiceContext())
         {
             if (item.Id > 0)
             {
                 //Update
                 var existingitem = db.InvoiceTransactions.Where(w => w.Id == item.Id).FirstOrDefault();
                 if (existingitem != null)
                 {
                     existingitem.Qty          = item.Qty;
                     existingitem.Rate         = item.Rate;
                     existingitem.Discount     = item.Discount;
                     existingitem.Percentage   = item.Percentage;
                     existingitem.TaxableRate  = item.TaxableRate;
                     existingitem.TaxableValue = item.TaxableValue;
                     existingitem.TaxValue     = item.TaxValue;
                     existingitem.Total        = item.Total;
                     db.SaveChanges();
                 }
             }
             else
             {
                 //Insert
                 db.InvoiceTransactions.Add(new InvoiceTransaction()
                 {
                     Qty          = item.Qty,
                     Rate         = item.Rate,
                     Discount     = item.Discount,
                     Percentage   = item.Percentage,
                     TaxableValue = item.TaxableValue,
                     TaxableRate  = item.TaxableRate,
                     TaxValue     = item.TaxValue,
                     Total        = item.Total
                 });
                 db.SaveChanges();
             }
         }
     }
     catch
     {
         throw;
     }
 }
        public ActionResult DeleteConfirmed(int id)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            try
            {
                InvoiceTransaction ObjInvoiceTransaction = db.InvoiceTransactions.Find(id);
                db.InvoiceTransactions.Remove(ObjInvoiceTransaction);
                db.SaveChanges();

                sb.Append("Sumitted");
                return(Content(sb.ToString()));
            }
            catch (Exception ex)
            {
                sb.Append("Error :" + ex.Message);
            }

            return(Content(sb.ToString()));
        }
예제 #9
0
        private static ISubledgerTransaction BuildSubledgerTransaction(TransactionType type, TransactionStatus status, decimal amount)
        {
            ISubledgerTransaction subledgerTransaction = null;

            if (type == TransactionType.Invoice)
            {
                subledgerTransaction = new InvoiceTransaction(status, amount);
            }
            else if (type == TransactionType.Credit)
            {
                subledgerTransaction = new CreditTransaction(amount);
            }
            else if (type == TransactionType.JournalAr || type == TransactionType.JournalNar)
            {
                subledgerTransaction = new JournalTransaction(amount);
            }
            else if (type == TransactionType.Receipt)
            {
                subledgerTransaction = new ReceiptTransaction(amount);
            }
            else if (type == TransactionType.Overpayment)
            {
                subledgerTransaction = new OverpaymentTransaction(amount);
            }
            else if (type == TransactionType.CreditBalanceTransferCredit || type == TransactionType.CreditBalanceTransferDebit || type == TransactionType.Allocation)
            {
                subledgerTransaction = new CreditBalanceTransferTransaction(amount);
            }
            else if (type == TransactionType.Discount)
            {
                subledgerTransaction = new DiscountTransaction(amount);
            }
            else if (type == TransactionType.Repurchase)
            {
                subledgerTransaction = new RepurchaseTransaction(amount);
            }
            return(subledgerTransaction);
        }