public void CreateAccount(DTO.UserDTO user) { var obj = AutoMapper.Mapper.Map <DigitalCultivationMart.DAL.Entities.User>(user); IsAccountExists(user.UserName, user.Password); urepo.AddUser(obj); }
public DTO.UserDTO Delete(DTO.UserDTO item) { DAL.Context.User entity = repository.Get(item.UserId); repository.Delete(entity); repository.SaveChanges(); return(item); }
public async Task <IActionResult> GetSpecificUserInfo(int userId) { if (this.HttpContext.User.IsInRole(Role.Admin) || this.HttpContext.User.IsInRole(Role.Manager)) { var thisUserId = this.UserIdFromApiKey(); var user = await _userRepository.UserFromId(userId); if (user == null) { var err = new DTO.ErrorBuilder() .Message("No user found with that ID") .Code(400) .Build(); return(err); } var userDTO = new DTO.UserDTO(user); return(new ObjectResult(userDTO)); } else { var err = new DTO.ErrorBuilder() .Message("You do not have the proper authorization to view user accounts.") .Code(403) .Build(); return(err); } }
public async Task <IActionResult> SetUserInfo(DTO.UserDTO userInfo) { if (this.HttpContext.User.IsInRole(Role.Manager)) { if (userInfo.UserAccountType == UserAccountType.Admin) { var err = new DTO.ErrorBuilder() .Message("You do not have the proper authorization to edit Admin user accounts.") .Code(403) .Build(); return(err); } } else if (this.HttpContext.User.IsInRole(Role.Tenant)) { var err = new DTO.ErrorBuilder() .Message("You do not have the proper authorization to edit user accounts.") .Code(403) .Build(); return(err); } var user = await _userRepository.UpdateUserInfo(userInfo); var userDTO = new DTO.UserDTO(user); return(new ObjectResult(userDTO)); }
public async Task <Entity.User> TryCreateAccount(DTO.UserDTO userInfo) { var userExists = await _context.Users .Where(u => u.LoginName == userInfo.LoginName) .Select(u => u) .FirstOrDefaultAsync(); // User account was already made. if (userExists != null) { return(null); } var tenant = await _context.Tenants .Where(t => t.Email == userInfo.LoginName) .Select(t => t) .FirstOrDefaultAsync(); // No tenant found with corresponding login name, so cannot create account. if (tenant == null) { return(null); } userInfo.FirstName = tenant.FirstName; userInfo.LastName = tenant.LastName; return(await NewUser(userInfo)); }
public async Task <Entity.User> UpdateUserInfo(int userId, DTO.UserDTO userInfo) { var loginAlreadyExists = await _context.Users .Where(u => u.LoginName.ToLower() == userInfo.LoginName.ToLower()) .Where(u => u.UserId != userId) .CountAsync() > 0; if (loginAlreadyExists) { return(null); } var user = await UserFromId(userId); if (user == null) { return(null); } user.FirstName = userInfo.FirstName; user.LastName = userInfo.LastName; user.LoginName = userInfo.LoginName; user.Password = Util.Hash.Sha256(userInfo.Password); if (!String.IsNullOrEmpty(userInfo.ApiKey)) { user.ApiKey = userInfo.ApiKey; } await _context.SaveChangesAsync(); return(user); }
private async Task <ActionResult <object> > GenerateToken(DTO.UserDTO dto) { var(identity, person) = await GetIdentity(dto.Username, dto.Password); if (identity == null) { return(BadRequest(new { errorText = "Invalid username or password" })); } var now = DateTime.UtcNow; // создаем JWT-токен var jwt = new JwtSecurityToken( issuer: AuthOptions.ISSUER, audience: AuthOptions.AUDIENCE, notBefore: now, claims: identity.Claims, expires: now.Add(TimeSpan.FromMinutes(AuthOptions.LIFETIME)), signingCredentials: new SigningCredentials(AuthOptions.GetSymmetricSecurityKey(), SecurityAlgorithms.HmacSha256)); var token = new JwtSecurityTokenHandler().WriteToken(jwt); var response = new { access_token = token, user_id = identity.Name, }; return(response); }
public async Task <Entity.User> NewUser(DTO.UserDTO userInfo) { if (userInfo == null) { return(null); } if (String.IsNullOrEmpty(userInfo.Password)) { return(null); } if (String.IsNullOrEmpty(userInfo.LoginName)) { return(null); } var user = new Entity.User(); user.FirstName = userInfo.FirstName; user.LastName = userInfo.LastName; user.LoginName = userInfo.LoginName; user.Password = Util.Hash.Sha256(userInfo.Password); user.UserAccountType = userInfo.UserAccountType; user.ApiKey = Guid.NewGuid().ToString(); await _context.AddAsync(user); await _context.SaveChangesAsync(); return(user); }
public async Task <IActionResult> GetUserInfo() { var userId = this.UserIdFromApiKey(); var user = await _userRepository.UserFromId(userId); var userDTO = new DTO.UserDTO(user); return(new ObjectResult(userDTO)); }
private UserDTO ToDTO(Entities.UserEntity user) { DTO.UserDTO dto = new DTO.UserDTO(); dto.AccessToken = user.AccessToken; dto.Id = user.Id; dto.LoginName = user.LoginName; dto.LoginErrorTimes = user.LoginErrorTimes; dto.LastLoginErrorDateTime = user.LastLoginErrorDateTime; return(dto); }
public async Task <ActionResult <object> > PostUser(DTO.UserDTO dto) { var user = new User { Login = dto.Username, Password = dto.Password }; _context.Users.Add(user); await _context.SaveChangesAsync(); return(await GenerateToken(dto)); }
public async Task <Entity.User> NewUser(DTO.UserDTO userInfo) { var loginAlreadyExists = await _context.Users .Where(u => u.LoginName.ToLower() == userInfo.LoginName.ToLower()) .CountAsync() > 0; if (loginAlreadyExists) { return(null); } if (userInfo == null) { return(null); } if (String.IsNullOrEmpty(userInfo.Password)) { return(null); } if (String.IsNullOrEmpty(userInfo.LoginName)) { return(null); } var user = new Entity.User(); user.FirstName = userInfo.FirstName; user.LastName = userInfo.LastName; user.LoginName = userInfo.LoginName; user.Password = Util.Hash.Sha256(userInfo.Password); user.UserAccountType = userInfo.UserAccountType; user.ApiKey = Guid.NewGuid().ToString(); await _context.AddAsync(user); await _context.SaveChangesAsync(); var tenant = await _context.Tenants .Where(t => t.Email == user.LoginName) .Select(t => t) .FirstOrDefaultAsync(); if (tenant == null) { return(null); } tenant.UserId = user.UserId; await _context.SaveChangesAsync(); return(user); }
public async Task <IActionResult> SetUserInfo(DTO.UserDTO userInfo) { // When user already logged in... if (this.UserInRole(Role.Tenant)) { var thisUserId = this.UserIdFromApiKey(); // Ensure a tenant cannot updated information for another user. userInfo.UserId = thisUserId; var updatedUser = await _userRepository.UpdateUserInfo(userInfo); if (updatedUser == null) { var err = new DTO.ErrorBuilder() .Message("User already exists with that login information or user not found.") .Code(409) .Build(); return(err); } return(new ObjectResult(updatedUser)); } else if (this.UserInRole(Role.Manager) || this.UserInRole(Role.Admin)) { var updatedUser = await _userRepository.UpdateUserInfo(userInfo); if (updatedUser == null) { var err = new DTO.ErrorBuilder() .Message("User already exists with that login information or user not found.") .Code(409) .Build(); return(err); } return(new ObjectResult(updatedUser)); } else { userInfo.UserAccountType = UserAccountType.Tenant; var newUser = await _userRepository.TryCreateAccount(userInfo); if (newUser == null) { var err = new DTO.ErrorBuilder() .Message("Unable to create account, tenant information not found or already exists.") .Code(404) .Build(); return(err); } newUser.Password = "******"; return(new ObjectResult(newUser)); } }
public void CreateOrUpdate(DTO.UserDTO item) { DAL.Context.User entity = mapper.Map <DTO.UserDTO, DAL.Context.User>(item); //if (repository.GetAll().FirstOrDefault(u => u.UserId == entity.UserId) == null) repository.CreateOrUpdate(entity); //else //{ // IEnumerable<User> users = repository.GetAll().ToList(); // User user = users.FirstOrDefault(u => u.UserId == entity.UserId); // mapper.Map<User, User>(entity, user); // repository.SaveChanges(); // } repository.SaveChanges(); }
public static DTO.UserDTO convertToUserDTO(DAL.User user) { if (user == null) { return(null); } DTO.UserDTO newuser = new DTO.UserDTO() { userCode = user.userCode, userName = user.userName, userPhone = user.userPhone, userMail = user.userMail }; return(newuser); }
public static DTO.UserDTO ConvertUserToDTO(DAL.User udal) { if (udal == null) { return(null); } DTO.UserDTO w = new DTO.UserDTO() { UserId = udal.UserId, UserFirstName = udal.UserFirstName, UserLastName = udal.UserLastName, UserEmail = udal.UserEmail, UserPassword = udal.UserPassword, UserGooglePassword = udal.UserGooglePassword }; return(w); }
//לעשות המרה בהכל גם לליסט וכן לטפל בשגיאות אם זה ריק וכו public static DAL.User ConvertUserToDAL(DTO.UserDTO udto) { if (udto == null) { return(null); } DAL.User w = new DAL.User() { UserId = udto.UserId, UserFirstName = udto.UserFirstName, UserLastName = udto.UserLastName, UserEmail = udto.UserEmail, UserPassword = udto.UserPassword, UserGooglePassword = udto.UserGooglePassword }; return(w); }
public static DTO.UserDTO userDTO(Dal.User user) { DTO.UserDTO userDTO = new DTO.UserDTO(); userDTO.User_Type = user.User_Type; userDTO.User_kod = user.User_kod; userDTO.Telephone = user.Telephone; userDTO.Password = user.Password; userDTO.Last_Name = user.Last_Name; userDTO.Is_Active = user.Is_Active; userDTO.HomeTown = user.HomeTown; userDTO.First_Name = user.First_Name; userDTO.Email = user.Email; return(userDTO); }
public async Task <Entity.User> UpdateUserInfo(int userId, DTO.UserDTO userInfo) { var user = await UserFromId(userId); if (user == null) { return(null); } user.FirstName = userInfo.FirstName; user.LastName = userInfo.LastName; user.LoginName = userInfo.LoginName; user.Password = Util.Hash.Sha256(userInfo.Password); await _context.SaveChangesAsync(); return(user); }
public async Task <ActionResult <object> > Token(DTO.UserDTO dto) { return(await GenerateToken(dto)); }
public bool addNewUser(DTO.UserDTO user) { return(cu.CreateUser(user)); }