Exemple #1
0
        public IResult <ISampleOrderMatchingSummaryReportReturn> GetSampleOrderMatchingSummaryReport(string sampleOrderKey, string itemKey)
        {
            var keyResult = KeyParserHelper.ParseResult <ISampleOrderKey>(sampleOrderKey);

            if (!keyResult.Success)
            {
                return(keyResult.ConvertTo <ISampleOrderMatchingSummaryReportReturn>());
            }

            SampleOrderItemKey orderItemKey = null;

            if (!string.IsNullOrWhiteSpace(itemKey))
            {
                var itemKeyResult = KeyParserHelper.ParseResult <ISampleOrderItemKey>(itemKey);
                if (!itemKeyResult.Success)
                {
                    return(itemKeyResult.ConvertTo <ISampleOrderMatchingSummaryReportReturn>());
                }
                orderItemKey = itemKeyResult.ResultingObject.ToSampleOrderItemKey();
            }

            var result = _sampleOrderUnitOfWork.SampleOrderRepository
                         .Filter(keyResult.ResultingObject.ToSampleOrderKey().FindByPredicate)
                         .Select(SampleOrderProjectors.SelectMatchingSummaryReport(orderItemKey))
                         .FirstOrDefault();

            return(new SuccessResult <ISampleOrderMatchingSummaryReportReturn>(result));
        }
Exemple #2
0
        public IResult <ISampleOrderRequestReportReturn> GetSampleOrderRequestReport(string sampleOrderKey)
        {
            var keyResult = KeyParserHelper.ParseResult <ISampleOrderKey>(sampleOrderKey);

            if (!keyResult.Success)
            {
                return(keyResult.ConvertTo <ISampleOrderRequestReportReturn>());
            }

            var result = _sampleOrderUnitOfWork.SampleOrderRepository
                         .Filter(keyResult.ResultingObject.ToSampleOrderKey().FindByPredicate)
                         .Select(SampleOrderProjectors.SelectSampleOrderRequestReport())
                         .FirstOrDefault();

            return(new SuccessResult <ISampleOrderRequestReportReturn>(result));
        }
Exemple #3
0
        public IResult <IQueryable <ISampleOrderSummaryReturn> > GetSampleOrders(FilterSampleOrdersParameters parameters)
        {
            var parsedFilterParameters = parameters.ParseToPredicateBuilderFilters();

            if (!parsedFilterParameters.Success)
            {
                return(parsedFilterParameters.ConvertTo <IQueryable <ISampleOrderSummaryReturn> >());
            }

            var predicateResult = SampleOrderPredicateBuilder.BuildPredicate(parsedFilterParameters.ResultingObject);

            if (!predicateResult.Success)
            {
                return(predicateResult.ConvertTo <IQueryable <ISampleOrderSummaryReturn> >());
            }
            var predicate = predicateResult.ResultingObject;

            var select = SampleOrderProjectors.SelectSummary();
            var query  = _sampleOrderUnitOfWork.SampleOrderRepository.All().AsExpandable().Where(predicate).Select(select);

            return(new SuccessResult <IQueryable <ISampleOrderSummaryReturn> >(query));
        }
Exemple #4
0
        public IResult <ISampleOrderDetailReturn> GetSampleOrder(string sampleOrderKey)
        {
            var keyResult = KeyParserHelper.ParseResult <ISampleOrderKey>(sampleOrderKey);

            if (!keyResult.Success)
            {
                return(keyResult.ConvertTo <ISampleOrderDetailReturn>());
            }

            var key       = keyResult.ResultingObject.ToSampleOrderKey();
            var predicate = SampleOrderPredicates.ByKey(key);
            var select    = SampleOrderProjectors.SelectDetail();

            var result = _sampleOrderUnitOfWork.SampleOrderRepository.Filter(predicate).SplitSelect(select).FirstOrDefault();

            if (result == null)
            {
                return(new InvalidResult <ISampleOrderDetailReturn>(null, string.Format(UserMessages.SampleOrderNotFound, key)));
            }

            return(new SuccessResult <ISampleOrderDetailReturn>(result));
        }