Beispiel #1
0
        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)));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }