Пример #1
0
        public CompanySearchViewModel CompanySearch(CompanySearchInputModel inputModel)
        {
            CompanySearchViewModel viewModel = new CompanySearchViewModel();

            // Draw parameter needs to be returned to the datatable so we can determin if we need
            // to store the record count.
            viewModel.Draw = inputModel.Draw;

            TalentSearch talentSearch = new TalentSearch();

            Mapper.CreateMap <CompanySearchInputModel, DECompanySearch>();
            talentSearch.CompanySearch = Mapper.Map <DECompanySearch>(inputModel);

            Mapper.CreateMap <CompanySearchInputModel, DECompany>();
            talentSearch.CompanySearch.Company = Mapper.Map <DECompany>(inputModel);

            talentSearch.Settings = Environment.Settings.DESettings;
            ErrorObj err = talentSearch.PerformCompanySearch();

            CompanySearchLists SearchResults = new CompanySearchLists();

            SearchResults.Errors = Data.PopulateErrorObject(err, talentSearch.ResultDataSet, talentSearch.Settings, null);

            if (!SearchResults.Errors.HasError)
            {
                SearchResults.Companies = Data.PopulateObjectListFromTable <CompanySearch.Company>(talentSearch.ResultDataSet.Tables["SearchResults"]);

                // Populate the datatablelist in the base view model with our lists
                viewModel.DataTableList = new List <CompanySearchLists>();
                viewModel.DataTableList.Add(SearchResults);
                viewModel.RecordsFiltered = (int)talentSearch.ResultDataSet.Tables["StatusResults"].Rows[0]["RecordsReturned"];
                viewModel.RecordsTotal    = SearchResults.Companies.Count;
            }
            return(viewModel);
        }
Пример #2
0
        public async Task <IActionResult> MyCompanies(CompanySearchViewModel cvm)
        {
            cvm.SearchResults = await companyRepository.GetPaged(s => (s.CreatedBy == User.Identity.Name) && (!String.IsNullOrEmpty(cvm.Keywords) ? s.Title.Contains(cvm.Keywords) : true) && (!String.IsNullOrEmpty(cvm.LocationId) ? s.LocationId == cvm.LocationId : true) && (!String.IsNullOrEmpty(cvm.SectorId) ? s.SectorId == cvm.SectorId : true), o => o.Title, false, 10, cvm.Page, "Jobs", "Location");

            ViewBag.Locations = new SelectList(locationRepository.GetAll().OrderBy(o => o.Name).ToList(), "Id", "Name", cvm.LocationId);
            ViewBag.Sector    = new SelectList(sectorRepository.GetAll().OrderBy(p => p.Name).ToList(), "Id", "Name", cvm.SectorId);
            return(View(cvm));
        }
Пример #3
0
        public async Task <IActionResult> AddCompany(CompanyViewModel vm)
        {
            await cService.AddCompanyAsync(vm.Name, vm.CreationDate);

            var vm1 = new CompanySearchViewModel();

            return(View("Index", vm1));
        }
Пример #4
0
        public async Task <IActionResult> RemoveCompany(string submitButton)
        {
            await cService.RemoveCompanyAsync(int.Parse(submitButton));

            var vm = new CompanySearchViewModel();

            return(View("Index", vm));
        }
Пример #5
0
        public virtual ActionResult Index()
        {
            var criteria = new CompanySearchViewModel()
            {
                PageIndex    = 0,
                PageSize     = 10,
                SortByList   = Enums.CompanySortBy.Name.ToSelectList(),
                SortTypeList = Enums.SortOrder.Ascending.ToSelectList()
            };

            return(View(criteria));
        }
