ASP.NET MVC Как объединить две переменные для использования в представлении - PullRequest
0 голосов
/ 06 февраля 2019

в моем веб-приложении ASP.NET MVC у меня есть две переменные: одна используется для фильтрации, другая - для отображения таблицы, в которой отображаются только сайты, назначенные пользователю.Как мне вернуть оба этих списка?Я предполагаю, что мне нужно объединить эти два, но я не уверен, как это сделать.

 public ActionResult Index(string sortOrder, string searchName, string searchSite, string searchShift, string searchArea, string searchDiscipline)
    {


        //Filter ViewBags
        ViewBag.FullNameFilter = (from e in db.Employees
                                  select e.FullName).Distinct();

        ViewBag.SiteFilter = (from e in db.Employees
                                  select e.Site.SiteName).Distinct();

        ViewBag.ShiftFilter = (from e in db.Employees
                              select e.Shift.Shift1).Distinct();

        ViewBag.AreaFilter = (from e in db.Employees
                              select e.Area.Area1).Distinct();

        ViewBag.DisciplineFilter = (from e in db.Employees
                              select e.Discipline.Discipline1).Distinct();


        if (Session["Name"] == null)
        {
            TempData["msg"] = "Your Session Expired - Please Login";
            return RedirectToAction("Login", "Account");
        }

        string name = Session["Name"].ToString();
        var EmployeeIDCatch = db.Employees.Where(s => s.Email.Equals(name)).Select(s => s.EmployeeID).FirstOrDefault();
        var des = (from c in db.SitesPerEmployees where c.EmployeeID == EmployeeIDCatch select c.SiteID);
        var employeesSearch = db.Employees.Include(e => e.Area).Include(e => e.Discipline).Include(e => e.Shift).Include(e => e.Site).Where(e => des.Contains(e.SiteID));

        var employees = from e in db.Employees
                        where e.FullName == searchName || searchName == null || searchName == ""
                        where e.Site.SiteName == searchSite || searchSite == null || searchSite == ""
                        where e.Shift.Shift1 == searchShift || searchShift == null || searchShift == ""
                        where e.Area.Area1 == searchArea || searchArea == null || searchArea == ""
                        where e.Discipline.Discipline1 == searchDiscipline || searchDiscipline == null || searchDiscipline == ""
                        select e;

        return View(employeesSearch.ToList());

Мне бы хотелось, чтобы таблица могла фильтроваться, а также отображать сайты, которые былиназначается определенным пользователям.

1 Ответ

0 голосов
/ 06 февраля 2019

Правильно, так что я просто понял это сразу после публикации.Я выложу ответ на случай, если у кого-то возникнут подобные проблемы.Я только что объединил два

  var employees = from e in db.Employees.Include(e => e.Area).Include(e => e.Discipline).Include(e => e.Shift).Include(e => e.Site).Where(e => des.Contains(e.SiteID))
                        where e.FullName == searchName || searchName == null || searchName == ""
                        where e.Site.SiteName == searchSite || searchSite == null || searchSite == ""
                        where e.Shift.Shift1 == searchShift || searchShift == null || searchShift == ""
                        where e.Area.Area1 == searchArea || searchArea == null || searchArea == ""
                        where e.Discipline.Discipline1 == searchDiscipline || searchDiscipline == null || searchDiscipline == ""
                        select e;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...