public async Task <FEUser> Create(FEUser newUser) { if (appDbContext.Users.FirstOrDefault(user => user.Email.ToLowerInvariant() == newUser.Email.ToLowerInvariant()) != null) { throw new InvalidOperationException(ErrorMessages.EmailTaken); } User userToAdd = new User { FullName = newUser.FullName, PhoneNumber = newUser.PhoneNumber, Email = newUser.Email, Password = newUser.Password != null?PasswordCrypt.EncryptPassword(newUser.Password) : throw new InvalidOperationException(ErrorMessages.PasswordMissing), SlackId = newUser.SlackId, MainOffice = newUser.MainOffice, IsDriver = false, RoleId = newUser.RoleId, Cars = new List <Car>() }; if (newUser.CarPlates != null && newUser.CarPlates.Length != 0) { UpdateCarPlates(ref userToAdd, newUser.CarPlates); } appDbContext.Users.Add(userToAdd); await appDbContext.SaveChangesAsync(); newUser.Id = userToAdd.UserId; return(newUser); }
public Account(string un, string fn, string ln, string e, string p, string g, DateTime dob) { this.username = un; this.firstname = fn; this.lastname = ln; this.email = e; this.password = crypt.EncryptPassword(p); this.gender = g; this.dob = dob; }
private User CreateUser(UserRegisterRequest userRegisterRequest) { return(new User { Email = userRegisterRequest.Email, Password = PasswordCrypt.EncryptPassword(userRegisterRequest.Password), FullName = userRegisterRequest.FullName, SlackId = userRegisterRequest.SlackId, MainOffice = userRegisterRequest.MainOffice, IsDriver = true, RoleId = 1, PhoneNumber = userRegisterRequest.Phone, Cars = new List <Car>() }); }
public async Task <IActionResult> Update(UserUpdateRequest userUpdateRequest) { User user = appDbContext.Users.Include(x => x.Cars).FirstOrDefault(x => x.UserId == currentUserId); if (userUpdateRequest.OldPassword != null && userUpdateRequest.NewPassword != null) { try { checkOldPassword(user, userUpdateRequest.OldPassword); user.Password = PasswordCrypt.EncryptPassword(userUpdateRequest.NewPassword); } catch (ArgumentException exception) { return(BadRequest(new Dictionary <string, string[]> { { exception.ParamName, new [] { exception.Message.Split(Environment.NewLine)[0] } } })); } } user.FullName = userUpdateRequest.FullName; user.PhoneNumber = userUpdateRequest.PhoneNumber; user.SlackId = userUpdateRequest.SlackId; user.MainOffice = userUpdateRequest.MainOffice; user.IsDriver = userUpdateRequest.IsDriver; foreach (Car car in user.Cars.ToList()) { if (userUpdateRequest.CarPlates.FirstOrDefault(plate => plate == car.CarPlate) == null) { if (appDbContext.Trips.FirstOrDefault(trip => trip.CarPlate == car.CarPlate) != null) { throw new ArgumentException(ErrorMessages.CarPlateHasTrips + car.CarPlate + "!", "carPlates"); } user.Cars.Remove(car); appDbContext.Entry(car).State = EntityState.Deleted; appDbContext.Cars.Remove(car); } } foreach (string carPlate in userUpdateRequest.CarPlates) { Car existingCar = appDbContext.Cars.FirstOrDefault(car => car.CarPlate == carPlate); if (existingCar == null) { Car carToAdd = new Car() { CarPlate = carPlate, UserId = user.UserId }; appDbContext.Cars.Add(carToAdd); user.Cars.Add(carToAdd); } else if (existingCar.UserId != currentUserId) { throw new ArgumentException(ErrorMessages.CarPlateExists + carPlate + "!", "carPlates"); } } appDbContext.Entry(user).State = EntityState.Modified; appDbContext.Update(user); await appDbContext.SaveChangesAsync(); return(Ok()); }