コード例 #1
0
        public ActionResult MyAccount(int clientId)
        {
            var userId = User.Identity.GetUserId();
            var user   = userManager.FindById(userId);
            var client = clientRepository.Single(c => c.Id == clientId);

            var model = new SiriusAccountModel();

            model.ClientId     = clientId;
            model.ClientName   = client.Name;
            model.UserId       = this.User.Identity.GetUserId();
            model.ReceiveEmail = user.ReceiveEmail != null && (bool)user.ReceiveEmail;
            model.ReceiveSms   = user.ReceiveSms != null && (bool)user.ReceiveSms;
            model.Phone        = user.Phone;
            model.HasAdminMenu = this.User.IsInRole("sales") || this.User.IsInRole("consultant");
            model.HasWebTab    = client.Labels.Any(l => l.Name == "Webbflik");

            return(View(model));
        }
コード例 #2
0
        public ActionResult Edit(UserViewModel user)
        {
            var changedUser = userManager.FindById(user.Id);

            if (!string.IsNullOrEmpty(user.Password))
            {
                var changePasswordOperationSuccess = userManager.UpdatePassword(changedUser.Id, user.Password);
                if (!changePasswordOperationSuccess)
                {
                    ModelState.AddModelError("password", "Misslyckades med att uppdatera lösenordet för" + user.Name);
                    return(Edit(user.Id));
                }
            }

            changedUser.ReceiveEmail = user.ReceiveEmail;
            changedUser.ReceiveSms   = user.ReceiveSms;
            changedUser.Phone        = user.Phone;
            changedUser.IsLockedOut  = user.IsLockedOut;
            userManager.Update(changedUser);

            return(RedirectToAction("List", new { clientId = changedUser.ClientId }));
        }
コード例 #3
0
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var admin = userManager.FindById(id);

            if (admin == null)
            {
                return(HttpNotFound());
            }
            var accountManagerViewModel = new AccountManagerViewModel(userManager.GetRoles(User.Identity.GetUserId()))
            {
                Name     = admin.Name,
                Phone    = admin.Phone,
                ImageUrl = admin.ImageUrl,
                Email    = admin.Email,
                Password = ""
            };

            return(View(accountManagerViewModel));
        }
コード例 #4
0
        public bool CurrentUserHasAccessToClient(int?clientId)
        {
            var userId = User.Identity.GetUserId();

            if (userId == null)
            {
                return(false);
            }
            if (userManager.IsInRole(userId, "consultant"))
            {
                return(true);
            }
            else if (userManager.IsInRole(userId, "demo"))
            {
                return(true);
            }
            else if (userManager.IsInRole(userId, "sales"))
            {
                return(true);
            }
            else if (userManager.IsInRole(userId, "client"))
            {
                if (clientId == null)
                {
                    return(true);
                }
                var user = userManager.FindById(userId);
                if (user.Client.Id == clientId)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
コード例 #5
0
        // GET: /Account/AuthenticateToken
        public ActionResult AuthenticateToken(string token, string returnUrl)
        {
            var logOnModel = new LogOnModel();
            var today      = DateTime.Now;
            var tokenUser  = tokenRepository.Where(t => t.AccessToken == token && t.ExpirationDate >= today).SingleOrDefault();

            if (tokenUser != null)
            {
                var userMembershipId = tokenUser.UserId;
                var user             = userManager.FindById(userMembershipId);

                logOnModel.UserName = user.UserName;
                SignIn(user, true);
                if (returnUrl == null)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") &&
                    !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\") &&
                    !returnUrl.Contains("/Account/LogOn"))
                {
                    return(Redirect(returnUrl));
                }
                else
                {
                    if (returnUrl.ToLower().Contains("inside.helloy.se"))
                    {
                        return(Redirect(returnUrl));
                    }
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                ModelState.AddModelError("", "Länken är tyvärr ej längre giltig.");
                return(View("LogOn", logOnModel));
            }
        }