Example #1
0
        public ListDiagnosticServicesResponse ListDiagnosticServices(ListDiagnosticServicesRequest request)
        {
            Platform.CheckForNullReference(request, "request");

            DiagnosticServiceSearchCriteria where = new DiagnosticServiceSearchCriteria();
            where.Id.SortAsc(0);
            if (!string.IsNullOrEmpty(request.Id))
            {
                where.Id.StartsWith(request.Id);
            }
            if (!string.IsNullOrEmpty(request.Name))
            {
                where.Name.Like(string.Format("%{0}%", request.Name));
            }
            if (!request.IncludeDeactivated)
            {
                where.Deactivated.EqualTo(false);
            }

            IDiagnosticServiceBroker  broker = PersistenceContext.GetBroker <IDiagnosticServiceBroker>();
            IList <DiagnosticService> items  = broker.Find(where, request.Page);

            DiagnosticServiceAssembler assembler = new DiagnosticServiceAssembler();

            return(new ListDiagnosticServicesResponse(
                       CollectionUtils.Map <DiagnosticService, DiagnosticServiceSummary>(items,
                                                                                         delegate(DiagnosticService item)
            {
                return assembler.CreateSummary(item);
            })
                       ));
        }
		public ListDiagnosticServicesResponse ListDiagnosticServices(ListDiagnosticServicesRequest request)
		{
			Platform.CheckForNullReference(request, "request");

			DiagnosticServiceSearchCriteria where = new DiagnosticServiceSearchCriteria();
			where.Id.SortAsc(0);
			if (!string.IsNullOrEmpty(request.Id))
				where.Id.StartsWith(request.Id);
			if (!string.IsNullOrEmpty(request.Name))
				where.Name.Like(string.Format("%{0}%", request.Name));
			if(!request.IncludeDeactivated)
				where.Deactivated.EqualTo(false);

			IDiagnosticServiceBroker broker = PersistenceContext.GetBroker<IDiagnosticServiceBroker>();
			IList<DiagnosticService> items = broker.Find(where, request.Page);

			DiagnosticServiceAssembler assembler = new DiagnosticServiceAssembler();
			return new ListDiagnosticServicesResponse(
				CollectionUtils.Map<DiagnosticService, DiagnosticServiceSummary>(items,
					delegate(DiagnosticService item)
					{
						return assembler.CreateSummary(item);
					})
				);
		}
