public async Task <ResultDto> Register([FromBody] RegisterDto model) { User user = new User() { Email = model.Email, PhoneNumber = model.PhoneNumber, UserName = model.Email }; await _userManager.CreateAsync(user, model.Password); UserAdditionalInfo ui = new UserAdditionalInfo() { Id = user.Id, Age = model.Age, FullName = model.FullName, Image = model.Image }; var result = _userManager.AddToRoleAsync(user, "Guest").Result; await ctx.UserAdditionalInfo.AddAsync(ui); await ctx.SaveChangesAsync(); return(new ResultDto { IsSuccessful = true }); }
public string CreateToken(UserAdditionalInfo user) { var roles = _userManager.GetRolesAsync(user).Result; var claims = new List <Claim> { new Claim("id", user.Id.ToString()), new Claim("email", user.Email.ToString()) }; foreach (var role in roles) { claims.Add(new Claim("roles", role)); } var jwtTokenSecretKey = _configuration.GetValue <string>("SecretPhrase"); var signInKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtTokenSecretKey)); var signInCredentials = new SigningCredentials(signInKey, SecurityAlgorithms.HmacSha256); var jwt = new JwtSecurityToken( signingCredentials: signInCredentials, claims: claims, expires: DateTime.Now.AddDays(7) ); return(new JwtSecurityTokenHandler().WriteToken(jwt)); }
public async Task UpdateUserAdditionalInfoAsync( string userId, string fullName, string imageUrl, string contactPhone, string contactEmail, string country, string city, string social) { var userAdditionalInfo = new UserAdditionalInfo() { UserId = userId, FullName = fullName, ImageUrl = imageUrl, ConntactPhone = contactPhone, ContactEmail = contactEmail, Country = country, City = city, Social = social, }; if (this.HasUserAdditionalInfoWithId(userId)) { userAdditionalInfo.Id = this.GetUserAdditionalInfoIdWithUserId(userId); this.userAdditionalInfoRepository.Update(userAdditionalInfo); } else { await this.userAdditionalInfoRepository.AddAsync(userAdditionalInfo); } await this.userAdditionalInfoRepository.SaveChangesAsync(); }
public async Task <UserAdditionalInfo> SeedUserAdditionalInfo(ApplicationDbContext context, string userId, string imageUrl) { UserAdditionalInfo userAdditionalInfo = new UserAdditionalInfo() { ImageUrl = imageUrl, UserId = userId, }; context.UserAdditionalInfo.Add(userAdditionalInfo); await context.SaveChangesAsync(); return(userAdditionalInfo); }
public IActionResult Step2(UserAdditionalInfo additionalInfo) { _provider.IncrementValidationCounter(); if (!ModelState.IsValid) { return(View(additionalInfo)); } var user = _provider.GetUser(); user.AdditionalInfo = additionalInfo; _provider.SaveUser(user); return(RedirectToAction("Continue")); }
public void AddTovar(TovarDTO tovar) { List <Tovar_Image> images = _context.Tovar_Images.Where(x => x.Tovar.Id == tovar.Id).ToList(); UserAdditionalInfo userAdditional = _context.AdditionalInfos.FirstOrDefault(x => x.Id == tovar.UserId); Categories categoriesa = _context.Categories.FirstOrDefault(x => x.ID == tovar.CategoryId); Tovar newTovar = new Tovar { Description = tovar.Description, Category = categoriesa, CategoryId = tovar.CategoryId, Cost = tovar.Cost, Images = images, Name = tovar.Name, UserId = userAdditional.Id, Id = tovar.Id }; _context.Tovars.Add(newTovar); _context.SaveChanges(); }
public async Task <bool> additionalData(UserAdditionalInfo uai) { try { var user = await _context.UserDatas.FirstOrDefaultAsync(x => x.ID == uai.userID); user.Gender = uai.Gender; user.Age = uai.Age; user.CityID = uai.CityID; _context.UserDatas.Update(user); _context.SaveChanges(); return(true); } catch (Exception) { return(false); } }
private static void SeedUsers(UserManager <UserAdditionalInfo> userManager, RoleManager <IdentityRole> roleManager, EFContext _context) { // _context.SaveChanges(); var roleName = "Admin"; if (roleManager.FindByNameAsync(roleName).Result == null) { var resultAdminRole = roleManager.CreateAsync(new IdentityRole { Name = "Admin" }).Result; var resultUserRole = roleManager.CreateAsync(new IdentityRole { Name = "User" }).Result; string email = "*****@*****.**"; var admin = new UserAdditionalInfo { Email = email, UserName = email }; var andrii = new UserAdditionalInfo { Email = "*****@*****.**", UserName = "******" }; var resultAdmin = userManager.CreateAsync(admin, "Qwerty1-").Result; resultAdmin = userManager.AddToRoleAsync(admin, "Admin").Result; var resultAndrii = userManager.CreateAsync(andrii, "Qwerty1-").Result; resultAndrii = userManager.AddToRoleAsync(andrii, "User").Result; } }
public async Task <ResultDTO> Register([FromBody] UserRegisterDTO model) { try { if (!ModelState.IsValid) { return(new ResultErrorDTO { Status = 403, Message = "ERROR", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } var user = new User() { UserName = model.Email, Email = model.Email, PhoneNumber = model.Phone }; var userProfile = new UserAdditionalInfo() { Address = model.Address, Image = "default.jpg", FullName = model.FullName, Id = user.Id }; IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(new ResultErrorDTO { Message = "ERROR", Status = 500, Errors = CustomValidator.GetErrorsByIdentotyResult(result) }); } else { result = _userManager.AddToRoleAsync(user, "User").Result; _context.UserAdditionalInfos.Add(userProfile); _context.SaveChanges(); } return(new ResultDTO { Status = 200, Message = "OK" }); } catch (Exception e) { return(new ResultDTO { Status = 500, Message = e.Message, }); } }
public List <Tovar> GetTovarForUser(string userName) { UserAdditionalInfo userAdditional = _context.AdditionalInfos.FirstOrDefault(x => x.UserName == userName); return(_context.Tovars.Where(x => x.UserId == userAdditional.Id).ToList()); }
public FakeUserBuilder WithAdditionalInfo(UserAdditionalInfo additionalInfo) { _additionalInfo = additionalInfo; return(this); }
public async Task <ResultDTO> Register([FromBody] UserRegisterDTO model) { try { if (!ModelState.IsValid) { return(new ResultErrorDTO() { Status = 401, Message = "ERROR" }); } var user = new User() { UserName = model.Email, Email = model.Email, PhoneNumber = model.Phone }; var userProfile = new UserAdditionalInfo() { Id = user.Id, FullName = model.FullName, Address = model.Address, Age = model.Age }; IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { result = _userManager.AddToRoleAsync(user, "User").Result; _context.UserAdditionalInfos.Add(userProfile); _context.SaveChanges(); return(new ResultDTO() { Message = "OK", Status = 200 }); } else { return(new ResultErrorDTO() { Message = "ERROR", Status = 403 }); } } catch (Exception e) { return(new ResultErrorDTO { Status = 500, Message = e.Message, Errors = new List <string>() { e.Message } }); } }
public Task <bool> additionalData(UserAdditionalInfo uai) { return(_IUserDatasBL.additionalData(uai)); }
public async Task <ResultDTO> Register([FromBody] LoginRegisterDTO model) { try { if (!ModelState.IsValid) { return(new ResultErrorDTO() { Status = 401, Message = "ERROR", Errors = CustomValidator.getErrorsByModel(ModelState) }); } var user = new UserAdditionalInfo() { Name = model.FullName, Email = model.Email, UserName = model.Email, Password = model.Password, Id = Guid.NewGuid().ToString(), City = "", Phone = "" }; IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { //result = _userManager.AddToRoleAsync(user, "User").Result; _context.AdditionalInfos.Add(user); _context.Entry(user).State = EntityState.Modified; _context.SaveChanges(); return(new ResultDTO() { Message = "OK", Status = 200 }); } else { return(new ResultErrorDTO() { Message = "ERROR", Status = 403, Errors = CustomValidator.getErrorsByIdentityResult(result) }); } } catch (Exception e) { return(new ResultErrorDTO { Status = 228, Message = e.Message, Errors = new List <string>() { e.Message } }); } }