public IResult <IQueryable <ICompanySummaryReturn> > GetCompanies(FilterCompanyParameters parameters = null) { try { return(_companyServiceProvider.GetCompanies(parameters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <IQueryable <ICompanySummaryReturn> >(null, ex.Message)); } }
public IResult<IQueryable<ICompanySummaryReturn>> GetCompanies(FilterCompanyParameters parameters) { var parsedParameters = parameters.ToParsedParameters(); if(!parsedParameters.Success) { return parsedParameters.ConvertTo<IQueryable<ICompanySummaryReturn>>(); } var predicateResult = CompanyPredicateBuilder.BuildPredicate(parsedParameters.ResultingObject); if(!predicateResult.Success) { return predicateResult.ConvertTo<IQueryable<ICompanySummaryReturn>>(); } var results = _companyUnitOfWork.CompanyRepository .Filter(predicateResult.ResultingObject) .SplitSelect(CompanyProjectors.SplitSelectSummary()); return new SuccessResult<IQueryable<ICompanySummaryReturn>>(results); }
internal static IResult <CompanyPredicateBuilder.PredicateBuilderFilters> ToParsedParameters(this FilterCompanyParameters parameters) { var result = new CompanyPredicateBuilder.PredicateBuilderFilters(); if (parameters != null) { result.CompanyType = parameters.CompanyType; result.IncludeInactive = parameters.IncludeInactive ?? false; if (parameters.BrokerKey != null) { var brokerKeyResult = KeyParserHelper.ParseResult <ICompanyKey>(parameters.BrokerKey); if (!brokerKeyResult.Success) { return(brokerKeyResult.ConvertTo <CompanyPredicateBuilder.PredicateBuilderFilters>()); } result.BrokerKey = brokerKeyResult.ResultingObject.ToCompanyKey(); } } return(new SuccessResult <CompanyPredicateBuilder.PredicateBuilderFilters>(result)); }