Example #1
0
        protected override void Handle(CreateRoleRequest request, CreateRoleResponse response)
        {
            var organization = _organizationRepository.GetByKey(UserContext.OrganizationKey);
            var role         = _roleFactory.Create(organization, request.Name);
            var roleDto      = Mapper.Map <Role, RoleDto>(role);

            response.Role = roleDto;
        }
        /// <summary>
        ///     Handles the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="response">The response.</param>
        protected override void Handle(CreateOrganizationAdminRequest request, CreateOrganizationAdminResponse response)
        {
            var systemAccount = _systemAccountRepository.GetByIdentifier(request.Email);
            var addRole       = false;

            if (systemAccount == null)
            {
                var result = _systemAccountIdentityServiceManager.Create(request.Email);
                if (result.Sucess)
                {
                    var systemAccountFactory = new SystemAccountFactory();
                    systemAccount = systemAccountFactory.Create(request.OrganizationKey, request.Email, new Email(request.Email));
                    var systemAccountDto = Mapper.Map <SystemAccount, SystemAccountDto> (systemAccount);
                    response.SystemAccountDto = systemAccountDto;
                    addRole = true;
                }
                else
                {
                    var dataErrorInfo = new DataErrorInfo(result.ErrorMessage, ErrorLevel.Error);
                    response.SystemAccountDto = new SystemAccountDto();
                    response.SystemAccountDto.AddDataErrorInfo(dataErrorInfo);
                }
            }
            else
            {
                var result = _systemAccountIdentityServiceManager.ResetPassword(systemAccount.Identifier);
                if (result.Sucess)
                {
                    var systemAccountDto = Mapper.Map <SystemAccount, SystemAccountDto> (systemAccount);
                    response.SystemAccountDto = systemAccountDto;
                    addRole = true;
                }
                else
                {
                    var dataErrorInfo = new DataErrorInfo(result.ErrorMessage, ErrorLevel.Error);
                    response.SystemAccountDto = new SystemAccountDto();
                    response.SystemAccountDto.AddDataErrorInfo(dataErrorInfo);
                }
            }
            if (addRole)
            {
                var role = _roleFactory.Create("Default Organization Admin", request.OrganizationKey);
                role.AddPermision(BasicAccessPermission.AccessUserInterfacePermission);
                role.AddPermision(OrganizationPermission.OrganizationViewPermission);
                role.AddPermision(OrganizationPermission.OrganizationEditPermission);
                role.AddPermision(StaffPermission.StaffAddRolePermission);
                role.AddPermision(StaffPermission.StaffCreateAccountPermission);
                role.AddPermision(StaffPermission.StaffEditPermission);
                role.AddPermision(StaffPermission.StaffLinkAccountPermission);
                role.AddPermision(StaffPermission.StaffRemoveRolePermission);
                role.AddPermision(StaffPermission.StaffViewPermission);
                role.AddPermision(RolePermission.RoleAddPermissionPermission);
                role.AddPermision(RolePermission.RoleEditPermission);
                role.AddPermision(RolePermission.RoleRemovePermissionPermission);
                role.AddPermision(RolePermission.RoleViewPermission);
                systemAccount.AddRole(role.Key);
            }
        }
Example #3
0
        public Role Add(string name, IEnumerable <Guid> systemModuleIds)
        {
            var role = _roleFactory.Create(name);

            _roleRepository.Add(role);

            AssignSystemModules(role.Id, systemModuleIds);

            return(role);
        }
        protected override void Handle(CreateOrganizationAdminRequest request, CreateOrganizationAdminResponse response)
        {
            var systemAccount = _systemAccountRepository.GetByIdentifier(request.Email);
            var organization  = _organizationRepository.GetByKey(request.OrganizationKey);

            if (systemAccount == null)
            {
                var identityServiceResponse = _systemAccountIdentityServiceManager.Create(request.Username, request.Email);
                if (identityServiceResponse.Sucess)
                {
                    systemAccount = _systemAccountFactory.Create(organization, request.Email, new Email(request.Email));
                    var systemAccountDto = Mapper.Map <SystemAccount, SystemAccountDto>(systemAccount);
                    response.SystemAccountDto = systemAccountDto;

                    var role = _roleFactory.Create(organization, "Default Organization Admin");
                    role.AddPermision(BasicAccessPermission.AccessUserInterfacePermission);
                    role.AddPermision(OrganizationPermission.OrganizationViewPermission);
                    role.AddPermision(OrganizationPermission.OrganizationEditPermission);
                    role.AddPermision(StaffPermission.StaffAddRolePermission);
                    role.AddPermision(StaffPermission.StaffCreateAccountPermission);
                    role.AddPermision(StaffPermission.StaffEditPermission);
                    role.AddPermision(StaffPermission.StaffLinkAccountPermission);
                    role.AddPermision(StaffPermission.StaffRemoveRolePermission);
                    role.AddPermision(StaffPermission.StaffViewPermission);
                    role.AddPermision(RolePermission.RoleAddPermissionPermission);
                    role.AddPermision(RolePermission.RoleEditPermission);
                    role.AddPermision(RolePermission.RoleRemovePermissionPermission);
                    role.AddPermision(RolePermission.RoleViewPermission);
                    role.AddPermision(PatientPermission.PatientEditPermission);
                    role.AddPermision(PatientPermission.PatientViewPermission);
                    role.AddPermision(AssessmentPermission.AssessmentEditPermission);
                    role.AddPermision(AssessmentPermission.AssessmentViewPermission);
                    role.AddPermision(StaffPermission.ResetPasswordPermission);
                    systemAccount.AddRole(role);
                }
                else
                {
                    var result        = identityServiceResponse.ErrorMessage;
                    var dataErrorInfo = new DataErrorInfo(result, ErrorLevel.Error);
                    response.SystemAccountDto = new SystemAccountDto();
                    response.SystemAccountDto.AddDataErrorInfo(dataErrorInfo);
                }
            }
            else
            {
                _systemAccountIdentityServiceManager.ResetPassword(systemAccount.Email.Address);
            }
        }
Example #5
0
        public void Execute()
        {
            var systemAccountRepository = IoC.CurrentContainer.Resolve <ISystemAccountRepository> ();
            var systemAccount           = systemAccountRepository.GetByIdentifier(systemAccountIdentifier);

            if (systemAccount == null)
            {
                var systemAdminRole = _roleFactory.Create("System Admin", RoleType.Internal);
                systemAdminRole.AddPermision(SystemAdministrationPermission.SystemAdminPermission);
                systemAdminRole.AddPermision(new Permission {
                    Name = "infrastructuremodule/accessuserinterface"
                });

                systemAccount = new SystemAccount(Guid.Empty, systemAccountIdentifier, new Email(systemAccountIdentifier));
                systemAccount.AddRole(systemAdminRole.Key);

                _unitOfWorkProvider.GetCurrentUnitOfWork().Commit();
            }
        }
Example #6
0
 private Role?Map(RoleRecord?rec) => rec != null?factory.Create(rec.Id, rec.UserId, rec.RoleType, rec.Domain) : null;