public ActionResult DisplaySearchResults(PositionDuration SelectedPositionType, string CompanyName, string Industry, string LocationSearch, int SelectedMajor) { var dbPositions = _context.Positions.Include(b => b.Company).ThenInclude(b => b.Positions) .ThenInclude(b => b.PositionMajors).ThenInclude(b => b.Major); ViewBag.AllPositionCount = _context.Positions.Count(); var query = from b in dbPositions select b; if (LocationSearch != null && LocationSearch != "") { query = query.Where(b => b.Location.Contains(LocationSearch)); } if (CompanyName != null && CompanyName != "") { query = query.Where(b => b.Company.CompanyName.Contains(CompanyName)); } if (Industry != null && Industry != "") { query = query.Where(b => b.Company.Industry.Contains(Industry)); } if (SelectedMajor != 0) { //PositionMajor SearchedMajor = _context.PositionMajors.Find(SelectedMajor); query = query.Where(b => b.PositionMajors.Any(p => p.Major.MajorID == SelectedMajor)); } switch (SelectedPositionType) { case PositionDuration.FT: query = query.Where(b => b.PositionType == PositionDuration.FT); break; case PositionDuration.I: query = query.Where(b => b.PositionType == PositionDuration.I); break; } if (User.IsInRole("Student")) { query = query.Where(b => b.Deadline > Controllers.HomeController.current_time); ViewBag.AllPositionCount = _context.Positions.Where(b => b.Deadline > Controllers.HomeController.current_time).Count(); } List <Position> SelectedPositions = query.Include(b => b.PositionMajors).ToList(); ViewBag.SelectedPositionCount = SelectedPositions.Count(); return(View("Index", SelectedPositions.OrderBy(b => b.Deadline).ThenBy(b => b.Title).ThenBy(b => b.Company).ThenBy(b => b.PositionType))); }
public static PositionDuration CreatePositionDuration(string positionId, global::System.DateTimeOffset validFrom, global::System.DateTimeOffset validTo, global::Microsoft.Dynamics.DataEntities.PositionV2 position) { PositionDuration positionDuration = new PositionDuration(); positionDuration.PositionId = positionId; positionDuration.ValidFrom = validFrom; positionDuration.ValidTo = validTo; if ((position == null)) { throw new global::System.ArgumentNullException("position"); } positionDuration.Position = position; return(positionDuration); }
public ActionResult DisplaySearchResults(string SearchName, decimal SearchGPA, int[] SelectedMajors, int SearchAGrad, int SearchBGrad, PositionDuration PType) { var query = from b in _db.Users where b.GradDate != null && b.ActiveStatus select b; if (!string.IsNullOrEmpty(SearchName)) { query = query.Where(b => b.LastName.Contains(SearchName) || b.FirstName.Contains(SearchName)); } if (SelectedMajors.Any()) { //Not Sure How to make this work query = query.Where(b => SelectedMajors.Contains(b.Major.MajorID)); } if (SearchGPA != default(decimal)) { query = query.Where(b => b.GPA >= SearchGPA); } if (SearchAGrad != default(int)) { //DateTime sDate = SearchDate ?? new DateTime(1900, 1, 1); query = query.Where(b => b.GradDate >= SearchAGrad); } if (SearchBGrad != default(int)) { query = query.Where(b => b.GradDate <= SearchBGrad); } switch (PType) { case PositionDuration.FT: query = query.Where(b => b.PositionType == PositionDuration.FT); break; case PositionDuration.I: query = query.Where(b => b.PositionType == PositionDuration.I); break; case PositionDuration.All: break; } List <AppUser> userQuery = query.Include(b => b.Major).ToList(); ViewBag.AllBookCount = _db.Users.Count(); ViewBag.SelectedBookCount = userQuery.Count(); //ViewBag.AllGenres = GetAllGenres(); return(View("Index", userQuery.OrderByDescending(b => b.PositionType).ThenBy(b => b.LastName).ThenBy(b => b.FirstName))); }
public async Task <IActionResult> EditStudent(string id, [Bind("FirstName, LastName, Email, GPA, GradDate, ActiveStatus")] AppUser user, int SelectedMajor, PositionDuration SelectedType) { if (ModelState.IsValid) { //if edit own file //string username = User.Identity.Name; AppUser edit_user = _db.Users.Find(id); Major major = _db.Majors.Find(SelectedMajor); user.Major = major; if (SelectedType == PositionDuration.FT) { edit_user.PositionType = PositionDuration.FT; _db.SaveChanges(); } if (SelectedType == PositionDuration.I) { edit_user.PositionType = PositionDuration.I; _db.SaveChanges(); } edit_user.FirstName = user.FirstName; edit_user.LastName = user.LastName; edit_user.Email = user.Email; edit_user.GPA = user.GPA; edit_user.GradDate = user.GradDate; //edit_user.PositionType = SelectedType; edit_user.ActiveStatus = user.ActiveStatus; edit_user.Major = user.Major; _db.Entry(edit_user).State = EntityState.Modified; _db.SaveChanges(); return(RedirectToAction(nameof(Index))); } return(View(user)); }
public ActionResult DisplaySearchResults(string CompanyNameSearch, string LocationSearch, PositionDuration SelectedPositionType, string Industry) { //var dbCompanies = _context.Companies.Include(b => b.Positions).ThenInclude(b => b.PositionType).Include(b => b.Positions).ThenInclude(b => b.Location).Include(b => b.Industry); var dbCompanies = _context.Companies.Include(b => b.Positions); var query = from b in dbCompanies select b; if (CompanyNameSearch != null && CompanyNameSearch != "") { query = query.Where(b => b.CompanyName.Contains(CompanyNameSearch)); } if (LocationSearch != null && LocationSearch != "") { query = query.Where(c => c.Positions.Any(p => p.Location.Contains(LocationSearch))); } if (Industry != null && Industry != "") { query = query.Where(b => b.Industry.Contains(Industry)); } //saw this on piazza, might work if (SelectedPositionType == PositionDuration.I) { query = query.Where(b => b.Positions.All(p => p.PositionType.Equals(SelectedPositionType))); } if (SelectedPositionType == PositionDuration.FT) { query = query.Where(b => b.Positions.All(p => p.PositionType.Equals(SelectedPositionType))); } //switch (SelectedPositionType) //{ // case PositionDuration.FT: // query = query.Where(b => b.Positions.PositionType == PositionDuration.FT); // break; // case PositionDuration.I: // query = query.Where(b => b.Positions.PositionType == PositionDuration.I); // break; //} List <Company> SelectedCompanies = query.ToList(); //ViewBag.AllPositionCount = _context.Positions.Count(); //ViewBag.SelectedPositionCount = SelectedPositions.Count(); return(View("Index", SelectedCompanies)); }