Пример #1
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                TempData[MessageKey] = "Le formulaire n'est pas valide.";
                return(Page());
            }

            var employees = _employeeRepository.Get().Result;
            var employee  = employees.Where(emp => emp.Username == userNAME).FirstOrDefault();

            if (Tools.CheckPassword(employee.PasswordHash, oldPassword) == false)
            {
                TempData[MessageKey] = "Votre ancien mot de passe n'est pas correct.";
                return(Page());
            }


            if (newPassword != confirmPassword)
            {
                TempData[MessageKey] = "Les 2 champs nouveaux mots de passe ne correspondent pas.";
                return(Page());
            }


            newPassword = Tools.Hash(newPassword);
            Dbo.ClientUsers newUser = new Dbo.ClientUsers
            {
                Id           = employee.Id,
                Username     = employee.Username,
                PasswordHash = newPassword,
                RoleId       = employee.RoleId
            };
            var result = _employeeRepository.Update(newUser);


            ClientLogs log = new ClientLogs
            {
                Id      = 0,
                Date    = DateTime.Now,
                Class   = this.GetType().Name,
                Type    = "employee.Username",
                Logtype = LoggerType.INFO.GetFriendlyName(),
                Message = "Employee: " + employee.Username + " bas been update to the base",
            };

            await _logRepository.Insert(log);

            TempData[MessageKey] = "Votre profil a bien été éditer !";
            ModelState.Clear();
            OnGet();

            return(Page());
        }
        public async Task <IActionResult> OnPost()
        {
            if (!ModelState.IsValid)
            {
                TempData[MessageKey] = "Le formulaire n'est pas valide.";
                return(Page());
            }
            if (newName != null && newPassword == confirmPassword)
            {
                var roles          = _employeeRepository.GetTypeRoles();
                var nbRoleAdmin    = roles.Where(item => item.Name.ToLower().Contains("admin")).FirstOrDefault();
                var nbRoleEmployee = roles.Where(item => item.Name.ToLower().Contains("employee")).FirstOrDefault();

                //default value
                long role = 1;

                if (nbRoleEmployee != null)
                {
                    role = nbRoleEmployee.Id;
                }

                if (newRole && nbRoleAdmin != null)
                {
                    role = nbRoleAdmin.Id;
                }



                newPassword = Tools.Hash(newPassword);
                Dbo.ClientUsers newUser = new Dbo.ClientUsers
                {
                    Username     = newName,
                    PasswordHash = newPassword,
                    RoleId       = role
                };
                var test = await _employeeRepository.Insert(newUser);


                ClientLogs log = new ClientLogs
                {
                    Id      = 0,
                    Date    = DateTime.Now,
                    Class   = this.GetType().Name,
                    Type    = "Add Employee",
                    Logtype = LoggerType.INFO.GetFriendlyName(),
                    Message = "Employee: " + newName + " bas been added to the base",
                };

                await _logRepository.Insert(log);

                return(RedirectToPage("./AdminEmployees"));
            }
            return(Page());
        }