Beispiel #1
0
        public IResult <IQueryable <ITreatmentOrderSummaryReturn> > GetTreatmentOrders()
        {
            var selector = TreatmentOrderProjectors.SelectSummary();
            var query    = _inventoryShipmentOrderUnitOfWork.TreatmentOrderRepository.All().AsExpandable().Select(selector);

            return(new SuccessResult <IQueryable <ITreatmentOrderSummaryReturn> >(query));
        }
Beispiel #2
0
        public IResult <ITreatmentOrderDetailReturn> GetTreatmentOrder(string treatmentOrderKey)
        {
            if (treatmentOrderKey == null)
            {
                throw new ArgumentNullException("treatmentOrderKey");
            }

            var keyResult = KeyParserHelper.ParseResult <ITreatmentOrderKey>(treatmentOrderKey);

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

            var context = ((EFUnitOfWorkBase)_inventoryShipmentOrderUnitOfWork).Context;

            context.Configuration.AutoDetectChangesEnabled = false;

            var predicate      = new TreatmentOrderKey(keyResult.ResultingObject).FindByPredicate;
            var select         = TreatmentOrderProjectors.SplitSelectDetail(_inventoryShipmentOrderUnitOfWork, _timeStamper.CurrentTimeStamp.Date);
            var treatmentOrder = _inventoryShipmentOrderUnitOfWork.TreatmentOrderRepository.Filter(predicate).SplitSelect(select).FirstOrDefault();

            if (treatmentOrder == null)
            {
                return(new FailureResult <ITreatmentOrderDetailReturn>(null, string.Format(UserMessages.TreatmentOrderNotFound, treatmentOrderKey)));
            }

            return(new SuccessResult <ITreatmentOrderDetailReturn>(treatmentOrder));
        }