Пример #6
0
        public async Task <IActionResult> Index(CompanySearchViewModel cvm)
        {
            //s => (vm.SortBy == 1 || vm.SortBy == 2 ? s.FullName : (vm.SortBy == 3 || vm.SortBy == 4 ? s.Occupation.Name : (vm.SortBy == 5 || vm.SortBy == 6 ? s.Location.Name : s.UpdateDate.ToString()))), (vm.SortBy == 1 || vm.SortBy == 3 || vm.SortBy == 5 ? false : (vm.SortBy == 2 || vm.SortBy == 4 || vm.SortBy == 6)
            cvm.SearchResults = await companyRepository.GetPaged(s =>
                                                                 (!String.IsNullOrEmpty(cvm.Keywords) ? s.Name.Contains(cvm.Keywords) : true) &&
                                                                 (!String.IsNullOrEmpty(cvm.LocationId) ? s.LocationId == cvm.LocationId: true) &&
                                                                 (!String.IsNullOrEmpty(cvm.SectorId) ? s.SectorId == cvm.SectorId : true),
                                                                 s => (cvm.SortBy == 1 || cvm.SortBy == 2 ? s.Name : (cvm.SortBy == 3 || cvm.SortBy == 4 ? s.Sector.Name : (cvm.SortBy == 5 || cvm.SortBy == 6 ? s.Location.Name : s.UpdateDate.ToString()))),
                                                                 (cvm.SortBy == 1 || cvm.SortBy == 3 || cvm.SortBy == 5 ? false : (cvm.SortBy == 2 || cvm.SortBy == 4 || cvm.SortBy == 6)),
                                                                 5, cvm.Page, "Jobs", "Location");

            ViewBag.Locations = new SelectList(locationRepository.GetAll().OrderBy(o => o.Name).ToList(), "Id", "Name", cvm.LocationId);
            ViewBag.Sector    = new SelectList(sectorRepository.GetAll().OrderBy(p => p.Name).ToList(), "Id", "Name", cvm.SectorId);


            return(View(cvm));
        }
