Ejemplo n.º 1
0
        internal static TrPaymentMenuViewModel CalculCash(TrPaymentMenuViewModel vmodel)
        {
            var     temp1   = vmodel.GlobalTotal.Replace(".", ",");
            var     temp2   = vmodel.Amount.Replace(".", ",");
            decimal cash    = decimal.Parse(temp2);
            decimal tot     = decimal.Parse(temp1);
            int     meth    = int.Parse(vmodel.MethodP);
            int     transac = int.Parse(vmodel.NumTransaction);

            using (IDalPayment dal = new DalPayment())
            {
                if (cash > tot)
                {
                    dal.CreatePayment(tot, meth, transac);
                    vmodel.CashReturn  = (cash - tot).ToString();
                    vmodel.Amount      = "0";
                    vmodel.GlobalTotal = "0";
                }
                else if (cash == tot)
                {
                    dal.CreatePayment(tot, meth, transac);
                    vmodel.CashReturn  = "0";
                    vmodel.Amount      = "0";
                    vmodel.GlobalTotal = "0";
                }
                else if (cash < tot)
                {
                    dal.CreatePayment(cash, meth, transac);
                    vmodel.CashReturn  = "0";
                    vmodel.Amount      = "0";
                    vmodel.GlobalTotal = (tot - cash).ToString();
                }
                return(vmodel);
            }
        }
Ejemplo n.º 2
0
        public ActionResult Index(string submitButton, TrPaymentMenuViewModel vmodel)
        {
            try
            {
                switch (submitButton)
                {
                case "Payment":
                    return(Payment(vmodel));

                case "End":
                    return(EndTransac(vmodel));

                case "Cancel":
                    return(CancelTransac(vmodel));

                case "Back":
                    return(BackTransac(vmodel));

                default:
                    ViewBag.ticket = false;
                    return(View(vmodel));
                }
            }
            catch (Exception ex)
            {
                //to do insert to log file
                var e1 = ex.GetBaseException(); // --> log
                var e4 = ex.Message;            // --> log
                var e5 = ex.Source;             // --> log
                var e8 = ex.GetType();          // --> log
                var e9 = ex.GetType().Name;     // --> log

                return(View("Error"));
            }
        }
Ejemplo n.º 3
0
        private ActionResult PayCash(TrPaymentMenuViewModel vmodel)
        {
            var     temp = vmodel.Amount.Replace(".", ",");
            decimal cash = decimal.Parse(temp);

            // legal limit for cash
            if (cash <= 3000)
            {
                PaymentBL.CalculCash(vmodel);
            }
            else
            {
                @ViewBag.limitCash = "Montant cash max de 3000 € dépassé !";
            }
            ViewBag.tot         = vmodel.GlobalTotal;
            ViewBag.amount      = vmodel.Amount;
            ViewBag.cashBack    = vmodel.CashReturn;
            vmodel.MethodsP     = PaymentBL.FindMethodsList();
            vmodel.AmountsPaid  = PaymentBL.MakeAmountsList(vmodel.NumTransaction);
            ViewBag.messageCard = "";
            if (ViewBag.tot == "0")
            {
                vmodel.Ticket    = TicketBL.FillTicket(vmodel.NumTransaction);
                ViewBag.NumT     = vmodel.Ticket.Ticket;
                vmodel.NumTicket = vmodel.Ticket.Ticket;
                ViewBag.ticket   = true;
            }
            else
            {
                ViewBag.ticket = false;
            }
            return(View(vmodel));
        }
Ejemplo n.º 4
0
        public ActionResult ProductBack(string submitButton, TrProductBackViewModel vmodel)
        {
            try
            {
                TrPaymentMenuViewModel vm = new TrPaymentMenuViewModel
                {
                    NumTransaction = vmodel.NumTransaction,
                    DateT          = vmodel.DateT,
                    GlobalTotal    = "0"
                };
                switch (submitButton.ToLower())
                {
                case "end":
                    return(EndTransac(vm));

                case "cancel":
                    return(CancelTransac(vm));

                default:
                    vmodel.Languages = LanguageBL.FindLanguageList();
                    return(View(vmodel));
                }
            }
            catch (Exception ex)
            {
                //to do insert to log file
                var e1 = ex.GetBaseException(); // --> log
                var e4 = ex.Message;            // --> log
                var e5 = ex.Source;             // --> log
                var e8 = ex.GetType();          // --> log
                var e9 = ex.GetType().Name;     // --> log

                return(View("Error"));
            }
        }
