public async Task <int> CreateUser(RegisterUserContract registerUserContract) { List <ApiError> errors = new List <ApiError>(); if (string.IsNullOrWhiteSpace(registerUserContract.UserName)) { errors.Add(new ApiError() { Field = nameof(registerUserContract.UserName), Message = "User Name is required" }); } if (!string.IsNullOrWhiteSpace(registerUserContract.UserName) && registerUserContract.UserName.Length > 50) { errors.Add(new ApiError() { Field = nameof(registerUserContract.UserName), Message = "User Name cannot exceed 50 characters" }); } var user = registerUserContract.AsUserEntity(); _unitOfWork.Users.Add(user); _unitOfWork.Adresses.Add(registerUserContract.CurrentAddress.AsAddressEntity(user.Id)); _unitOfWork.Adresses.Add(registerUserContract.PermanentAddress.AsAddressEntity(user.Id)); _unitOfWork.PhoneNumbers.Add(registerUserContract.AsPhoneNumberEntity(user.Id)); return(await _unitOfWork.CompleteAsync().ConfigureAwait(false)); }
public static PhoneNumber AsPhoneNumberEntity(this RegisterUserContract usr, Guid userId) { if (usr == null) { return(null); } return(new PhoneNumber() { Number = usr.PhoneNumber, Extension = null, UserId = userId }); }
public static User AsUserEntity(this RegisterUserContract usr) { if (usr == null) { return(null); } return(new User() { UserName = usr.UserName, Email = usr.Email, FirstName = usr.FirstName, LastName = usr.LastName, MiddleName = usr.MiddleName, Password = usr.Password, RoleId = usr.RoleId, }); }
public Task <int> RegisterUser(RegisterUserContract registerUserContract) { return(_accountManager.CreateUser(registerUserContract)); }