public async Task <IActionResult> Register(RegisterModel model) { if (ModelState.IsValid) { var newUser = (User)model; UserGuid usg = new UserGuid(); string guideValue = ""; var result = await RepositoryBuilder.AuthRepository.ActionQueueAsync(async i => { User user = await i.GetUserByEmailAsync(model.Email, false); if (user == null) { User nConfirmUs = await i.GetUserByEmailAsync(model.Email, false, false); if (nConfirmUs != null) { await i.DeleteUserGuideInUserIdAsync(nConfirmUs.Id); await i.DeleteObjAsync(nConfirmUs.Id); await i.SaveChangesAsync(); } PasswdHesh.SetHeshContSalt(newUser, newUser.Password); await i.AddObjAsync(newUser); usg.UserId = newUser.Id; Guid uguid = Guid.NewGuid(); guideValue = uguid.ToString(); PasswdHesh.SetHeshContSalt(usg, guideValue); await i.AddUserGuideAsync(usg); return(true); } else { ModelState.AddModelError("err", "Такой пользователь уже существует!"); return(false); } }, true); if (result) { var task = MailSender.SendMessage( newUser.Email, "Подтверждение почты для учётной записи.", $"https://{HttpContext.Request.Host.Value.ToString()}/Account/AccountConfirm?id={usg.Id}&guid={guideValue}".TegLinq()); return(GetHelloView(new MsgVue("В течении 5 минут на указанную почту поступит письмо для подтверждения аккаунта!"))); } else { return(GetHelloView(new MsgVue("Не правильно введены данные", ModelState.Root.Children))); } } return(GetHelloView(new MsgVue("Не правильно введены данные. Дополнительная информация в форме регистрации!", ModelState.Values))); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <Order>() .HasOne(o => o.Courier) .WithMany(u => u.CourierOrders) .HasForeignKey(o => o.CourierId); modelBuilder.Entity <OrderProduct>() .HasKey(t => new { t.OrderId, t.ProductId }); modelBuilder.Entity <OrderProduct>() .HasOne(sc => sc.Order) .WithMany(s => s.OrderProduct) .HasForeignKey(sc => sc.OrderId); modelBuilder.Entity <OrderProduct>() .HasOne(sc => sc.Product) .WithMany(s => s.OrderProduct) .HasForeignKey(sc => sc.ProductId); RoleMaster rm = new RoleMaster(); Role[] roles = rm.GetRoles(); string passwd = "qweqwe"; User[] uss = { new User() { Id = 1, Email = "*****@*****.**", RoleId = roles.FirstOrDefault(i => i.Name == "Администратор").Id, Active = true }, new User() { Id = 2, Email = "*****@*****.**", RoleId = roles.FirstOrDefault(i => i.Name == "Пользователь").Id, Active = true }, new User() { Id = 3, Email = "*****@*****.**", RoleId = roles.FirstOrDefault(i => i.Name == "Пользователь").Id, Active = true }, new User() { Id = 4, Email = "*****@*****.**", RoleId = roles.FirstOrDefault(i => i.Name == "Курьер").Id, Active = true }, new User() { Id = 5, Email = "*****@*****.**", RoleId = roles.FirstOrDefault(i => i.Name == "Курьер").Id, Active = true } }; PasswdHesher <User> hesher = new PasswdHesher <User>(); for (int i = 0; i < uss.Length; i++) { hesher.SetHeshContSalt(uss[i], passwd); } modelBuilder.Entity <Role>().HasData(roles); modelBuilder.Entity <User>().HasData(uss); base.OnModelCreating(modelBuilder); }