コード例 #1
0
        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)));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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)));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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));
        }