Ejemplo n.º 5
0
        private ActionResult Payment(TrPaymentMenuViewModel vmodel)
        {
            if (ModelState.IsValid)
            {
                if (Session["Language"] == null)
                {
                    Session["Language"] = ConfigurationManager.AppSettings["Language"];
                }
                string language = Session["Language"].ToString();
                switch (vmodel.MethodP)
                {
                //method cash
                case "1":
                    return(PayCash(vmodel, language));

                //method debit card
                case "2":
                    //simulation
                    if (vmodel.PayCardConfirmed)
                    {
                        return(PayCardDebit(vmodel, language));
                    }
                    return(PayCardDebitNotConfirmed(vmodel));

                //method credit card
                case "3":
                    ////simulation same process CardDebit
                    if (vmodel.PayCardConfirmed)
                    {
                        return(PayCardDebit(vmodel, language));
                    }
                    return(PayCardDebitNotConfirmed(vmodel));

                //method voucher
                case "4":
                    //same process PayCash
                    return(PayCash(vmodel, language));

                default:
                    ViewBag.tot         = vmodel.GlobalTotal;
                    ViewBag.amount      = vmodel.Amount;
                    ViewBag.cashBack    = vmodel.CashReturn;
                    vmodel.MethodsP     = PaymentBL.FindMethodsList();
                    vmodel.Languages    = LanguageBL.FindLanguageListWithoutUniversal();
                    ViewBag.messageCard = "";
                    ViewBag.ticket      = false;
                    return(View(vmodel));
                }
            }
            vmodel.MethodsP     = PaymentBL.FindMethodsList();
            vmodel.Languages    = LanguageBL.FindLanguageListWithoutUniversal();
            ViewBag.tot         = vmodel.GlobalTotal;
            ViewBag.amount      = vmodel.Amount;
            ViewBag.cashBack    = vmodel.CashReturn;
            ViewBag.messageCard = "";
            ViewBag.ticket      = false;
            return(View(vmodel));
        }
Ejemplo n.º 6
0
 private ActionResult PayCardDebitNotConfirmed(TrPaymentMenuViewModel vmodel)
 {
     vmodel.PayCardToConfirm = true;
     vmodel.MethodsP         = PaymentBL.FindMethodsList();
     ViewBag.tot             = vmodel.GlobalTotal;
     ViewBag.amount          = vmodel.Amount;
     ViewBag.ticket          = false;
     return(View(vmodel));
 }
Ejemplo n.º 7
0
        private ActionResult Payment(TrPaymentMenuViewModel vmodel)
        {
            if (ModelState.IsValid)
            {
                TrPaymentMenuViewModel vm = new TrPaymentMenuViewModel();
                switch (vmodel.MethodP)
                {
                //method cash
                case "1":
                    return(PayCash(vmodel));

                //method debit card
                case "2":
                    //simulation
                    if (vmodel.PayCardConfirmed)
                    {
                        return(PayCardDebit(vmodel));
                    }
                    return(PayCardDebitNotConfirmed(vmodel));

                //method credit card
                case "3":
                    ////simulation same process CardDebit
                    //return (PayCardCredit(vmodel));
                    if (vmodel.PayCardConfirmed)
                    {
                        return(PayCardDebit(vmodel));
                    }
                    return(PayCardDebitNotConfirmed(vmodel));

                //method voucher
                case "4":
                    //same process PayCash
                    return(PayCash(vmodel));

                default:
                    ViewBag.tot         = vmodel.GlobalTotal;
                    ViewBag.amount      = vmodel.Amount;
                    ViewBag.cashBack    = vmodel.CashReturn;
                    vmodel.MethodsP     = PaymentBL.FindMethodsList();
                    ViewBag.messageCard = "";
                    ViewBag.ticket      = false;
                    return(View(vmodel));
                }
            }
            vmodel.MethodsP     = PaymentBL.FindMethodsList();
            ViewBag.tot         = vmodel.GlobalTotal;
            ViewBag.amount      = vmodel.Amount;
            ViewBag.cashBack    = vmodel.CashReturn;
            ViewBag.messageCard = "";
            ViewBag.ticket      = false;
            return(View(vmodel));
        }
