Esempio n. 1
0
 public UserRequestMapper()
 {
     CreateMap <DocEntitySet <DocEntityUserRequest>, List <Reference> >()
     .ConvertUsing(s => s.ToReferences());
     CreateMap <DocEntityUserRequest, Reference>()
     .ConstructUsing(s => null == s || !(s.Id > 0) ? null : s.ToReference());
     CreateMap <Reference, DocEntityUserRequest>()
     .ForMember(dest => dest.Id, opt => opt.Condition(src => null != src && src.Id > 0))
     .ConstructUsing(c => DocEntityUserRequest.Get(c));
     _EntityToDto = CreateMap <DocEntityUserRequest, UserRequest>()
                    .ForMember(dest => dest.Created, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, "Created")))
                    .ForMember(dest => dest.Updated, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, "Updated")))
                    .ForMember(dest => dest.App, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.App))))
                    .ForMember(dest => dest.AppId, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.AppId))))
                    .ForMember(dest => dest.Method, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.Method))))
                    .ForMember(dest => dest.Page, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.Page))))
                    .ForMember(dest => dest.PageId, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.PageId))))
                    .ForMember(dest => dest.Path, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.Path))))
                    .ForMember(dest => dest.URL, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.URL))))
                    .ForMember(dest => dest.UserSession, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.UserSession))))
                    .ForMember(dest => dest.UserSessionId, opt => opt.PreCondition(c => DocMapperConfig.ShouldBeMapped <UserRequest>(c, nameof(DocEntityUserRequest.UserSessionId))))
                    .MaxDepth(2);
     _DtoToEntity = CreateMap <UserRequest, DocEntityUserRequest>()
                    .MaxDepth(2);
     ApplyCustomMaps();
 }
Esempio n. 2
0
        private UserRequest GetUserRequest(UserRequest request)
        {
            var         id    = request?.Id;
            UserRequest ret   = null;
            var         query = DocQuery.ActiveQuery ?? Execute;

            DocPermissionFactory.SetSelect <UserRequest>(currentUser, "UserRequest", request.Select);

            DocEntityUserRequest entity = null;

            if (id.HasValue)
            {
                entity = DocEntityUserRequest.Get(id.Value);
            }
            if (null == entity)
            {
                throw new HttpError(HttpStatusCode.NotFound, $"No UserRequest found for Id {id.Value}");
            }

            if (!DocPermissionFactory.HasPermission(entity, currentUser, DocConstantPermission.VIEW))
            {
                throw new HttpError(HttpStatusCode.Forbidden, "You do not have VIEW permission for this route.");
            }

            ret = entity?.ToDto();
            return(ret);
        }