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); }) ); }
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); }
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); }
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); }
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))); }