Ejemplo n.º 8
0
 private ActionResult CancelTransac(TrPaymentMenuViewModel vmodel)
 {
     if (string.IsNullOrEmpty(vmodel.NumTransaction))
     {
         //to do --> ???
         return(RedirectToAction("Transaction", "Home"));
     }
     else
     {
         TransactionBL.CancelTransac(vmodel.NumTransaction);
         return(RedirectToAction("Transaction", "Home"));
     }
 }
Ejemplo n.º 9
0
 public ActionResult TransacReturn(TrPaymentMenuViewModel vmodel)
 {
     try
     {
         var detailsListTot  = TransactionBL.ListDetailsWithTot(vmodel.NumTransaction);
         var transac         = TransactionBL.FindTransactionById(vmodel.NumTransaction);
         TrIndexViewModel vm = new TrIndexViewModel
         {
             //vm.TerminalId = terminal;
             NumTransaction = vmodel.NumTransaction,
             TerminalId     = transac.terminalId,
             GlobalTot      = transac.total.ToString(),
             GlobalDiscount = (transac.discountGlobal) * 100,
             // to do --> quid date et heure?
             DateDay = DateTime.Now.Date.ToString("d"),
             HourDay = DateTime.Now.ToString("T"),
             //to do --> ameliorer   Vendor = string  et vendorId = int
             Vendor = (transac.vendorId).ToString(),
             //to do or not--> transac.discountGlobal à afficher
             //to do or not--> with transac.vatId  return appliedVat
             DetailsListWithTot = detailsListTot
         };
         //Sum subTotItems
         ViewBag.subTot1 = TransactionBL.SumItemsSubTot(detailsListTot);
         return(View("Index", vm));
     }
     catch (InvalidOperationException ex)
     {
         //to do insert to log file
         //NumTransaction not valid
         var e1 = ex.GetBaseException(); // --> log
         var e4 = ex.Message;            // --> log
         var e5 = ex.Source;             // --> log
         var e8 = ex.GetType();          // --> log
         var e9 = ex.GetType().Name;     // --> log
         return(RedirectToAction("Index", "Pay", vmodel));
     }
     catch (Exception ex)
     {
         //to do insert to log file
         var e1 = ex.GetBaseException(); // --> log
         var e4 = ex.Message;            // --> log
         var e5 = ex.Source;             // --> log
         var e8 = ex.GetType();          // --> log
         var e9 = ex.GetType().Name;     // --> log
         return(View("Error"));
     }
 }
Ejemplo n.º 10
0
        private ActionResult EndTransac(TrPaymentMenuViewModel vmodel)
        {
            if (vmodel.GlobalTotal == "0")
            {
                //to do --> print ticket  ???

                //to do --> add n° ticket & close transaction
                TransactionBL.AddTicketAndCloseTransac(vmodel.NumTransaction);
                return(RedirectToAction("Transaction", "Home"));
            }
            vmodel.MethodsP  = PaymentBL.FindMethodsList();
            ViewBag.nopay    = "La transaction n'est pas payée!";
            ViewBag.tot      = vmodel.GlobalTotal;
            ViewBag.amount   = vmodel.Amount;
            ViewBag.cashBack = vmodel.CashReturn;
            ViewBag.ticket   = false;
            return(View(vmodel));
        }
Ejemplo n.º 11
0
 private ActionResult PayCardDebit(TrPaymentMenuViewModel vmodel)
 {
     PaymentBL.CalculCash(vmodel);
     ViewBag.tot      = vmodel.GlobalTotal;
     ViewBag.amount   = vmodel.Amount;
     ViewBag.cashBack = vmodel.CashReturn;
     if (ViewBag.tot == "0")
     {
         vmodel.Ticket  = TicketBL.FillTicket(vmodel.NumTransaction);
         ViewBag.ticket = true;
     }
     else
     {
         ViewBag.ticket = false;
     }
     vmodel.AmountsPaid = PaymentBL.MakeAmountsList(vmodel.NumTransaction);
     vmodel.MethodsP    = PaymentBL.FindMethodsList();
     return(View(vmodel));
 }
