コード例 #1
0
        public override Request InsertRequest(RequestModel <RequestDelegatePermissionsUserModel> requestModel)
        {
            var delegationRequestUsersExtInfo = new List <DelegationRequestUsersExtInfo>();
            var request = ConvertToRequest(requestModel, (rua, user) =>
            {
                delegationRequestUsersExtInfo.Add(GetDelegationRequestUsersExtInfo(rua, user));
            });

            request.User = RequestSecurityService.GetUserInfo();
            var idRequestStateType =
                RequestSecurityService.CanSetRequestStateGlobal(request, 1) ? 1 : 2;

            request.RequestStates = new List <RequestState>
            {
                new RequestState
                {
                    IdRequestStateType = idRequestStateType,
                    Request            = request,
                    Date = DateTime.Now
                }
            };
            var insertedRequest = RequestsRepository.InsertRequest(request);

            RequestsRepository.InsertDelegationRequestUsersExtInfo(delegationRequestUsersExtInfo);
            return(insertedRequest);
        }
コード例 #2
0
 private RequestDelegatePermissionsViewModel LoadAdditionalInfoToViewModel(
     RequestDelegatePermissionsViewModel viewModel)
 {
     viewModel.Resources = RequestSecurityService.FilterResources(ResourceRepository.GetResources())
                           .OrderBy(r => r.Name).ToList();
     viewModel.ResourceRights = ResourceRepository.GetResourceRights().OrderBy(r => r.Name).ToList();
     return(viewModel);
 }
コード例 #3
0
 private RequestModifyPermissionsViewModel LoadAdditionalInfoToViewModel(
     RequestModifyPermissionsViewModel viewModel)
 {
     viewModel.Resources =
         RequestSecurityService.FilterResources(ResourceRepository.GetResources())
         .OrderBy(r => r.Name)
         .ToList();
     viewModel.ResourceRights         = ResourceRepository.GetResourceRights().OrderBy(r => r.Name).ToList();
     viewModel.RequestRightGrantTypes = RequestsRepository.GetRequestRightGrantTypes()
                                        .Where(r => r.IdRequestRightGrantType != 3)
                                        .OrderBy(r => r.Name).ToList();
     return(viewModel);
 }
コード例 #4
0
        public override Request UpdateRequest(RequestModel <RequestDelegatePermissionsUserModel> requestModel)
        {
            var delegationRequestUsersExtInfo = new List <DelegationRequestUsersExtInfo>();
            var request = ConvertToRequest(requestModel, (rua, user) =>
            {
                delegationRequestUsersExtInfo.Add(GetDelegationRequestUsersExtInfo(rua, user));
            });
            var updatedRequest = RequestsRepository.UpdateRequest(request,
                                                                  !RequestSecurityService.InRole(AclRole.Administrator));

            RequestsRepository.UpdateDelegationRequestUsersExtInfo(request.IdRequest, delegationRequestUsersExtInfo);
            return(updatedRequest);
        }
コード例 #5
0
        private RequestAddUserViewModel LoadAdditionalInfoToViewModel(
            RequestAddUserViewModel viewModel)
        {
            var departments = _userService.GetDepartments().ToList();
            var units       = _userService.GetUnits().ToList();

            viewModel.Units = departments.Select(r => new Department
            {
                IdParentDepartment = r.IdDepartment,
                ParentDepartment   = r
            }).Concat(units).OrderBy(r => r.Name).ToList();
            viewModel.Departments = departments
                                    .Concat(units.Select(r => r.ParentDepartment))
                                    .Distinct()
                                    .OrderBy(r => r.Name).ToList();
            viewModel.Resources = RequestSecurityService.FilterResources(ResourceRepository.GetResources())
                                  .OrderBy(r => r.Name).ToList();
            viewModel.ResourceRights = ResourceRepository.GetResourceRights().OrderBy(r => r.Name).ToList();
            return(viewModel);
        }