public async Task <IActionResult> Create([Bind("RoeId,RoeOfficeId,RoeEmployeeId")] RelOfficeResponsEmployee relOfficeResponsEmployee, string filter = "", int page = 1, string sortExpression = "RoeId") { ViewBag.Filter = filter; ViewBag.Page = page; ViewBag.SortExpression = sortExpression; if (ModelState.IsValid) { _context.Add(relOfficeResponsEmployee); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index), new { page = page, filter = filter, sortExpression = sortExpression })); } ViewData["OfficeRegionId"] = new SelectList(_context.Region, "RegionId", "RegionName" , relOfficeResponsEmployee.RoeOffice.OfficeHouses.HousesRegionId); ViewData["OfficeHousesId"] = new SelectList(_context.Houses, "HouseId", "HouseName" , relOfficeResponsEmployee.RoeOffice.OfficeHousesId); ViewData["RoeEmployeeId"] = new SelectList(_context.Employees, "EmployeeId", "EmployeeFullFio" , relOfficeResponsEmployee.RoeEmployeeId); ViewData["RoeOfficeId"] = new SelectList(_context.Offices, "OfficeId", "OfficeName" , relOfficeResponsEmployee.RoeOfficeId); return(View(relOfficeResponsEmployee)); }
public async Task <IActionResult> Edit(int id, [Bind("RoeId,RoeOfficeId,RoeEmployeeId")] RelOfficeResponsEmployee relOfficeResponsEmployee, string filter = "", int page = 1, string sortExpression = "RoeId") { ViewBag.Filter = filter; ViewBag.Page = page; ViewBag.SortExpression = sortExpression; if (id != relOfficeResponsEmployee.RoeId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(relOfficeResponsEmployee); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RelOfficeResponsEmployeeExists(relOfficeResponsEmployee.RoeId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index), new { page = page, filter = filter, sortExpression = sortExpression })); } var _offices = _context.Offices .Include(h => h.OfficeHouses) .AsNoTracking(); _offices = _offices.Where(o => o.OfficeId == relOfficeResponsEmployee.RoeOfficeId); var _houses = _context.Houses .Include(h => h.HousesRegion) .AsNoTracking(); _houses = _houses.Where(h => h.HousesRegionId == relOfficeResponsEmployee.RoeOffice.OfficeHouses.HousesRegionId); var _employees = _context.Employees .Include(e => e.EmployeeRegion) .AsNoTracking(); _employees = _employees.Where(e => e.EmployeeRegionId == relOfficeResponsEmployee.RoeOffice.OfficeHouses.HousesRegionId); ViewData["OfficeRegionId"] = new SelectList(_context.Region, "RegionId", "RegionName" , relOfficeResponsEmployee.RoeOffice.OfficeHouses.HousesRegionId); ViewData["OfficeHousesId"] = new SelectList(_houses, "HouseId", "HouseName" , relOfficeResponsEmployee.RoeOffice.OfficeHousesId); ViewData["RoeEmployeeId"] = new SelectList(_employees, "EmployeeId", "EmployeeFullFio" , relOfficeResponsEmployee.RoeEmployeeId); ViewData["RoeOfficeId"] = new SelectList(_offices, "OfficeId", "OfficeName" , relOfficeResponsEmployee.RoeOfficeId); return(View(relOfficeResponsEmployee)); }