示例#1
0
        public ActionResult Index()
        {
            try
            {
                int terminal        = TerminalBL.FindTerminalIdByDate();
                TrIndexViewModel vm = new TrIndexViewModel
                {
                    ////terminal name or id
                    TerminalId = terminal,

                    ////transaction num = id
                    // to do --> provisoire vendorId = 1, shopId = 1, customerId = 1
                    NumTransaction = TransactionBL.InitializeNewTransaction(terminal),

                    // to do --> quid date et heure?
                    DateDay = DateTime.Now.Date.ToString("d"),
                    HourDay = DateTime.Now.ToString("T"),

                    Vendor = "Toto", // --> id = 1
                };
                return(View(vm));
            }
            catch (EntityException 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
                TempData["Error"] = "L'initialisation de la transaction ne s'est pas déroulé correctement, veuillez contacter l'administrateur";
                return(RedirectToAction("Transaction", "Home"));
            }
            catch (InvalidOperationException 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
                TempData["Error"] = "Il manque un fond de caisse pour cette date";
                return(RedirectToAction("Transaction", "Home"));
            }
            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
                TempData["Error"] = "Il y a un soucis avec l'action demandé, veuillez contacter l'administrateur";
                return(RedirectToAction("Transaction", "Home"));
            }
        }
示例#2
0
 // GET: Cash/Create
 //[Authorize(Roles = "admin")]
 //[Authorize(Roles = "manager")]
 //[Authorize(Roles = "vendor")]
 public ActionResult Create()
 {
     if (Session["sessTerminalId"] == null)
     {
         int terminalOk = TerminalBL.CheckTerminalName();
         if (terminalOk == 0)
         {
             TempData["Error"] = "Le terminal n'est pas enregistré, veuillez l'ajouter via le menu Gestion --> Terminal, pour pouvoir effectuer des transactions.";
             return(RedirectToAction("Transaction", "Home"));
         }
         else
         {
             Session["sessTerminalId"] = terminalOk;
         }
     }
     ViewBag.terminalId = Session["sessTerminalId"];
     return(View());
 }
示例#3
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                //if terminal exist return idTerminal
                int terminalOk = TerminalBL.CheckTerminalName();
                if (terminalOk == 0)
                {
                    ViewBag.Error = "le terminal n'est pas enregistré, veuillez l'ajouter via le menu Gestion --> Terminal,  pour pouvoir effectuer des transactions.";
                }
                else
                {
                    Session["sessTerminalId"] = terminalOk;
                }
                return(View(model));
            }

            // Ceci ne comptabilise pas les échecs de connexion pour le verrouillage du compte
            // Pour que les échecs de mot de passe déclenchent le verrouillage du compte, utilisez shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Tentative de connexion non valide.");
                return(View(model));
            }
        }
示例#4
0
        public ActionResult Index()
        {
            try
            {
                //récupération du terminal
                int terminal = 0;

                if (Session["sessTerminalId"] != null)
                {
                    //terminal = int.Parse(Session["sessTerminalId"].ToString());
                    terminal = Convert.ToInt32(Session["sessTerminalId"]);
                }
                else
                {
                    terminal = TerminalBL.FindTerminalIdByDate();
                    // tot do --> modifier si plusieur cashday diff terminaux
                }

                ////récupération de la langue
                if (Session["Language"] == null)
                {
                    Session["Language"] = ConfigurationManager.AppSettings["Language"];
                }

                //récupération de l'utilisateur
                string           currentId = User.Identity.GetUserId();
                TrIndexViewModel vm        = new TrIndexViewModel
                {
                    ////terminal name or id
                    TerminalId = terminal,

                    ////transaction num = id
                    // to do --> provisoire shopId = 1, customerId = 1
                    NumTransaction = TransactionBL.InitializeNewTransaction(terminal, currentId),

                    // to do --> quid date et heure?
                    DateDay = DateTime.Now.Date.ToString("d"),
                    HourDay = DateTime.Now.ToString("T")
                };
                return(View(vm));
            }

            catch (EntityException 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
                TempData["Error"] = "L'initialisation de la transaction ne s'est pas déroulé correctement, veuillez contacter l'administrateur";
                return(RedirectToAction("Transaction", "Home"));
            }

            catch (InvalidOperationException ex)
            {
                //Viewbag not work with RedirectToAction --> use TempData
                //ViewBag.Error = "Il manque un fond de caisse pour cette date";
                //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
                TempData["Error"] = "Il manque un fond de caisse pour cette date";
                return(RedirectToAction("Transaction", "Home"));
            }

            catch (Exception ex)
            {
                //to do insert to log file
                var e1 = ex.GetBaseException(); //Description error --> log
                //var e2 = ex.GetType(); //InvalidOperationException //DbUpdateException
                //var e3 = ex.InnerException;
                var e4 = ex.Message;        // --> log
                var e5 = ex.Source;         // --> log
                var e8 = ex.GetType();      // --> log
                var e9 = ex.GetType().Name; // --> log

                TempData["Error"] = "Il y a un problème avec l'action demandée, veuillez contacter l'administrateur";
                return(RedirectToAction("Transaction", "Home"));
            }
        }
示例#5
0
 public TerminalController()
 {
     TerminalBL = new TerminalBL();
 }