Exemple #1
0
        public async Task <IViewComponentResult> InvokeAsync(Models.Query query)
        {
            if (query == null)
            {
                query = new Models.Query();
            }
            //Models.Query query = new Models.Query();
            if (string.IsNullOrEmpty(query.QueryTerm) && !string.IsNullOrEmpty(Request.Query["term"]))
            {
                query.QueryTerm = Request.Query["term"];
            }
            if (string.IsNullOrEmpty(query.ChosenOptions) && !string.IsNullOrEmpty(Request.Query["options"]))
            {
                query.ChosenOptions = Request.Query["options"];
            }
            if (string.IsNullOrEmpty(query.ChosenAggregations) && !string.IsNullOrEmpty(Request.Query["aggregations"]))
            {
                query.ChosenAggregations = Request.Query["aggregations"];
            }
            if (query.MinScore == 0 && !string.IsNullOrEmpty(Request.Query["minScore"]))
            {
                query.MinScore = double.Parse(Request.Query["minScore"]);
            }
            if (query.QueryOptions.Count() == 0)
            {
                var qc = new QueryController(_logger, _memoryCache);
                query.QueryOptions = await qc.GetQueryOptions(query.ChosenOptions);
            }

            return(View(query));
        }
Exemple #2
0
        public async Task <IViewComponentResult> InvokeAsync(Models.Query query)
        {
            if (query == null)
            {
                query = new Models.Query();
            }
            //Models.Query query = new Models.Query();
            if (string.IsNullOrEmpty(query.QueryTerm) && !string.IsNullOrEmpty(Request.Query["term"]))
            {
                query.QueryTerm = Request.Query["term"];
            }
            if (string.IsNullOrEmpty(query.ChosenOptions))
            {
                if (!string.IsNullOrEmpty(Request.Query["options"]))
                {
                    query.ChosenOptions = Request.Query["options"].ToString();
                }
                else
                {
                    query.ChosenOptions = ""; //this is required to remove previous chosen options which are not used anymore
                }
            }
            if (string.IsNullOrEmpty(query.ChosenAggregations) && !string.IsNullOrEmpty(Request.Query["aggregations"]))
            {
                query.ChosenAggregations = Request.Query["aggregations"];
            }
            if (query.QueryOptions.Count() == 0)
            {
                var qc = new Controllers.QueryController(_logger, _memoryCache);
                query.QueryOptions = await qc.GetQueryOptions(query.ChosenOptions);
            }

            return(View(query));
        }
        public ActionResult Search(WebOrderRequestSearchViewModel webOrderRequestSearchViewModel)
        {
            GRINGlobalService grinGlobalService = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            Models.Query query = new Models.Query();

            try
            {
                //if (webOrderRequestSearchViewModel.SelectedStatusCode != "ANY")
                //{
                //    QueryCriterion queryCriterion = new QueryCriterion { FieldName = "wor.status_code", FieldValue = webOrderRequestSearchViewModel.SelectedStatusCode, SearchOperatorCode = "=", DataType = "NVARCHAR" };
                //    query.QueryCriteria.Add(queryCriterion);
                //}

                //if (webOrderRequestSearchViewModel.SelectedTimeFrameCode > 0)
                //{
                //    QueryCriterion queryCriterion = new QueryCriterion { FieldName = "time_frame_code", FieldValue = webOrderRequestSearchViewModel.SelectedTimeFrameCode.ToString(), SearchOperatorCode = "=", DataType = "INT" };
                //    query.QueryCriteria.Add(queryCriterion);
                //}

                if (!String.IsNullOrEmpty(webOrderRequestSearchViewModel.RequestorEmailAddress))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.email", FieldValue = webOrderRequestSearchViewModel.RequestorEmailAddress.ToString(), SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(webOrderRequestSearchViewModel.RequestorFirstName))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.first_name", FieldValue = webOrderRequestSearchViewModel.RequestorFirstName.ToString(), SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(webOrderRequestSearchViewModel.RequestorLastName))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.last_name", FieldValue = webOrderRequestSearchViewModel.RequestorLastName, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }


                // Re-initialize main index view model, adding search results.
                webOrderRequestSearchViewModel.WebOrderRequests = grinGlobalService.SearchWebOrderRequests(query);
                webOrderRequestSearchViewModel.Statuses         = grinGlobalService.GetWebOrderRequestStatuses();
                webOrderRequestSearchViewModel.IntendedUseCodes = new SelectList(grinGlobalService.GetWebOrderRequestIntendedUseCodes(), "Name", "Description");
                return(View("~/Views/GRINGlobal/WebOrder/Index.cshtml", webOrderRequestSearchViewModel));
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + ex.StackTrace);
                return(View("~/Views/Error/_Error.cshtml"));
            }
        }
        public PartialViewResult _Search(string statusCode, int timeFrameCode, string requestorEmail, string requestorFirstName, string requestorLastName, string intendedUseCode, string selectedDateRange)
        {
            WebOrderRequestListViewModel webOrderRequestListViewModel = new WebOrderRequestListViewModel();
            GRINGlobalService            grinGlobalService            = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            Models.Query query = new Models.Query();

            try
            {
                if (!String.IsNullOrEmpty(requestorEmail))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.email", FieldValue = requestorEmail, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(requestorFirstName))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.first_name", FieldValue = requestorFirstName, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(requestorLastName))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.last_name", FieldValue = requestorLastName, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(intendedUseCode))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wor.intended_use_code", FieldValue = intendedUseCode, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                webOrderRequestListViewModel.WebOrderRequests = grinGlobalService.SearchWebOrderRequests(query);

                return(PartialView("~/Views/GRINGlobal/WebOrder/_List.cshtml", webOrderRequestListViewModel));
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + ex.StackTrace);
                return(PartialView("~/Views/Error/_Error.cshtml"));
            }
        }
