public IActionResult Edit(int?id) { var customscontext = db.Forests.Include(c => c.PointName).Include(d => d.Loc).Include(d => d.FIO).Include(d => d.SortD); var items = customscontext.Where(d => d.ForestID == id).ToList(); var agents = new SelectList(db.Appointments, "PointID", "PointName", items.First().PointID); var goods = new SelectList(db.Mazists, "CarID", "FIO", items.First().CarID); var products = new SelectList(db.Sorts, "SortID", "SortD", items.First().SortID); var loc = new SelectList(db.Locations, "LocID", "Loc", items.First().LocID); ForestsViewModel duti = new ForestsViewModel { Forests = items, ForestViewModel = _duti, MazistsList = goods, SortsList = products, LocList = loc, AppointmentsList = agents }; return(View(duti)); }
public IActionResult Details(int?id) { var customscontext = db.Forests.Include(c => c.FIO).Include(d => d.PointName).Include(d => d.Loc).Include(d => d.SortD); var items = customscontext.Where(d => d.ForestID == id).ToList(); var agents = new SelectList(db.Appointments, "PointID", "PointName"); var goods = new SelectList(db.Mazists, "CarID", "FIO"); var products = new SelectList(db.Sorts, "SortID", "SortD"); var loc = new SelectList(db.Locations, "LocID", "Loc"); ForestViewModel dutiView = new ForestViewModel { ForestID = items.First().ForestID, FIO = items.First().FIO.FIO, SortD = items.First().SortD.SortD, PointName = items.First().PointName.PointName, Quarter = items.First().Quarter, Location = items.First().Loc.Loc, DateOfAppointment = items.First().DateOfAppointment }; ForestsViewModel dutis = new ForestsViewModel { Forests = items, ForestViewModel = _duti, MazistsList = agents, SortsList = products, LocList = loc, AppointmentsList = goods }; if (items == null) { return(View("NotFound")); } else { return(View(dutis)); } }
//[Authorize(Roles = "MainAdmin, user")] public IActionResult Index(int?agent, int?name, int?sort, int?forest, int page = 1, SortState sortOrder = SortState.DateOfAppointmentDesc) { int pageSize = 10; IQueryable <Forest> source = db.Forests.Include(d => d.FIO) .Include(d => d.PointName) .Include(d => d.SortD) .Include(d => d.Loc); // .Include(d => d.Lght.Sorte); if (agent != null && agent != 0) { source = source.Where(p => p.CarID == agent); } if (name != null && name != 0) { source = source.Where(p => p.PointID == name); } if (sort != null && sort != 0) { source = source.Where(p => p.SortID == sort); } if (forest != null && forest != 0) { source = source.Where(p => p.ForestID == forest); } switch (sortOrder) { case SortState.ForestIDAsc: source = source.OrderBy(s => s.ForestID); break; case SortState.ForestIDDesc: source = source.OrderByDescending(s => s.ForestID); break; case SortState.FIOAsc: source = source.OrderBy(s => s.FIO.FIO); break; case SortState.FIODesc: source = source.OrderByDescending(s => s.FIO.FIO); break; case SortState.SortDAsc: source = source.OrderBy(s => s.SortD.SortD); break; case SortState.SortDDesc: source = source.OrderByDescending(s => s.SortD.SortD); break; case SortState.PointNameAsc: source = source.OrderBy(s => s.PointName.PointName); break; case SortState.PointNameDesc: source = source.OrderByDescending(s => s.PointName.PointName); break; case SortState.QuarterAsc: source = source.OrderBy(s => s.Quarter); break; case SortState.QuarterDesc: source = source.OrderByDescending(s => s.Quarter); break; case SortState.LocAsc: source = source.OrderBy(s => s.Loc.Loc); break; case SortState.LocDesc: source = source.OrderByDescending(s => s.Loc.Loc); break; case SortState.DateOfAppointmentAsc: source = source.OrderBy(s => s.DateOfAppointment); break; case SortState.DateOfAppointmentDesc: source = source.OrderByDescending(s => s.DateOfAppointment); break; } var count = source.Count(); var items = source.Skip((page - 1) * pageSize).Take(pageSize).ToList(); PageViewModel pageViewModel = new PageViewModel(count, page, pageSize); ForestsViewModel duti = new ForestsViewModel { Forests = items, ForestViewModel = _duti, PageViewModel = pageViewModel, SortViewModel = new ForestsSortViewModel(sortOrder), FilterViewModel = new ForestsFilterViewModel(db.Mazists.ToList(), db.Appointments.ToList(), db.Sorts.ToList(), db.Forests.ToList(), agent, name, sort, forest) }; return(View(duti)); }