Пример #1
0
            private static BarcodeMask GetBarcodeTypeFromMask(RequestContext context, string barcodeId)
            {
                var serviceRequest  = new GetBarcodeTypeServiceRequest(barcodeId);
                var serviceResponse = context.Execute <GetBarcodeTypeServiceResponse>(serviceRequest);

                return(serviceResponse.BarcodeMask);
            }
Пример #2
0
            private static GetBarcodeTypeServiceResponse GetBarcodeType(GetBarcodeTypeServiceRequest serviceRequest)
            {
                if (string.IsNullOrEmpty(serviceRequest.BarcodeId))
                {
                    throw new ArgumentNullException(serviceRequest.BarcodeId);
                }

                string barcodePrefix = serviceRequest.BarcodeId.Substring(0, 1);

                GetBarcodeMaskDataRequest getBarcodeMaskDataRequest = new GetBarcodeMaskDataRequest(barcodePrefix, QueryResultSettings.AllRecords);
                IEnumerable <BarcodeMask> barcodeMasks = serviceRequest.RequestContext.Runtime.Execute <EntityDataServiceResponse <BarcodeMask> >(getBarcodeMaskDataRequest, serviceRequest.RequestContext).PagedEntityCollection.Results;

                BarcodeMask barcodeMask = null;

                bool found = false;

                foreach (var bcmask in barcodeMasks.Where(mask => !string.IsNullOrEmpty(mask.Prefix) && serviceRequest.BarcodeId.Length >= mask.Prefix.Length))
                {
                    barcodeMask   = bcmask;
                    barcodePrefix = serviceRequest.BarcodeId.Substring(0, bcmask.Prefix.Length);

                    if (bcmask.Prefix == barcodePrefix)
                    {
                        if (serviceRequest.BarcodeId.Length == bcmask.Mask.Length)
                        {
                            found = true;
                            break;
                        }
                    }
                }

                if (found == false)
                {
                    barcodeMask = null;
                }

                return(new GetBarcodeTypeServiceResponse(barcodeMask));
            }