コード例 #1
0
        public async Task <IHttpActionResult> GetByOption(
            Filter filter)
        {
            if (filter != null)
            {
                if (filter.updateDate != null)
                {
                    _policyService
                    .GetUpdatedAfterDate(filter.updateDate.Value);
                }
                if (filter.name != null)
                {
                    _policyService
                    .GetByName(filter.name);
                }
                if (filter.surname != null)
                {
                    _policyService
                    .GetBySurname(filter.surname);
                }
                if (filter.state != null)
                {
                    _policyService
                    .GetByState(filter.state.Value);
                }
                if (filter.objectName != null)
                {
                    _policyService
                    .GetByObjectName(filter.objectName);
                }
                var selectedPolicies = await _policyService
                                       .GetListAsync();

                if (selectedPolicies == null)
                {
                    return(BadRequest());
                }

                if (filter.nameSelected)
                {
                    return(Ok(MapperBuilder.Build(ConfigType.Owner)
                              .Map <List <Owner> >(selectedPolicies)));
                }
                else
                {
                    return(Ok(MapperBuilder.Build(ConfigType.In)
                              .Map <List <PolicyDtoCreated> >(selectedPolicies)));
                }
            }
            return(BadRequest());
        }