Ejemplo n.º 12
0
        private ActionResult EndTransac(TrPaymentMenuViewModel vmodel)
        {
            if (vmodel.GlobalTotal == "0")
            {
                //to do --> print ticket  ???
                //add n° ticket & close transaction
                TransactionBL.CloseTransac(vmodel.NumTransaction, vmodel.DateT.ToString());

                return(RedirectToAction("Transaction", "Home"));
            }
            vmodel.MethodsP  = PaymentBL.FindMethodsList();
            vmodel.Languages = LanguageBL.FindLanguageListWithoutUniversal();
            ViewBag.nopay    = "La transaction n'est pas payée!";
            ViewBag.tot      = vmodel.GlobalTotal;
            ViewBag.amount   = vmodel.Amount;
            ViewBag.cashBack = vmodel.CashReturn;
            ViewBag.ticket   = false;
            return(View(vmodel));
        }
Ejemplo n.º 13
0
        private ActionResult PayCash(TrPaymentMenuViewModel vmodel, string language)
        {
            var     temp = vmodel.Amount.Replace(".", ",");
            decimal cash = decimal.Parse(temp);

            // legal limit for cash
            if (cash <= 3000)
            {
                PaymentBL.CalculCash(vmodel);
            }
            else
            {
                @ViewBag.limitCash = "Montant cash max de 3000 € dépassé !";
            }
            ViewBag.tot         = vmodel.GlobalTotal;
            ViewBag.amount      = vmodel.Amount;
            ViewBag.cashBack    = vmodel.CashReturn;
            vmodel.MethodsP     = PaymentBL.FindMethodsList();
            vmodel.AmountsPaid  = PaymentBL.MakeAmountsList(vmodel.NumTransaction);
            ViewBag.messageCard = "";
            if (ViewBag.tot == "0")
            {
                //to do --> change init isChange...
                bool isChange = false;
                vmodel.Ticket    = TicketBL.FillTicket(vmodel.NumTransaction, language, isChange);
                vmodel.Language  = vmodel.Ticket.Language;
                vmodel.Languages = LanguageBL.FindLanguageListWithoutUniversal();
                vmodel.DateT     = vmodel.Ticket.DateTicket;
                ViewBag.DateTi   = vmodel.Ticket.DateTicket;
                ViewBag.ticket   = true;
            }
            else
            {
                ViewBag.ticket = false;
            }
            return(View(vmodel));
        }
Ejemplo n.º 14
0
 private ActionResult PayCardDebit(TrPaymentMenuViewModel vmodel, string language)
 {
     PaymentBL.CalculCash(vmodel);
     ViewBag.tot      = vmodel.GlobalTotal;
     ViewBag.amount   = vmodel.Amount;
     ViewBag.cashBack = vmodel.CashReturn;
     if (ViewBag.tot == "0")
     {
         //to do --> change init isChange...
         bool isChange = false;
         vmodel.Ticket    = TicketBL.FillTicket(vmodel.NumTransaction, language, isChange);
         vmodel.Language  = vmodel.Ticket.Language;
         vmodel.Languages = LanguageBL.FindLanguageListWithoutUniversal();
         ViewBag.DateTi   = vmodel.Ticket.DateTicket;
         ViewBag.ticket   = true;
     }
     else
     {
         ViewBag.ticket = false;
     }
     vmodel.AmountsPaid = PaymentBL.MakeAmountsList(vmodel.NumTransaction);
     vmodel.MethodsP    = PaymentBL.FindMethodsList();
     return(View(vmodel));
 }