Пример #7
0
        public JsonResult Search(CompanySearchViewModel model)
        {
            Response response;

            try
            {
                List <Company> list;
                int            dataCount;
                using (var db = new KiaGalleryContext())
                {
                    var query = db.Company.Select(x => x);

                    dataCount = query.Count();
                    query     = query.OrderByDescending(x => x.Id).Skip(model.page * model.count).Take(model.count);

                    list = query.ToList();
                }

                response = new Response()
                {
                    status = 200,

                    data = new
                    {
                        list = list.Select(item => new
                        {
                            id     = item.Id,
                            alias  = item.Alias,
                            name   = item.Name,
                            order  = item.Order,
                            active = item.Active
                        }),
                        pageCount = Math.Ceiling((double)dataCount / model.count),
                        count     = dataCount,
                        page      = model.page + 1
                    }
                };
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Пример #8
0
        public virtual ActionResult Search(CompanySearchViewModel searchCriteria)
        {
            Session[Consts.SessionDataType.SEARCH_CRITERIA] = searchCriteria;

            var dbCompanies = _companies.Search(_mapper.Map <CompanySearch>(searchCriteria));
            var companies   = _mapper.Map <List <CompanyViewModel> >(dbCompanies);
            var model       = new CompanySearchResultViewModel()
            {
                SearchResultList = companies
            };

            if (ControllerContext.HttpContext.Request.IsAjaxRequest())
            {
                return(Json(new { success = true, data = RenderPartialViewToString(MVC.Company.Views.Search, model) },
                            JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(View(model));
            }
        }
Пример #9
0
        public virtual ActionResult Create(CompanyEditModel model)
        {
            var company = _mapper.Map <Company>(model);

            _companies.Add(company);
            _companies.Commit();
            CompanySearchViewModel searchCriteria = (CompanySearchViewModel)Session[Consts.SessionDataType.SEARCH_CRITERIA];

            if (searchCriteria == null)
            {
                searchCriteria = new CompanySearchViewModel()
                {
                    PageIndex    = 1,
                    PageSize     = 10,
                    SortByList   = Enums.CompanySortBy.Name.ToSelectList(),
                    SortTypeList = Enums.SortOrder.Ascending.ToSelectList()
                };
            }
            searchCriteria.InitSearch = true;

            return(View(MVC.Company.Views.Index, searchCriteria));
        }
Пример #10
0
        public IActionResult Index()
        {
            var vm = new CompanySearchViewModel();

            return(View(vm));
        }
Пример #11
0
        //need to send an array rather than individual items...ask Dick about this
        //public ActionResult SearchResults(Boolean DBE, Boolean ACDBE, Boolean SBE, Boolean MBE, String companylist, String BusinessDescription, String NAICS, String Item, String OwnersFirstName, String OwnersLastName, String City, String State, String Zip, String AreaCode, String County)
        public ActionResult SearchResults(CompanySearchViewModel searchData)
        {
            int?            CompanyId2 = 1;
            int?            ItemCode   = 805;
            CompanyItemCode stuff      = db.CompanyItemCodes.Find(CompanyId2, ItemCode);

            if (stuff != null)
            {
                Console.WriteLine("wooHoo!");
            }
            IQueryable <DBECompany> searchquery = db.DBECompanies;

            if (searchData != null)
            {
                if (!(searchData.DBE))
                {
                    searchquery = searchquery.Where(s => s.DBE != true);
                }
                if (!(searchData.ACDBE))
                {
                    searchquery = searchquery.Where(s => s.ACDBE != true);
                }

                if (!(searchData.MBE))
                {
                    searchquery = searchquery.Where(s => s.MBE != true);
                }
                if (!(searchData.SBE))
                {
                    searchquery = searchquery.Where(s => s.SBP != true);
                }

                if (!String.IsNullOrEmpty(searchData.Company))
                {
                    searchquery = searchquery.Where(c => c.CompanyName.Contains(searchData.Company)).Select(c => c);
                }
                if (!String.IsNullOrEmpty(searchData.BusinessDescription))
                {
                    IQueryable <DBECompany> dBECompanies = searchquery.Join(db.CompanyNAICSCodes, a => a.CompanyId, b => b.Companyid, (a, b) => new { a, b })
                                                           .Join(db.NAICSCodes, c => c.b.NAICSCode, d => d.NAICSCode1, (c, d) => new { c, d })
                                                           .Where(e => e.d.Description.Contains(searchData.BusinessDescription))
                                                           .Select(g => g.c.a);
                    IQueryable <DBECompany> NAICSCompanies = searchquery.Join(db.CompanyItemCodes, a => a.CompanyId, b => b.CompanyID, (a, b) => new { a, b })
                                                             .Join(db.ItemCodes, c => c.b.ItemCode, d => d.ItemCode1, (c, d) => new { c, d })
                                                             .Where(e => e.d.Description.Contains(searchData.BusinessDescription))
                                                             .Select(g => g.c.a);
                    searchquery = dBECompanies.Union(NAICSCompanies);
                }

                if (searchData.NAICS != null && searchData.NAICS.Count > 0 && !String.IsNullOrEmpty(searchData.NAICS[0]))
                {
                    //var searchCodes = searchData.NAICS.Select(p => p.Substring(0, 6)).ToList();
                    searchquery = from company in searchquery
                                  join compNAICSCode in db.CompanyNAICSCodes on company.CompanyId equals compNAICSCode.Companyid
                                  join searchCode in searchData.NAICS /*searchCodes*/ on compNAICSCode.NAICSCode equals searchCode
                                  select company;
                }

                if (searchData.ItemCode != null && searchData.ItemCode.Count > 0 && searchData.ItemCode[0] > 0)
                {
                    //var searchCodes = searchData.ItemCode.Select(p => p.Substring(0, 6)).ToList();
                    searchquery = from company in searchquery
                                  join compItemCodeCode in db.CompanyItemCodes on company.CompanyId equals compItemCodeCode.CompanyID
                                  join searchCode in searchData.ItemCode /*searchCodes*/ on compItemCodeCode.ItemCode equals searchCode
                                  select company;
                }

                if (!String.IsNullOrEmpty(searchData.OwnerFirstName))
                {
                    searchquery = searchquery.Where(c => c.OwnersFirstName.Contains(searchData.OwnerFirstName)).Select(c => c);
                }
                if (!String.IsNullOrEmpty(searchData.OwnerLastName))
                {
                    searchquery = searchquery.Where(c => c.OwnersLastName.Contains(searchData.OwnerLastName)).Select(c => c);
                }
                if (searchData.Cities != null && searchData.Cities.Count > 0 && !String.IsNullOrEmpty(searchData.Cities[0]))
                {
                    searchquery = searchquery.Join(searchData.Cities, a => a.City, b => b, (a, b) => a).Select(c => c);
                }
                if (searchData.States != null && searchData.States.Count > 0 && !String.IsNullOrEmpty(searchData.States[0]))
                {
                    searchquery = searchquery.Join(searchData.States, a => a.State, b => b, (a, b) => a).Select(c => c);
                }
                if (searchData.OwnerZipCodes != null && searchData.OwnerZipCodes.Count > 0 && !String.IsNullOrEmpty(searchData.OwnerZipCodes[0]))
                {
                    searchquery = searchquery.Join(searchData.OwnerZipCodes, a => a.Zip, b => b, (a, b) => a).Select(c => c);
                }
                if (!string.IsNullOrEmpty(searchData.AreaCode))
                {
                    searchquery = searchquery.Where(c => c.Phone.StartsWith(searchData.AreaCode)); //Area Code is not split out in DB Need to string length check first????
                }



                //if (!(string.IsNullOrEmpty(County))) //currently, county does not exist in the database
                //{

                //}

                //done with the querybuilding
                List <DBECompany> results = searchquery.Distinct().ToList();
                //var results = db.DBECompany.Where(c => c.CompanyName.ToUpper().Contains(companylist.ToUpper())).Select(c => c).ToArray();
                return(PartialView("~/Views/DBECompany/_SearchResults.cshtml", results));
            }
            return(View());
        }
Пример #12
0
        public ActionResult SearchResults(CompanySearchViewModel searchData)
        {
            //IQueryable<DBECompany> searchquery = db.DBECompanies.Where(s => s.CompanyName != "000");

            IQueryable <DBECompany> searchquery = db.DBECompanies.Where(s => s.CompanyName == "000");

            //IQueryable<DBECompany> empty = Enumerable.Empty<DBECompany>() as IQueryable<DBECompany>;

            if (searchData != null)
            {
                IQueryable <DBECompany> DBE   = db.DBECompanies;
                IQueryable <DBECompany> ACDBE = db.DBECompanies;
                IQueryable <DBECompany> MBE   = db.DBECompanies;
                IQueryable <DBECompany> SBP   = db.DBECompanies;
                if ((searchData.DBE))
                {
                    DBE = DBE.Where(s => s.DBE == true);
                }
                else
                {
                    DBE = DBE.Where(s => s.CompanyName == "000");
                }
                if ((searchData.ACDBE))
                {
                    ACDBE = ACDBE.Where(s => s.ACDBE == true);
                }
                else
                {
                    ACDBE = ACDBE.Where(s => s.CompanyName == "000");
                }
                if ((searchData.SBP))
                {
                    SBP = SBP.Where(s => s.SBP == true);
                }
                else
                {
                    SBP = SBP.Where(s => s.CompanyName == "000");
                }
                if ((searchData.MBE))
                {
                    MBE = MBE.Where(s => s.MBE == true);
                }
                else
                {
                    MBE = MBE.Where(s => s.CompanyName == "000");
                }

                //searchquery = searchquery.Concat( DBE).Concat(ACDBE).Concat(SBP).Concat(MBE).Distinct();

                searchquery = searchquery.Concat(DBE).Concat(ACDBE).Concat(SBP).Concat(MBE).Distinct();

                if (!String.IsNullOrEmpty(searchData.Company))
                {
                    //searchquery = searchquery.Where(c => c.CompanyName.Contains(searchData.Company)).Select(c => c);
                    searchquery = searchquery.Where(c => c.CompanyName.Contains(searchData.Company) || c.DBAName.Contains(searchData.Company)).Select(c => c);
                }

                if (!String.IsNullOrEmpty(searchData.BusinessDescription))
                {
                    IQueryable <DBECompany> dBECompanies = searchquery.Join(db.CompanyNAICSCodes, a => a.CompanyId, b => b.Companyid, (a, b) => new { a, b })
                                                           .Join(db.NAICSCodes, c => c.b.NAICSCode, d => d.NAICSCode1, (c, d) => new { c, d })
                                                           .Where(e => e.d.Description.Contains(searchData.BusinessDescription))
                                                           .Select(g => g.c.a);
                    IQueryable <DBECompany> NAICSCompanies = searchquery.Join(db.CompanyItemCodes, a => a.CompanyId, b => b.CompanyID, (a, b) => new { a, b })
                                                             .Join(db.ItemCodes, c => c.b.ItemCode, d => d.ItemCode1, (c, d) => new { c, d })
                                                             .Where(e => e.d.Description.Contains(searchData.BusinessDescription))
                                                             .Select(g => g.c.a);
                    searchquery = dBECompanies.Union(NAICSCompanies);
                }

                if (searchData.NAICS != null && searchData.NAICS.Count > 0 && !String.IsNullOrEmpty(searchData.NAICS[0]))
                {
                    searchquery = from company in searchquery
                                  join compNAICSCode in db.CompanyNAICSCodes on company.CompanyId equals compNAICSCode.Companyid
                                  join searchCode in searchData.NAICS on compNAICSCode.NAICSCode equals searchCode
                                  select company;
                }

                if (searchData.ItemCode != null && searchData.ItemCode.Count > 0 && !string.IsNullOrEmpty(searchData.ItemCode[0]))
                {
                    searchquery = from DBECompany in searchquery
                                  join companyItemCode in db.CompanyItemCodes on DBECompany.CompanyId equals companyItemCode.CompanyID
                                  join searchedcodes in searchData.ItemCode on companyItemCode.ItemCode.ToString() equals searchedcodes
                                  select DBECompany;
                }
                if (!String.IsNullOrEmpty(searchData.OwnerFirstName))
                {
                    searchquery = searchquery.Where(c => c.OwnersFirstName.Contains(searchData.OwnerFirstName)).Select(c => c);
                }
                if (!String.IsNullOrEmpty(searchData.OwnerLastName))
                {
                    searchquery = searchquery.Where(c => c.OwnersLastName.Contains(searchData.OwnerLastName)).Select(c => c);
                }
                if (searchData.Cities != null && searchData.Cities.Count > 0 && !String.IsNullOrEmpty(searchData.Cities[0]))
                {
                    searchquery = searchquery.Join(searchData.Cities, a => a.City, b => b, (a, b) => new { a }).Select(c => c.a);
                }
                if (searchData.States != null && searchData.States.Count > 0 && !String.IsNullOrEmpty(searchData.States[0]))
                {
                    searchquery = searchquery.Join(searchData.States, a => a.State, b => b, (a, b) => new { a }).Select(c => c.a);
                }
                if (searchData.OwnerZipCodes != null && searchData.OwnerZipCodes.Count > 0 && !String.IsNullOrEmpty(searchData.OwnerZipCodes[0]))
                {
                    searchquery = searchquery.Join(searchData.OwnerZipCodes, a => a.Zip, b => b, (a, b) => new { a }).Select(c => c.a);
                }
                if (searchData.Districts != null && searchData.Districts.Count > 0 && !String.IsNullOrEmpty(searchData.Districts[0]))
                {
                    searchquery = searchquery.Join(searchData.Districts, a => a.District, b => b, (a, b) => new { a }).Select(c => c.a);
                }
                if (!string.IsNullOrEmpty(searchData.AreaCode))
                {
                    searchquery = searchquery.Where(c => c.Phone.StartsWith(searchData.AreaCode));
                }
                if (searchData.County != null && searchData.County.Count > 0 && !String.IsNullOrEmpty(searchData.County[0]))
                {
                    searchquery = searchquery.Join(searchData.County, a => a.County, b => b, (a, b) => new { a }).Select(c => c.a);
                }

                searchquery = searchquery.Where(s => s.Suspended != true && s.Certified == true).OrderBy(c => c.CompanyName);

                //done with the querybuilding
                //List<DBECompany> results = searchquery.Distinct().ToList();
                List <DBECompany> results = searchquery.Distinct().OrderBy(c => c.CompanyName).ToList();
                return(PartialView("~/Views/DBECompany/_SearchResults.cshtml", results));
            }
            return(View());
        }