internal static IResult <ChileMaterialsReceivedPredicateBuilder.Parameters> ToParsedParameters(this ChileMaterialsReceivedFilters filters) { var parameters = new ChileMaterialsReceivedPredicateBuilder.Parameters(); if (filters != null) { parameters.ChileMaterialsType = filters.ChileMaterialsType; if (!string.IsNullOrWhiteSpace(filters.SupplierKey)) { var supplierKeyResult = KeyParserHelper.ParseResult <ICompanyKey>(filters.SupplierKey); if (!supplierKeyResult.Success) { return(supplierKeyResult.ConvertTo <ChileMaterialsReceivedPredicateBuilder.Parameters>()); } parameters.SupplierKey = supplierKeyResult.ResultingObject.ToCompanyKey(); } if (!string.IsNullOrWhiteSpace(filters.ChileProductKey)) { var chileProductKeyResult = KeyParserHelper.ParseResult <IChileProductKey>(filters.ChileProductKey); if (!chileProductKeyResult.Success) { return(chileProductKeyResult.ConvertTo <ChileMaterialsReceivedPredicateBuilder.Parameters>()); } parameters.ChileProductKey = chileProductKeyResult.ResultingObject.ToChileProductKey(); } } return(new SuccessResult <ChileMaterialsReceivedPredicateBuilder.Parameters>(parameters)); }
public IResult <IQueryable <IChileMaterialsReceivedSummaryReturn> > GetChileMaterialsReceivedSummaries(ChileMaterialsReceivedFilters filters = null) { try { return(_materialsServiceProvider.GetChileMaterialsReceivedSummaries(filters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <IQueryable <IChileMaterialsReceivedSummaryReturn> >(null, ex.Message)); } }
public IResult <IQueryable <IChileMaterialsReceivedSummaryReturn> > GetChileMaterialsReceivedSummaries(ChileMaterialsReceivedFilters filters) { var filterParametersResult = filters.ToParsedParameters(); if (!filterParametersResult.Success) { return(filterParametersResult.ConvertTo <IQueryable <IChileMaterialsReceivedSummaryReturn> >()); } var predicateResult = ChileMaterialsReceivedPredicateBuilder.BuildPredicate(filterParametersResult.ResultingObject); if (!predicateResult.Success) { return(predicateResult.ConvertTo <IQueryable <IChileMaterialsReceivedSummaryReturn> >()); } var results = _materialsReceivedUnitOfWork.ChileMaterialsReceivedRepository .Filter(predicateResult.ResultingObject) .Select(ChileMaterialsReceivedProjectors.SelectSummary()); return(new SuccessResult <IQueryable <IChileMaterialsReceivedSummaryReturn> >(results)); }