public ActionResult StaffCreate(VmMrUser vmMrUser)
        {
            try
            {
                var userName = HttpContext.Session.GetString("FullName");
                vmMrUser.CreatedBy   = vmMrUser.ModifiedBy = userName;
                vmMrUser.IsActivated = true;
                vmMrUser.Password    = Md5.Encrypt(vmMrUser.Password);
                vmMrUser.UserType    = "S";
                for (int i = 0; i < Request.Form.Files.Count; i++)
                {
                    if (Request.Form.Files[i].Length > 0)
                    {
                        if (Request.Form.Files[i].Name.ToLower() == "file_profile")
                        {
                            vmMrUser.ProfileImage = ConvertFiletoBytes(Request.Form.Files[i]);
                        }
                    }
                }
                var result = _svsMrUser.AddMrUser(vmMrUser); // Add to Database
                TempData["MessageToUser"] = result.MessageToUser;
                if (!result.IsSuccess)
                {
                    return(RedirectToAction("SystemIssues", "Errors", new { message = HttpUtility.UrlEncode(result.MessageToUser) }));
                }

                return(RedirectToAction(nameof(StaffListing)));
            }
            catch (Exception ex)
            {
                //string currenturl = Request.Scheme + "://" + Request.Host.Value + Request.Path.Value + Request.QueryString.Value;
                //string user = "******";
                //var userName = HttpContext.Session.GetString("UserName");
                //if (!string.IsNullOrEmpty(userName))
                //{
                //    user = userName;
                //}
                //_svsEmail.InsertErrorAndEmail(ex, user, currenturl);

                return(RedirectToAction("SystemIssue", "Errors", new { message = System.Web.HttpUtility.UrlEncode(ex.Message) }));
            }
        }
        public ActionResult SignIn(VmMrUser user)
        {
            // Get User-Agent & IP
            user.Browser   = Request.Headers["User-Agent"].ToString();
            user.IPAddress = _accessor.HttpContext.Connection.RemoteIpAddress.ToString();

            user.UserType = "S";
            var result = _svsMrUser.ValidateUser(user);

            // Validations
            if (result.IsLocked) // If account is locked
            {
                TempData["ErrorMessage"] = "Your acount is locked.";
                return(View(user));
            }

            if (!result.IsActivated) // If account is not activated
            {
                TempData["ErrorMessage"] = "Your acount is not activated.";
                return(View(user));
            }

            if (result.UserType != "S") // If user type is not Staff
            {
                TempData["ErrorMessage"] = "Email or Password is Invalid";
                return(View(user));
            }

            // Set Sessions
            HttpContext.Session.SetString("Email", result.Email.ToString());
            HttpContext.Session.SetString("FullName", result.FullName.ToString());
            HttpContext.Session.SetString("UserType", result.UserType.ToString());
            HttpContext.Session.SetString("UserRole", result.UserRole.ToString());
            HttpContext.Session.SetString("UserID", result.ID.ToString());
            HttpContext.Session.SetString("UserProfile", result.strProfileImage.ToString());

            return(RedirectToAction("Index", "Home"));
        }