Exemple #5
0
 public Query ConvertToRepositoryModel(Models.Query data)
 {
     return(new Query
     {
         Id = data.Id,
         PaperId = data.PaperId,
         CategoryId = data.CategoryId,
         Question = data.Question,
         Answer = data.Answer,
         Option1 = data.Option1,
         Option2 = data.Option2,
         Option3 = data.Option3
     });
 }
        private async void GenerateSequenceExecute(object obj)
        {
            LoaderManager.Instance.ShowLoader();
            await Task.Run(() =>
            {
                int from = 0;
                int to   = 0;
                if (Int32.TryParse(_fromNumber, out from) && Int32.TryParse(_toNumber, out to))
                {
                    if (from > to)
                    {
                        MessageBox.Show("From (number) should be less than To (number)");
                    }
                    else
                    {
                        _result = string.Empty;
                        int randomNumber;
                        int totalQuantity         = to - from + 1;
                        _randomSequenceCollection = new ObservableCollection <int>();
                        Random random             = new Random();
                        while (totalQuantity > 0)
                        {
                            randomNumber = random.Next(from, to + 1);
                            if (!_randomSequenceCollection.Contains(randomNumber))
                            {
                                _randomSequenceCollection.Add(randomNumber);
                                totalQuantity--;
                            }
                        }
                        foreach (int i in _randomSequenceCollection)
                        {
                            _result += " " + i + "\n";
                        }
                        OnPropertyChanged("Result");
                        Query currentQuery = new Models.Query(from, to, StationManager.CurrentUser);
                        DBManager.AddQuery(currentQuery);
                    }
                }
                else
                {
                    MessageBox.Show("Please enter correct numbers");
                }
            });

            LoaderManager.Instance.HideLoader();
        }
 public IList <Models.Record> Search(Models.Query query, int pages)
 {
     return(new List <Record>()
     {
         new Record()
         {
             FirstName = "Shane",
             LastName = "Burke",
             Events = new List <Event>()
             {
                 new Event()
                 {
                     Name = "Birth", Date = "26/07/1988"
                 }
             },
             Source = new Source()
             {
                 Name = "Google", Link = "http://www.google.com"
             }
         },
         new Record()
         {
             FirstName = "Shane",
             LastName = "Burke",
             Events = new List <Event>()
             {
                 new Event()
                 {
                     Name = "Birth", Date = "26 Jul 1988"
                 }
             },
             Source = new Source()
             {
                 Name = "Ancestry", Link = "http://www.ancestry.com"
             }
         },
     });
 }