Ejemplo n.º 15
0
        ////// same simulation process PayCardDebit
        //private ActionResult PayCardCredit(TrPaymentMenuViewModel vmodel)
        //{
        //    vmodel.Resp = TransactionBL.AskValidationCard(vmodel.Amount);
        //    if (vmodel.Resp == 1)
        //    {
        //        //to do --> create payment
        //        ViewBag.messageCard = "Demande acceptée !";
        //        ViewBag.tot = vmodel.GlobalTot;
        //        ViewBag.amount = vmodel.Amount;
        //        ViewBag.cashBack = vmodel.CashReturn;
        //        if (ViewBag.tot == "0")
        //        {
        //            vmodel.Ticket = TransactionBL.FillTicket(vmodel.NumTransaction);
        //            //vmodel.NumTicket = vmodel.Ticket.Ticket;
        //            ViewBag.NumT = vmodel.Ticket.Ticket;
        //            vmodel.NumTicket = vmodel.Ticket.Ticket;
        //            ViewBag.ticket = true;
        //        }
        //        else
        //        {

        //            ViewBag.ticket = false;
        //        }
        //    }
        //    else
        //    {
        //        ViewBag.messageCard = "Demande refusée !";
        //        ViewBag.tot = vmodel.GlobalTot;
        //        ViewBag.amount = "";
        //        ViewBag.cashBack = "0";
        //        ViewBag.ticket = false;
        //    }
        //    vmodel.MethodsP = TransactionBL.FindMethodsList();
        //    return View(vmodel);
        //}
        #endregion

        #region OptionsTicket
        public ActionResult ChangeLanguageTicket(TrPaymentMenuViewModel vmodel)
        {
            bool?isChange = true;

            vmodel.Ticket  = TicketBL.FillTicket(vmodel.NumTransaction, vmodel.Language, isChange);
            ViewBag.ticket = true;
            switch (vmodel.Language)
            {
            case "1":
                return(PartialView("_PartialTicket", vmodel.Ticket));

            case "2":
                return(PartialView("_PartialTicketNl", vmodel.Ticket));

            case "3":
                return(PartialView("_PartialTicketDe", vmodel.Ticket));

            case "4":
                return(PartialView("_PartialTicketEn", vmodel.Ticket));

            default:
                return(PartialView("_PartialTicket", vmodel.Ticket));
            }
        }
Ejemplo n.º 16
0
        //[Authorize(Roles = "admin")]
        //[Authorize(Roles = "manager")]
        //[Authorize(Roles = "vendor")]
        public ActionResult Index(string gTot, string nTransac)
        {
            try
            {
                TrPaymentMenuViewModel vm = new TrPaymentMenuViewModel();
                if (string.IsNullOrEmpty(nTransac))
                {
                    throw new NullReferenceException();
                }
                else
                {
                    if (Session["Language"] == null)
                    {
                        Session["Language"] = ConfigurationManager.AppSettings["Language"];
                    }
                    string language = Session["Language"].ToString();

                    if (string.IsNullOrEmpty(gTot))
                    {
                        gTot = TransactionBL.FindTotalByTransacId(nTransac);
                    }
                    var listAmounts = PaymentBL.MakeAmountsList(nTransac);
                    if (listAmounts.Count == 0)
                    {
                        vm.GlobalTotal = gTot;
                        ViewBag.tot    = gTot;
                        ViewBag.ticket = false;
                    }
                    else
                    {
                        vm.AmountsPaid = listAmounts;
                        decimal result = PaymentBL.AdaptTotalWithPaid(gTot, listAmounts);
                        if (result < 0)
                        {
                            decimal temp = Math.Abs(result);
                            vm.CashReturn    = temp.ToString();
                            ViewBag.cashBack = temp.ToString();
                            vm.GlobalTotal   = "0";
                            ViewBag.tot      = "0";
                            //to do --> change init isChange...
                            bool isChange = false;
                            vm.Ticket      = TicketBL.FillTicket(nTransac, language, isChange);
                            ViewBag.ticket = true;
                        }
                        else if (result == 0)
                        {
                            ViewBag.cashBack = "0";
                            vm.GlobalTotal   = "0";
                            ViewBag.tot      = "0";
                            //to do --> change init isChange...
                            bool isChange = false;
                            vm.Ticket      = TicketBL.FillTicket(nTransac, language, isChange);
                            ViewBag.ticket = true;
                        }
                        else
                        {
                            vm.GlobalTotal = result.ToString();
                            ViewBag.tot    = result.ToString();
                            ViewBag.ticket = false;
                        }
                    }
                    vm.NumTransaction = nTransac;
                    ViewBag.transac   = nTransac;
                }
                vm.MethodsP         = PaymentBL.FindMethodsList();
                vm.Languages        = LanguageBL.FindLanguageListWithoutUniversal();
                ViewBag.messageCard = "";
                return(View(vm));
            }
            catch (NullReferenceException ex)
            {
                //to do insert to log file
                var e1 = ex.GetBaseException(); // --> log
                var e4 = ex.Message;            // --> log
                var e5 = ex.Source;             // --> log
                var e8 = ex.GetType();          // --> log
                var e9 = ex.GetType().Name;     // --> log

                ViewBag.Error = "Il n'y a pas de transaction en cours !";
                return(View("Error"));
            }
            catch (Exception ex)
            {
                //to do insert to log file
                var e1 = ex.GetBaseException(); // --> log
                var e4 = ex.Message;            // --> log
                var e5 = ex.Source;             // --> log
                var e8 = ex.GetType();          // --> log
                var e9 = ex.GetType().Name;     // --> log

                return(View("Error"));
            }
        }