Example #3
0
        public TextQueryResponse <DiagnosticServiceSummary> TextQuery(TextQueryRequest request)
        {
            IDiagnosticServiceBroker   broker    = PersistenceContext.GetBroker <IDiagnosticServiceBroker>();
            DiagnosticServiceAssembler assembler = new DiagnosticServiceAssembler();

            TextQueryHelper <DiagnosticService, DiagnosticServiceSearchCriteria, DiagnosticServiceSummary> helper
                = new TextQueryHelper <DiagnosticService, DiagnosticServiceSearchCriteria, DiagnosticServiceSummary>(
                      delegate
            {
                string rawQuery = request.TextQuery;

                IList <string> terms = TextQueryHelper.ParseTerms(rawQuery);
                List <DiagnosticServiceSearchCriteria> criteria = new List <DiagnosticServiceSearchCriteria>();

                // allow matching on name (assume entire query is a name which may contain spaces)
                DiagnosticServiceSearchCriteria nameCriteria = new DiagnosticServiceSearchCriteria();
                nameCriteria.Name.StartsWith(rawQuery);
                criteria.Add(nameCriteria);

                // allow matching of any term against ID
                criteria.AddRange(CollectionUtils.Map <string, DiagnosticServiceSearchCriteria>(terms,
                                                                                                delegate(string term)
                {
                    DiagnosticServiceSearchCriteria c = new DiagnosticServiceSearchCriteria();
                    c.Id.StartsWith(term);
                    return(c);
                }));

                return(criteria.ToArray());
            },
                      delegate(DiagnosticService ds)
            {
                return(assembler.CreateSummary(ds));
            },
                      delegate(DiagnosticServiceSearchCriteria[] criteria, int threshold)
            {
                return(broker.Count(criteria) <= threshold);
            },
                      delegate(DiagnosticServiceSearchCriteria[] criteria, SearchResultPage page)
            {
                return(broker.Find(criteria, page));
            });

            return(helper.Query(request));
        }
		public TextQueryResponse<DiagnosticServiceSummary> TextQuery(TextQueryRequest request)
		{
			IDiagnosticServiceBroker broker = PersistenceContext.GetBroker<IDiagnosticServiceBroker>();
			DiagnosticServiceAssembler assembler = new DiagnosticServiceAssembler();

			TextQueryHelper<DiagnosticService, DiagnosticServiceSearchCriteria, DiagnosticServiceSummary> helper
				= new TextQueryHelper<DiagnosticService, DiagnosticServiceSearchCriteria, DiagnosticServiceSummary>(
                    delegate
					{
                        string rawQuery = request.TextQuery;

						IList<string> terms = TextQueryHelper.ParseTerms(rawQuery);
						List<DiagnosticServiceSearchCriteria> criteria = new List<DiagnosticServiceSearchCriteria>();

						// allow matching on name (assume entire query is a name which may contain spaces)
						DiagnosticServiceSearchCriteria nameCriteria = new DiagnosticServiceSearchCriteria();
						nameCriteria.Name.StartsWith(rawQuery);
						criteria.Add(nameCriteria);

						// allow matching of any term against ID
						criteria.AddRange(CollectionUtils.Map<string, DiagnosticServiceSearchCriteria>(terms,
									 delegate(string term)
									 {
										 DiagnosticServiceSearchCriteria c = new DiagnosticServiceSearchCriteria();
										 c.Id.StartsWith(term);
										 return c;
									 }));

						return criteria.ToArray();
					},
					delegate(DiagnosticService ds)
					{
						return assembler.CreateSummary(ds);
					},
					delegate(DiagnosticServiceSearchCriteria[] criteria, int threshold)
					{
						return broker.Count(criteria) <= threshold;
					},
					delegate(DiagnosticServiceSearchCriteria[] criteria, SearchResultPage page)
					{
						return broker.Find(criteria, page);
					});
			return helper.Query(request);
		}
Example #5
0
        protected static DiagnosticService FindDiagnosticService(string serviceNumber, IPersistenceContext context)
        {
            var searchCriteria = new DiagnosticServiceSearchCriteria();

            searchCriteria.Id.EqualTo(serviceNumber);
            searchCriteria.Deactivated.EqualTo(false);
            DiagnosticService diagnosticService;

            try
            {
                diagnosticService = context.GetBroker <IDiagnosticServiceBroker>().FindOne(searchCriteria);
            }
            catch (EntityNotFoundException)
            {
                throw new Exception(serviceNumber);
            }

            return(diagnosticService);
        }
Example #6
0
        private static DiagnosticService GetDiagnosticService(string id, string name, IPersistenceContext context)
        {
            DiagnosticService ds;

            try
            {
                // see if already exists in db
                var where = new DiagnosticServiceSearchCriteria();
                where.Id.EqualTo(id);
                ds = context.GetBroker <IDiagnosticServiceBroker>().FindOne(where);
            }
            catch (EntityNotFoundException)
            {
                // create it
                ds = new DiagnosticService(id, name);
                context.Lock(ds, DirtyState.New);
            }

            return(ds);
        }
Example #7
0
 protected override IList <DiagnosticService> GetItemsForExport(IReadContext context, int firstRow, int maxRows)
 {
     var where = new DiagnosticServiceSearchCriteria();
     where.Id.SortAsc(0);
     return(context.GetBroker <IDiagnosticServiceBroker>().Find(where, new SearchResultPage(firstRow, maxRows)));
 }