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));
        }
Example #2
0
 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));
     }
 }
Example #3
0
        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));
        }