コード例 #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
ファイル: CompanyController.cs プロジェクト: net4u/MvcInvoice
        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
ファイル: CompanyController.cs プロジェクト: net4u/MvcInvoice
        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
ファイル: CompanyController.cs プロジェクト: net4u/MvcInvoice
        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());
        }