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()); }