public static async Task InitializeAsync(UserManager <DutUser> userManager, RoleManager <DutRole> roleManager) { var defaultUser = "******"; var defaultPassword = "******"; if (await roleManager.FindByNameAsync("admin") == null) { await roleManager.CreateAsync(new DutRole("admin")); } if (await roleManager.FindByNameAsync("user") == null) { await roleManager.CreateAsync(new DutRole("user")); } if (await userManager.FindByNameAsync(defaultUser) == null) { var dutUser = new DutUser { UserName = defaultUser }; var result = await userManager.CreateAsync(dutUser, defaultPassword); if (result.Succeeded) { await userManager.AddToRoleAsync(dutUser, "admin"); } } }
public async Task <OperationDetails> Create(DutUser userDto, string password) { var user = await UserManager.FindByEmailAsync(userDto.Email); if (user != null) { return(new OperationDetails(false, "Користувач з таким email вже існує", "Email")); } var result = await UserManager.CreateAsync(userDto, password); if (result.Errors.Any()) { return(new OperationDetails(false, result.Errors.FirstOrDefault(), "")); } // Добавить роль await UserManager.AddToRoleAsync(userDto.Id, "user"); // Создание профиля клиента ClientProfile clientProfile = new ClientProfile { Id = userDto.Id, FullName = userDto.ClientProfile.FullName }; UserProfileRepository.Add(clientProfile); await SaveUser(); return(new OperationDetails(true, "Реєстрація успішно пройдена", "")); }
public async Task <OperationDetails> EditProfile(DutUser user) { var curus = await UserManager.FindByIdAsync(user.Id); if (curus == null) { return(new OperationDetails(false, "Користувач не знайдений", "")); } curus.ClientProfile.FullName = user.ClientProfile.FullName; curus.Email = user.Email; curus.PhoneNumber = user.PhoneNumber; await SaveUser(); return(new OperationDetails(true, "Данні збережені", "")); }
// Инициализация БД (начальная) public async Task SetInitialData(DutUser adminDto, List <string> roles) { foreach (var roleName in roles) { var role = await RoleManager.FindByNameAsync(roleName); if (role != null) { continue; } role = new DutRole() { Name = roleName }; await RoleManager.CreateAsync(role); } }
public static void SeedAdminAccount(this DutContext context, string userName, string passaword) { var userManager = new UserManager <DutUser>(new UserStore <DutUser>(context)); var user = userManager.Find(userName, passaword); if (user != null) { return; } SeedUserRoles(context, new List <string> { "admin", "user" }); user = new DutUser { UserName = userName }; var result = userManager.Create(user, passaword); if (result.Succeeded) { var factory = new DataBaseFactory(); factory.Get(); userManager.AddToRole(user.Id, "admin"); var m = new UserProfileRepository(factory); m.Add(new ClientProfile { Id = user.Id, Enable = true, CreateDate = DateTime.Now }); factory.Get().SaveChanges(); } else { var e = new Exception("Could not add default account"); var enumerator = result.Errors.GetEnumerator(); foreach (var resultError in result.Errors) { e.Data.Add(enumerator.Current, resultError); } throw e; } }