public IResult <IQueryable <IContactSummaryReturn> > GetContacts(FilterContactsParameters parameters = null) { try { return(_companyServiceProvider.GetContacts(parameters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <IQueryable <IContactSummaryReturn> >(null, ex.Message)); } }
public IResult<IQueryable<IContactSummaryReturn>> GetContacts(FilterContactsParameters parameters) { var parsedResult = parameters.ToParsedParameters(); if(!parsedResult.Success) { return parsedResult.ConvertTo<IQueryable<IContactSummaryReturn>>(); } var predicateResult = ContactPredicateBuilder.BuildPredicate(parsedResult.ResultingObject); if(!predicateResult.Success) { return predicateResult.ConvertTo<IQueryable<IContactSummaryReturn>>(); } var selector = ContactProjectors.SelectSummary(); var query = _companyUnitOfWork.ContactRepository.Filter(predicateResult.ResultingObject).AsExpandable().Select(selector); return new SuccessResult<IQueryable<IContactSummaryReturn>>(query); }
internal static IResult <ContactPredicateBuilder.PredicateBuilderFilters> ToParsedParameters(this FilterContactsParameters parameters) { if (parameters == null) { return(new SuccessResult <ContactPredicateBuilder.PredicateBuilderFilters>(new ContactPredicateBuilder.PredicateBuilderFilters())); } var companyKeyResult = KeyParserHelper.ParseResult <ICompanyKey>(parameters.CompanyKey); if (!companyKeyResult.Success) { return(companyKeyResult.ConvertTo <ContactPredicateBuilder.PredicateBuilderFilters>()); } return(new SuccessResult <ContactPredicateBuilder.PredicateBuilderFilters>(new ContactPredicateBuilder.PredicateBuilderFilters { CompanyKey = companyKeyResult.ResultingObject.ToCompanyKey() })); }