コード例 #1
0
 private static void SetAddress(Address address, EditGlobalAdminViewModel model)
 {
     model.Street = address.Street;
     model.Square = address.Square;
     model.PostalCode = address.PostalCode;
     model.State = address.State;
     model.City = address.City;
 }
コード例 #2
0
 private static void SetAddress(Address address, EditGlobalAdminViewModel model)
 {
     model.Street     = address.Street;
     model.Square     = address.Square;
     model.PostalCode = address.PostalCode;
     model.State      = address.State;
     model.City       = address.City;
 }
コード例 #3
0
 private static Address GetAddress(EditGlobalAdminViewModel registerModel)
 {
     return(new Address
     {
         City = registerModel.City,
         PostalCode = registerModel.PostalCode,
         Square = registerModel.Square,
         State = registerModel.State,
         Street = registerModel.Street
     });
 }
コード例 #4
0
 private static Address GetAddress(EditGlobalAdminViewModel registerModel)
 {
     return new Address
     {
         City = registerModel.City,
         PostalCode = registerModel.PostalCode,
         Square = registerModel.Square,
         State = registerModel.State,
         Street = registerModel.Street
     };
 }
コード例 #5
0
 public static GlobalManager ToGlobalManager(this EditGlobalAdminViewModel model, string passwordHash, string tokenHash)
 {
     return(new GlobalManager
     {
         Address = GetAddress(model),
         CPF = model.CPF,
         Email = model.Email,
         FirstName = model.FirstName,
         LastName = model.LastName,
         Telephone = model.PhoneNumber,
         RG = model.RG,
         Complement = model.Complement,
         StreetNumber = int.Parse(model.Number),
         Password = passwordHash,
         TokenHash = tokenHash
     });
 }
コード例 #6
0
        public static EditGlobalAdminViewModel ToEditGlobalAdminViewModel(this GlobalManager globalManager)
        {
            var model = new EditGlobalAdminViewModel
            {
                CPF         = globalManager.CPF,
                Email       = globalManager.Email,
                FirstName   = globalManager.FirstName,
                LastName    = globalManager.LastName,
                PhoneNumber = globalManager.Telephone,
                RG          = globalManager.RG,
                Number      = globalManager.StreetNumber.ToString(),
                Complement  = globalManager.Complement
            };

            SetAddress(globalManager.Address, model);

            return(model);
        }
コード例 #7
0
        public static EditGlobalAdminViewModel ToEditGlobalAdminViewModel(this GlobalManager globalManager)
        {
            var model = new EditGlobalAdminViewModel
            {
                CPF = globalManager.CPF,
                Email = globalManager.Email,
                FirstName = globalManager.FirstName,
                LastName = globalManager.LastName,
                PhoneNumber = globalManager.Telephone,
                RG = globalManager.RG,
                Number = globalManager.StreetNumber.ToString(),
                Complement = globalManager.Complement
            };

            SetAddress(globalManager.Address, model);

            return model;
        }
コード例 #8
0
ファイル: GlobalAdminController.cs プロジェクト: andremn/SPS
        public async Task<ActionResult> SaveChanges(EditGlobalAdminViewModel model)
        {
            var userManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();

            if (ModelState.IsValid)
            {
                ApplicationUser user = await userManager.FindByEmailAsync(model.Email);
                bool error = false;
                string tokenHash = null;

                if (!string.IsNullOrEmpty(model.NewPassword))
                {
                    var result = userManager.ChangePassword(user.Id, model.Password, model.NewPassword);

                    if (!result.Succeeded)
                    {
                        ModelState["Password"].Errors.Add("Senha incorreta");
                        error = true;
                    }
                }

                if (!string.IsNullOrEmpty(model.Token))
                {
                    if (string.IsNullOrEmpty(model.Password))
                    {
                        ModelState["Token"].Errors.Add("O token só pode ser alterado se a senha for digitada");
                        error = true;
                    }
                    else
                    {
                        if (!userManager.CheckPassword(user, model.Password))
                        {
                            ModelState["Password"].Errors.Add("Senha incorreta");
                            error = true;
                        }
                        else
                        {
                            tokenHash = HashServices.HashPassword(model.Token, model.CPF);
                        }
                    }
                }

                if (!error)
                {
                    user = await userManager.FindByEmailAsync(model.Email);

                    if (tokenHash == null)
                    {
                        tokenHash = BusinessManager.Instance.GlobalManagers.FindAll().SingleOrDefault(g => g.Email == user.Email).TokenHash;
                    }

                    GlobalManager globalAdmin = model.ToGlobalManager(user.PasswordHash, tokenHash);

                    BusinessManager.Instance.GlobalManagers.Update(globalAdmin);

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

            return View("Edit", model);
        }
コード例 #9
0
        public async Task <ActionResult> SaveChanges(EditGlobalAdminViewModel model)
        {
            var userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();

            if (ModelState.IsValid)
            {
                ApplicationUser user = await userManager.FindByEmailAsync(model.Email);

                bool   error     = false;
                string tokenHash = null;

                if (!string.IsNullOrEmpty(model.NewPassword))
                {
                    var result = userManager.ChangePassword(user.Id, model.Password, model.NewPassword);

                    if (!result.Succeeded)
                    {
                        ModelState["Password"].Errors.Add("Senha incorreta");
                        error = true;
                    }
                }

                if (!string.IsNullOrEmpty(model.Token))
                {
                    if (string.IsNullOrEmpty(model.Password))
                    {
                        ModelState["Token"].Errors.Add("O token só pode ser alterado se a senha for digitada");
                        error = true;
                    }
                    else
                    {
                        if (!userManager.CheckPassword(user, model.Password))
                        {
                            ModelState["Password"].Errors.Add("Senha incorreta");
                            error = true;
                        }
                        else
                        {
                            tokenHash = HashServices.HashPassword(model.Token, model.CPF);
                        }
                    }
                }

                if (!error)
                {
                    user = await userManager.FindByEmailAsync(model.Email);

                    if (tokenHash == null)
                    {
                        tokenHash = BusinessManager.Instance.GlobalManagers.FindAll().SingleOrDefault(g => g.Email == user.Email).TokenHash;
                    }

                    GlobalManager globalAdmin = model.ToGlobalManager(user.PasswordHash, tokenHash);

                    BusinessManager.Instance.GlobalManagers.Update(globalAdmin);

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

            return(View("Edit", model));
        }