Ejemplo n.º 17
0
 private ActionResult BackTransac(TrPaymentMenuViewModel vmodel)
 {
     return(RedirectToAction("TransacReturn", "Transaction", vmodel));
 }
Ejemplo n.º 18
0
        public ActionResult Index(string gTot, string nTransac)
        {
            try
            {
                TrPaymentMenuViewModel vm = new TrPaymentMenuViewModel();
                if (string.IsNullOrEmpty(nTransac))
                {
                    ////provisoire
                    //vm.GlobalTotal = "399.97";
                    //vm.NumTransaction = "11";
                    //ViewBag.tot = "399.97";
                    //ViewBag.transac = "11";
                    //ViewBag.ticket = false;
                    throw new NullReferenceException();
                }
                else
                {
                    if (string.IsNullOrEmpty(gTot))
                    {
                        gTot = TransactionBL.FindTotalByTransacId(nTransac);
                    }
                    var listAmounts = PaymentBL.MakeAmountsList(nTransac);
                    if (listAmounts.Count == 0)
                    {
                        vm.GlobalTotal = gTot;
                        ViewBag.tot    = gTot;
                        ViewBag.ticket = false;
                    }
                    else
                    {
                        vm.AmountsPaid = listAmounts;
                        decimal result = PaymentBL.AdaptTotalWithPaid(gTot, listAmounts);
                        if (result < 0)
                        {
                            decimal temp = Math.Abs(result);
                            vm.CashReturn    = temp.ToString();
                            ViewBag.cashBack = temp.ToString();
                            vm.GlobalTotal   = "0";
                            ViewBag.tot      = "0";
                            vm.Ticket        = TicketBL.FillTicket(nTransac);
                            ViewBag.ticket   = true;
                        }
                        else if (result == 0)
                        {
                            ViewBag.cashBack = "0";
                            vm.GlobalTotal   = "0";
                            ViewBag.tot      = "0";
                            vm.Ticket        = TicketBL.FillTicket(nTransac);
                            ViewBag.ticket   = true;
                        }
                        else
                        {
                            vm.GlobalTotal = result.ToString();
                            ViewBag.tot    = result.ToString();
                            ViewBag.ticket = false;
                        }
                    }
                    vm.NumTransaction = nTransac;
                    ViewBag.transac   = nTransac;
                }
                vm.MethodsP         = PaymentBL.FindMethodsList();
                ViewBag.messageCard = "";
                return(View(vm));
            }
            catch (NullReferenceException ex)
            {
                //to do insert to log file
                var e1 = ex.GetBaseException(); // --> log
                var e4 = ex.Message;            // --> log
                var e5 = ex.Source;             // --> log
                var e8 = ex.GetType();          // --> log
                var e9 = ex.GetType().Name;     // --> log

                ViewBag.Error = "Il n'y a pas de transaction en cours !";
                return(View("Error"));
            }
            catch (Exception ex)
            {
                //to do insert to log file
                var e1 = ex.GetBaseException(); // --> log
                var e4 = ex.Message;            // --> log
                var e5 = ex.Source;             // --> log
                var e8 = ex.GetType();          // --> log
                var e9 = ex.GetType().Name;     // --> log

                return(View("Error"));
            }
        }