public IActionResult Create([FromBody] Domain.DTO.User.SocietyUserCreate user) { if (user == null) { return(BadRequest()); } // Todo: Check if there is already active user in the Soc/Build/Flat // Todo : Change thiis later - Use some logic like Ew var password = string.IsNullOrEmpty(user.Password) ? "DDdd@1234" : user.Password; user.Password = password; user.CreatedBy = this.LoggedInUserId; user.CreatedDate = DateTime.UtcNow; user.UpdatedBy = this.LoggedInUserId; user.UpdatedDate = DateTime.UtcNow; return(Ok(this._userService.CreateUserAsync(user))); }
ApolloUser MapToCreateEntity(Domain.DTO.User.SocietyUserCreate user) { var apolloUser = new ApolloUser(); apolloUser.FirstName = user.FirstName; apolloUser.LastName = user.LastName; apolloUser.UserName = user.UserName; apolloUser.Email = user.Email; apolloUser.PhoneNumber = user.PhoneNumber; apolloUser.UserTypeId = user.UserType; apolloUser.IsActive = user.IsActive; apolloUser.CreatedBy = user.CreatedBy; apolloUser.CreatedDate = user.CreatedDate; apolloUser.UpdatedBy = user.UpdatedBy; apolloUser.UpdatedDate = user.UpdatedDate; apolloUser.ObjectState = user.ObjectState; apolloUser.UserAppRoleMappings.Clear(); apolloUser.UserAppRoleMappings.Add(new Apollo.Domain.Entity.UserAppRoleMapping { Id = Guid.NewGuid(), ApplicationId = user.SocietyUser.ApplicationId.Value, RoleId = user.SocietyUser.RoleId.Value, IsActive = user.IsActive, ObjectState = user.ObjectState, CreatedBy = user.CreatedBy, CreatedDate = user.CreatedDate, UpdatedBy = user.UpdatedBy, UpdatedDate = user.UpdatedDate }); apolloUser.SocietyUser = new Domain.Entity.SocietyUser { Id = Guid.NewGuid(), SocietyId = user.SocietyUser.SocietyId, BuildingId = user.SocietyUser.BuildingId, FlatId = user.SocietyUser.FlatId }; return(apolloUser); }
public async Task <ServiceResponse <Domain.DTO.User.SocietyUser> > CreateUserAsync(Domain.DTO.User.SocietyUserCreate user) { var validator = new Domain.DTO.User.SocietyUserCreateValidator(); var results = validator.Validate(user); var response = new ServiceResponse <Apollo.Domain.DTO.User.SocietyUser>(); response.ErrorMessages = results.Errors.ToList(); if (!response.Successful) { return(response); } var applicationDetails = await this._customApplicationRepository.GetApplicationDetails(Constants.SOCIETYAPPLICATION); if (applicationDetails == null) { response.ErrorMessages.Add(new ValidationFailure("", "Could not find application")); return(response); } user.SocietyUser.ApplicationId = applicationDetails.Id; var result = await this._userRepository.Add(MapToCreateEntity(user), user.Password); if (!result.Succeeded) { response.ErrorMessages.Add(new ValidationFailure("", "Failed to Create User")); return(response); } return(response); }