Exemple #8
0
        public ActionResult Search(FormCollection formCollection)
        {
            GRINGlobalService            grinGlobalService            = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            WebOrderRequestListViewModel webOrderRequestListViewModel = new WebOrderRequestListViewModel();

            Models.Query query = new Models.Query();

            try
            {
                if (!String.IsNullOrEmpty(formCollection["ID"].Trim()))
                {
                    if (Int32.Parse(formCollection["ID"]) > 0)
                    {
                        query.QueryCriteria.Add(new QueryCriterion {
                            FieldName = "web_order_request_id", SearchOperatorCode = "=", FieldValue = formCollection["ID"], DataType = "INT"
                        });
                    }
                }

                if (!String.IsNullOrEmpty(formCollection["RequestorEmailAddress"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "web_cooperator_email", SearchOperatorCode = "LIKE", FieldValue = formCollection["RequestorEmailAddress"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["RequestorFirstName"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "web_cooperator_first_name", SearchOperatorCode = "LIKE", FieldValue = formCollection["RequestorFirstName"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["RequestorLastName"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "web_cooperator_last_name", SearchOperatorCode = "LIKE", FieldValue = formCollection["RequestorLastName"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["RequestorOrganization"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "web_cooperator_organization", SearchOperatorCode = "LIKE", FieldValue = formCollection["RequestorOrganization"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["IntendedUseCode"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "intended_use_code", SearchOperatorCode = "=", FieldValue = formCollection["IntendedUseCode"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["SelectedStatusCode"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "status_code", SearchOperatorCode = "=", FieldValue = formCollection["SelectedStatusCode"], DataType = "NVARCHAR"
                    });
                }

                if ((!String.IsNullOrEmpty(formCollection["SelectedStartDate"])) && (formCollection["SelectedStartDate"].Trim().Length > 0))
                {
                    var DEBUG = formCollection["SelectedStartDate"].Trim().Length;

                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "ordered_date", SearchOperatorCode = ">=", FieldValue = formCollection["SelectedStartDate"], DataType = "DATETIME"
                    });
                }

                if ((!String.IsNullOrEmpty(formCollection["SelectedEndDate"])) && (formCollection["SelectedEndDate"].Trim().Length > 0))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "ordered_date", SearchOperatorCode = "<=", FieldValue = formCollection["SelectedEndDate"], DataType = "DATETIME"
                    });
                }

                webOrderRequestListViewModel.WebOrderRequests = grinGlobalService.SearchWebOrderRequests(query);
                return(PartialView(BASE_PATH + "/_SearchResults.cshtml", webOrderRequestListViewModel));
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                return(RedirectToAction("InternalServerError", "Error"));
            }
        }
Exemple #9
0
        public async Task <ActionResult> Details(string _index, string _type, string _id)
        {
            var qc     = new Controllers.QueryController(_logger, _memoryCache);
            var result = await qc.GetDocument(_index, _type, _id);

            Models.SearchResult searchResult = new Models.SearchResult()
            {
                Id      = result.Id,
                CanRead = true,
                Index   = result.Index,
                Type    = result.Type,
                Summary = result.Source.ToString(),
                Source  = result.Source.ToString()
            };
            try
            {
                searchResult.Path          = ((string)result.Source["Path"]);
                searchResult.ThumbnailPath = ((string)result.Source["ThumbnailPath"]);
            }
            catch (Exception)
            {
            }
            if (!string.IsNullOrEmpty(searchResult.Path))//(searchResult.Type == "directory" || searchResult.Type == "file" || searchResult.Type == "photo")
            {
                searchResult.CanRead = Helpers.QueryHelper.UserHasAccess(User.Identity.Name, searchResult.Path.Substring(0, searchResult.Path.LastIndexOf('/')), _memoryCache);
                if (searchResult.CanRead)
                {
                    //searchResult.Path = searchResult.PrettyPath;
                    try
                    {
                        searchResult.Extension = (string)result.Source["Extension"];
                        DateTime lm = new DateTime();
                        if (DateTime.TryParse((string)result.Source["LastModified"], out lm))
                        {
                            searchResult.LastModified = lm.ToLocalTime(); //convert from UTC
                        }
                    }
                    catch (Exception)
                    {
                    }

                    if (System.IO.File.Exists(searchResult.Path) && result.Type == "photo")
                    {
                        string imageMagicHome = Environment.GetEnvironmentVariable("MAGICK_HOME");
                        if (!string.IsNullOrEmpty(imageMagicHome) && System.IO.Directory.Exists(imageMagicHome))
                        {
                            System.IO.FileInfo fi        = new System.IO.FileInfo(searchResult.Path);
                            string             localname = fi.FullName.GetHashCode() + ".png";
                            var localPath = Path.Combine(Environment.GetEnvironmentVariable("WebRootPathTemp"), localname);
                            //var localPath = Path.Combine(_hostingEnvironment.WebRootPath, "temp", localname);
                            searchResult.ThumbnailPath = "temp/" + localname;
                            if (!System.IO.File.Exists(localPath))
                            {
                                ProcessStartInfo psi = new ProcessStartInfo(Path.Combine(imageMagicHome, "magick.exe"), string.Format("\"{0}\" -resize 300x300 \"{1}\"", fi.FullName, localPath));
                                psi.WorkingDirectory = imageMagicHome;
                                //psi.UseShellExecute = true;
                                var p = Process.Start(psi);
                                p.WaitForExit(2000); //needs 2 sec delay before rendering that page
                            }
                        }
                        else //slow !!!
                        {
                            using (Stream str = System.IO.File.OpenRead(searchResult.Path))
                            {
                                using (MemoryStream data = new MemoryStream())
                                {
                                    str.CopyTo(data);
                                    data.Seek(0, SeekOrigin.Begin);
                                    byte[] buf = new byte[data.Length];
                                    data.Read(buf, 0, buf.Length);
                                    searchResult.Content = buf;
                                }
                            }
                        }

                        ///SystemDrawing is NotFound implemented in Core 1 RC2 yet :(
                        //Image image = Image.FromFile(imagePath, false);
                        //Image thumb = image.GetThumbnailImage(100, 100, () => false, IntPtr.Zero);
                        //thumb.Save(localPath, System.Drawing.Imaging.ImageFormat.Png);
                        //thumb.Dispose();
                    }
                }
            }

            //More Like This request
            Models.Query mltQuery = new Models.Query()
            {
                QueryTerm     = _index + "/" + _type + "/" + _id,
                Size          = 10,
                ChosenOptions = "1_" + _index + "+2_" + _type + "+3_6+"
            };
            var mltResults = await qc.GetSearchResponse(mltQuery);

            searchResult.MoreLikeThis = qc.GetSearchResults(User.Identity.Name, mltResults, mltQuery.QueryTerm)
                                        .Where(sr => sr.Id != _id)
                                        .Take(5);
            //foreach (var item in searchResult.MoreLikeThis)
            //{
            //    if (item.Id == _id)
            //    {
            //        item.Delete()
            //    }
            //}

            if (Request.Headers["X-Requested-With"] == "XMLHttpRequest")//(Request.IsAjaxRequest())
            {
                return(PartialView(searchResult));
            }
            return(View(searchResult));
        }
 public abstract IList <Models.Record> Search(Models.Query query, int pages);