示例#1
0
        public IActionResult Login(LoginModel model, string returnUrl)
        {
            Breadcrumb.Add("Login", "Login", "Auth");

            if (!ModelState.IsValid)
            {
                logger.Information("Model is not valid");

                Alert.Warning();

                ViewBag.ReturnUrl = returnUrl;
                return(View(model));
            }

            var handler      = new ApiHelper(Settings.ApiReference);
            var resultString = handler.AcquireToken(model.Email, model.Password, "1");
            var result       = JsonConvert.DeserializeObject <ResultModel <object> >(resultString.ResponseMessage);

            if (result.Status.Code == ResultCode.Error)
            {
                ModelState.AddModelError("Email", "Invalid email or password");

                logger.Information("Token is not valid");

                Alert.Warning();
                ViewBag.ReturnUrl = returnUrl;

                return(View(model));
            }

            HttpContext.Session.SetString("token", result.Value.ToString());

            var userDetails = getUserDetails.Invoke(model.Email);

            HttpContext.Session.SetString("UserDetails", JsonConvert.SerializeObject(userDetails));

            ViewData["Message"] = model.Email;

            Alert.Success("Logged in");

            if (string.IsNullOrEmpty(returnUrl))
            {
                return(RedirectToAction("Index", "Home"));
            }
            return(Redirect(returnUrl));
        }
示例#2
0
        public IActionResult Edit(EditUserDetailsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                Alert.Warning();
                var viewModel = new FormModel <EditUserDetailsViewModel>(model, true);
                return(View(viewModel));
            }
            var userModel = new UserModel {
                Id = model.Id, Name = model.Name
            };

            editUser.Invoke(userModel);
            if (model.Id == LoggedUser.UserModel.Id)
            {
                var userDetails = getUserDetails.Invoke(LoggedUser.UserModel.Email);
                HttpContext.Session.SetString("UserDetails", JsonConvert.SerializeObject(userDetails));
            }

            return(RedirectToAction("Details", new { id = model.Id }));
        }