예제 #1
0
        public IResult <IQueryable <FacilityReturn> > Execute(FacilityKey facilityKey, bool includeLocations, bool includeShippingLabel)
        {
            facilityKey = facilityKey ?? FacilityKey.Null.ToFacilityKey();
            var filterFacilityKey = !facilityKey.Equals(FacilityKey.Null);
            var selector          = FacilityProjectors.Select(includeLocations, includeShippingLabel);

            var result  = _facilityUnitOfWork.FacilityRepository.Filter(w => (!filterFacilityKey || w.Id == facilityKey.FacilityKey_Id));
            var results = result.OrderBy(w => w.Name).AsExpandable().Select(w => selector.Invoke(w));

            return(new SuccessResult <IQueryable <FacilityReturn> >(results));
        }
예제 #2
0
        public IResult <IInventoryCycleCountReportReturn> GetInventoryCycleCountReport(string facilityKey, string groupName)
        {
            var facilityKeyResult = KeyParserHelper.ParseResult <IFacilityKey>(facilityKey);

            if (!facilityKeyResult.Success)
            {
                return(facilityKeyResult.ConvertTo <IInventoryCycleCountReportReturn>());
            }

            var parsedFacilityKey = facilityKeyResult.ResultingObject.ToFacilityKey();
            var predicate         = parsedFacilityKey.FindByPredicate;
            var select            = FacilityProjectors.SelectInventoryCycleCount(groupName);
            var facility          = _inventoryUnitOfWork.FacilityRepository.Filter(predicate).Select(select).FirstOrDefault();

            if (facility == null)
            {
                return(new InvalidResult <IInventoryCycleCountReportReturn>(null, string.Format(UserMessages.FacilityNotFound, facilityKey)));
            }

            facility.Initialize();

            return(new SuccessResult <IInventoryCycleCountReportReturn>(facility));
        }
예제 #3
0
        public IResult <Dictionary <string, string> > GetFacilityKeys()
        {
            var facilities = _inventoryUnitOfWork.FacilityRepository.SourceQuery.Select(FacilityProjectors.Select(false, false)).ToList();

            return(new SuccessResult <Dictionary <string, string> >(facilities.ToDictionary(f => f.FacilityKey, f => f.FacilityName)));
        }