public VendorSearchResultDto SearchVendors(string searchText)
        {
            VendorSearchResultDto searchResult = new VendorSearchResultDto();

            string[] filters = searchText.Split(',');
            foreach (string filter in filters)
            {
                searchResult.SearchResults.Add(new VendorSearchDto
                {
                    SearchedFor     = filter,
                    MatchingVendors = (from v in Entities
                                       where v.IsDeleted == false &&
                                       (v.PrimarySkills.ToLower().Contains(filter.ToLower()) || v.SecondarySkills.Contains(filter.ToLower()))
                                       select new VendorDto
                    {
                        IsSelected = true,
                        VendorID = v.VendorID,
                        VendorName = v.VendorName,
                        PrimarySkills = v.PrimarySkills,
                        SecondarySkills = v.SecondarySkills,
                        PoCEmail1 = v.PoCEmail1,
                        PoCEmail2 = v.PoCEmail2
                    }).ToList()
                });
            }

            return(searchResult);
        }
Beispiel #2
0
        public ActionResult Search(string by)
        {
            VendorSearchResultViewModel viewModel = new VendorSearchResultViewModel();

            try
            {
                if (string.IsNullOrEmpty(by))
                {
                    DisplayWarningMessage("Hey, I am not sure about what you are searching for!");
                    return(View(viewModel));
                }

                string[] filters      = by.Split(',');
                bool     anyValidText = filters.Any(s => s.Length > 0);
                if (anyValidText == false)
                {
                    DisplayWarningMessage("Hey, I am not sure about what you are searching for!");
                    return(View(viewModel));
                }

                VendorSearchResultDto resultDto = vendorService.SearchVendors(by);
                viewModel = Mapper.Map <VendorSearchResultDto, VendorSearchResultViewModel>(resultDto);
            }
            catch (Exception exp)
            {
                DisplayLoadErrorMessage(exp);
            }

            return(View(viewModel));
        }