public IEnumerable <DocumentDTO> Find(SearchRequestDTO searchRequest) { var query = searchRequest.SearchQuery.ToLower(); var dates = ExtractDatePatterns(ref query); searchRequest.SearchQuery = query; // Поиск по ключевым словам var documents = SearchByKeywords(searchRequest); // Поиск по датам if (dates.Length > 0) { if (documents.Any()) { documents = documents.Intersect(SearchByDatePatterns(dates)); } else { documents = SearchByDatePatterns(dates); } } var result = _mapper.Map <List <DocumentDTO> >(documents); return(result); }
public async Task TestAlgorithms() { SearchRequestDTO searchRequestDTO = new SearchRequestDTO() { UserName = "******", AlgorithmKey = "Boyer-Moore", Matrix = new List <string>() { "sagjodmasod", "aojsdtest2odjajd", "aojsajodjosatest1djosadjosoajd", "jastest2jdojosdjod", "jasdojasjdodod" }, WordStream = new List <string>() { "test1", "test2" } }; var result = await _searchRequestHandlerMock.Object.Handle(searchRequestDTO, _cancellation); var expectedResult = new ResponseDTO() { Status = (int)eStatus.Success, Message = null, Value = new List <string>() { "test2", "test1" } }; Assert.AreEqual(expectedResult.Status, result.Status); Assert.AreEqual(expectedResult.Message, result.Message); CollectionAssert.AreEqual((List <string>)expectedResult.Value, (List <string>)result.Value); }
public SearchResponseDTO GetLazy(SearchRequestDTO request) { var response = new SearchResponseDTO { TotalCount = _productStorage.Count() }; switch (request.SortBy) { case SortByColumn.NameASC: case SortByColumn.NameDESC: response.Products = SortedProducts(request, x => x.Name); break; case SortByColumn.PriceASC: case SortByColumn.PriceDESC: response.Products = SortedProducts(request, x => x.Price); break; case SortByColumn.QuantityASC: case SortByColumn.QuantityDESC: response.Products = SortedProducts(request, x => x.Quantity); break; } return(response); }
public async Task <SearchResultDTO> Search(SearchRequestDTO request) { using (var searchClient = CreateAzureSearchClient()) { using (var indexClient = searchClient.Indexes.GetClient(GetPlanTemplateIndexName())) { var sp = new SearchParameters(); sp.OrderBy = new List <string>() { "name" }; sp.IncludeTotalResultCount = true; if (request.PageStart > 0 && request.PageSize > 0) { sp.Skip = (request.PageStart - 1) * request.PageSize; sp.Top = request.PageSize; } var text = string.IsNullOrEmpty(request.Text) ? "*" : request.Text; var searchResult = await indexClient.Documents.SearchAsync(text, sp); var resultingDocuments = searchResult.Results.Select(x => ConvertSearchDocumentToDTO(x.Document)).ToList(); var dto = new SearchResultDTO() { PlanTemplates = resultingDocuments, TotalCount = searchResult.Count.GetValueOrDefault() }; return(dto); } } }
private IEnumerable <ProductOutcomeDTO> SortedProducts(SearchRequestDTO request, Func <ProductEntity, object> sort) { return(_mapper.Map <IEnumerable <ProductOutcomeDTO> >( _productStorage.Sort(request.SortBy, sort) .Skip(request.Page * request.PerPage) .Take(request.PerPage))); }
public IEnumerable <Somast> Search(SearchRequestDTO search) { IEnumerable <Somast> result = null; return(result); }
public async Task <ActionResult> Search(SearchRequestDTO request) { var result = new AllRobotsViewModel { Robots = await new HttpRequestHelper().Post <List <RobotInfoDTO>, SearchRequestDTO>($@"api/SearchRobots", request) }; return(View("Robots", result)); }
public IActionResult Find(SearchModel searchModel) { var searchRequest = new SearchRequestDTO { SearchQuery = searchModel.SearchQuery, IsDocumentNumber = searchModel.IsDocumentNumber, IsYear = searchModel.IsYear, IsContractNumber = searchModel.IsContractNumber, IsClientName = searchModel.IsClientName, IsExploitationPlace = searchModel.IsExploitationPlace, IsVerificationMethodic = searchModel.IsVerificationMethodic, IsRegisterNumber = searchModel.IsRegisterNumber, IsDeviceType = searchModel.IsDeviceType, IsDeviceName = searchModel.IsDeviceName, IsSerialNumber = searchModel.IsSerialNumber, IsDocumentType = searchModel.IsDocumentType }; var searchResult = _search.Find(searchRequest); var documents = searchResult.Select(d => new DocumentListingModel { Id = d.Id, Year = d.Contract.Year, ContractId = d.Contract.Id, ContractNumber = d.Contract.ContractNumber, ClientId = d.Client.Id, ClientName = d.Client.Name, ExploitationPlace = d.Client.ExploitationPlace, DeviceId = d.Device.Id, DeviceType = d.Device.Type, DeviceName = d.Device.Name, SerialNumber = d.Device.SerialNumber, RegistrationNumber = d.Device.RegistrationNumber, VerificationMethodic = d.Device.VerificationMethodic?.Name, DocumentNumber = d.DocumentNumber, CalibrationDate = (d as CertificateDTO)?.CalibrationDate.ToString("dd-MM-yyyy"), CalibrationExpireDate = (d as CertificateDTO)?.CalibrationExpireDate.ToString("dd-MM-yyyy"), FilePath = d.DocumentFile.Path, DocumentType = (d is CertificateDTO) ? "Свидетельство" : "Извещение о непригодности", DocumentDate = (d as FailureNotificationDTO)?.DocumentDate.ToString("dd-MM-yyyy"), CreatedOn = d.CreatedOn.ToString("dd-MM-yyyy hh:mm"), UpdatedOn = d.UpdatedOn?.ToString("dd-MM-yyyy hh:mm") ?? d.CreatedOn.ToString("dd-MM-yyyy hh:mm"), CreatedBy = d.CreatedBy, UpdatedBy = d.UpdatedBy ?? d.CreatedBy }); var model = new SearchResultModel { SearchModel = searchModel, SearchResults = documents }; return(View("Index", model)); }
public async Task <IHttpActionResult> GeneratePages() { var searchRequest = new SearchRequestDTO() { Text = string.Empty, PageStart = 0, PageSize = 0 }; var searchResult = await _searchProvider.Search(searchRequest); var fr8AccountId = User.Identity.GetUserId(); var watch = System.Diagnostics.Stopwatch.StartNew(); int found_templates = 0; int missed_templates = 0; foreach (var searchItemDto in searchResult.PlanTemplates) { var planTemplateDto = await _planTemplate.GetPlanTemplateDTO(fr8AccountId, searchItemDto.ParentPlanId); if (planTemplateDto == null) { // if plan doesn't exist in MT let's remove it from index await _searchProvider.Remove(searchItemDto.ParentPlanId); missed_templates++; continue; } found_templates++; var planTemplateCm = await _planTemplate.CreateOrUpdate(fr8AccountId, planTemplateDto); //if ownerId will be the last admin id who pushed the button. it therefore possible bugs planTemplateCm.OwnerName = searchItemDto.Owner; await _searchProvider.CreateOrUpdate(planTemplateCm); await _planTemplateDetailsGenerator.Generate(planTemplateDto); await _webservicesPageGenerator.Generate(planTemplateCm, fr8AccountId); } watch.Stop(); var elapsed = watch.Elapsed; var message = $"Page generator: templates found: {found_templates}, templates missed: {missed_templates}"; var message2 = $"Page Generator elapsed time: {elapsed.Minutes} minutes, {elapsed.Seconds} seconds"; Logger.Warn(message); Logger.Warn(message2); return(Ok(message + "\n\r" + message2)); }
public async Task <IHttpActionResult> Search( string text, int?pageStart = null, int?pageSize = null) { var searchRequest = new SearchRequestDTO() { Text = text, PageStart = pageStart.GetValueOrDefault(), PageSize = pageSize.GetValueOrDefault() }; var searchResult = await _searchProvider.Search(searchRequest); return(Ok(searchResult)); }
public ActionResult <IEnumerable <String> > Search([FromBody] SearchRequestDTO searchRequestDTO) { if (searchRequestDTO == null) { return(BadRequest("Criteria is empty. Nothing to fetch")); } var result = _searchService.Search(searchRequestDTO); if (result != null) { return(StatusCode(200, result)); } return(NoContent()); }
public List <EventCustomer> Search(SearchRequestDTO input, int from, int size) { List <QueryContainer> container = new QueryDirector().CreateQuery(input); ISearchRequest request = new SearchRequest <EventCustomer>() { Query = new BoolQuery() { Must = container }, From = from, Size = size }; var result = client.Value.Search <EventCustomer>(request).Documents.ToList(); return(result); }
public void Search() { //Arrange //The two lines of code below can be replaced by your code which provides html content IManagedDriver driver = DriverPool.Instance.ActiveDriver.LaunchPage("https://www.google.com"); string html = driver.Html; //Act RestClient client = new RestClient($"http://localhost:4476"); RestRequest request = new RestRequest("/search", Method.POST); SearchRequestDTO requestDTO = new SearchRequestDTO { SearchText = "`Search` <input>", HtmlContent = html }; request.AddJsonBody(requestDTO); IRestResponse restResponse = client.Execute(request); string content = restResponse.Content; ResponseDTO responseDTO = JsonConvert.DeserializeObject <ResponseDTO>(content); }
public List <MealsDTO> GetSearchedMeals(SearchRequestDTO request) { List <MealsDTO> MealsList = new List <MealsDTO>(); if (request != null) { var meals = _db.Meals.ToList(); foreach (var item in meals) { if (item.MealName.Contains(request.SearchKeyWord)) { MealsList.Add(new MealsDTO() { MealName = item.MealName, MealId = item.Id, MealUrl = item.MealImageUrl, MealDescription = item.MealDescription } ); } } } return(MealsList); }
public List <MealsDTO> GetSearchedMealsByFirstLetter(SearchRequestDTO request) { List <MealsDTO> MealsListByFirstLetter = new List <MealsDTO>(); if (request != null) { var meals = _db.Meals.ToList(); foreach (var item in meals) { if (item.MealName.StartsWith(request.SearchKeyWord.ToUpper()) || item.MealName.StartsWith(request.SearchKeyWord.ToLower())) { MealsListByFirstLetter.Add(new MealsDTO() { MealName = item.MealName, MealId = item.Id, MealUrl = item.MealImageUrl, MealDescription = item.MealDescription } ); } } } return(MealsListByFirstLetter); }
private IEnumerable <Document> SearchByKeywords(SearchRequestDTO request) { var keyWords = request.SearchQuery.Split(' '); var result = new List <Document>(); foreach (var word in keyWords) { if (request.IsDocumentNumber) { result.AddRange(SearchInDocumentNumber(word)); } if (request.IsYear) { result.AddRange(SearchInYear(word)); } if (request.IsContractNumber) { result.AddRange(SearchInContractNumber(word)); } if (request.IsClientName) { result.AddRange(SearchInClientName(word)); } if (request.IsExploitationPlace) { result.AddRange(SearchInExploitationPlace(word)); } if (request.IsVerificationMethodic) { result.AddRange(SearchInVerificationMethodic(word)); } if (request.IsRegisterNumber) { result.AddRange(SearchInRegisterNumber(word)); } if (request.IsDeviceType) { result.AddRange(SearchInDeviceType(word)); } if (request.IsDeviceName) { result.AddRange(SearchInDeviceName(word)); } if (request.IsSerialNumber) { result.AddRange(SearchInSerialNumber(word)); } result.AddRange(SearchInDocumentType(word)); } var filtredResult = result.Where(d => keyWords.All(word => { if (request.IsDocumentNumber) { if (d.DocumentNumber?.ToLower().Contains(word) ?? false) { return(true); } } if (request.IsYear) { if (d.Contract.Year.ToString().ToLower().Contains(word)) { return(true); } } if (request.IsContractNumber) { if (d.Contract.ContractNumber.ToLower().Contains(word)) { return(true); } } if (request.IsClientName) { if (d.Client.Name.ToLower().Contains(word)) { return(true); } } if (request.IsExploitationPlace) { if (d.Client.ExploitationPlace?.ToLower().Contains(word) ?? false) { return(true); } } if (request.IsDeviceType) { if (d.Device.Type.ToLower().Contains(word)) { return(true); } } if (request.IsDeviceName) { if (d.Device.Name.ToLower().Contains(word)) { return(true); } } if (request.IsSerialNumber) { if (d.Device.SerialNumber.ToLower().Contains(word)) { return(true); } } if (request.IsVerificationMethodic) { if (d.Device.VerificationMethodic?.Name?.ToLower().Contains(word) ?? false) { return(true); } } if (request.IsRegisterNumber) { if (d.Device.RegistrationNumber?.ToLower().Contains(word) ?? false) { return(true); } } if ("свидетельство о поверке".Contains(word)) { if (d is Certificate) { return(true); } } if ("извещение о непригодности".Contains(word)) { if (d is FailureNotification) { return(true); } } return(false); })); return(filtredResult); }
public IActionResult GetLazy([FromBody] SearchRequestDTO request) { return Ok(_productService.GetLazy(request)); }
public async Task <ResponseDTO> Search([FromBody] SearchRequestDTO request) { return(await _mediator.Send(request)); }
public IActionResult SearchByFirstLetter(SearchRequestDTO data) { return(Ok(repository.GetSearchedMealsByFirstLetter(data))); }
public IActionResult Search(SearchRequestDTO data) { return(Ok(repository.GetSearchedMeals(data))); }