Пример #1
0
        public Result <GetSingleOrganizationOrgUsersResult> GetSingleOrganizationOrgUsers(int organizationId)
        {
            if (organizationId <= 0 || !organizationRepository.OrganizationExists(organizationId))
            {
                return(new Result <GetSingleOrganizationOrgUsersResult>(OrganizationUserServiceErrors.NotFoundError()));
            }
            var result = organizationUserRepository.GetSingleOrganizationOrgUsers(organizationId);

            return(new Result <GetSingleOrganizationOrgUsersResult>(result));
        }
Пример #2
0
        public EmptyResult UpdateOrganizationUser(UpdateOrganizationUserCommand command)
        {
            this.logger.LogInformation("{} {}", command.OrganizationUserId, command.UserType);

            var organizationUser =
                organizationUserRepository.GetOrganizationUser(command.OrganizationUserId, command.UserType, command.OrganizationId);

            if (organizationUser == null)
            {
                return(new EmptyResult(OrganizationUserServiceErrors.NotFoundError()));
            }

            if (!string.IsNullOrWhiteSpace(command.Email) &&
                !string.Equals(command.Email, organizationUser.Email, StringComparison.CurrentCultureIgnoreCase) &&
                organizationUserRepository.IsEmailInUse(command.Email, organizationUser.OrganizationUserId))
            {
                return(new EmptyResult(OrganizationUserServiceErrors.EmailAlreadyInUseError()));
            }

            organizationUserRepository.UpdateOrganizationUser(command);
            return(new EmptyResult());
        }
Пример #3
0
        public Result <AnyOrganizationUserWithSharedUserId> DeleteOrganizationUser(int?organizationUserId, int?userType, int?organizationId)
        {
            if (!organizationId.HasValue)
            {
                return(new Result <AnyOrganizationUserWithSharedUserId>(OrganizationUserServiceErrors.InvalidOrganizationId()));
            }
            if (!userType.HasValue)
            {
                return(new Result <AnyOrganizationUserWithSharedUserId>(OrganizationUserServiceErrors.InvalidUserTypeId()));
            }
            if (!organizationUserId.HasValue)
            {
                return(new Result <AnyOrganizationUserWithSharedUserId>(OrganizationUserServiceErrors.InvalidOrganizationUserId()));
            }
            if (!organizationUserRepository.OrganizationUserExists(organizationUserId.Value, organizationId.Value))
            {
                return(new Result <AnyOrganizationUserWithSharedUserId>(OrganizationUserServiceErrors.NotFoundError()));
            }

            var deletedAt = organizationUserRepository.DeleteOrganizationUser(organizationUserId.Value, userType.Value, organizationId.Value);

            groupRepository.DisassociateOrganizationUserFromAllGroups(new DisassociateOrganizationUserFromAllGroupsCommand
            {
                OrganizationId     = organizationId.Value,
                OrganizationUserId = organizationUserId.Value
            });

            var isLastUserIdRelationship = organizationUserRepository.AnyOrganizationUserWithSharedUserId(organizationUserId.Value);

            isLastUserIdRelationship.DeletedAt = deletedAt;

            var publishResult = PublishDeleteOrganizationUser(
                organizationUserId.Value,
                userType.Value,
                deletedAt,
                organizationId.Value);

            return(new Result <AnyOrganizationUserWithSharedUserId>(isLastUserIdRelationship));
        }