public async Task <IActionResult> Edit(int id, [Bind("Id,DptId,UserName")] EngsInDeptsModel engsInDeptsModel) { if (id != engsInDeptsModel.EngId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(engsInDeptsModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!EngsInDeptsModelExists(engsInDeptsModel.EngId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["Id"] = new SelectList(_context.AppUsers, "Id", "Email", engsInDeptsModel.EngId); ViewData["DptId"] = new SelectList(_context.Departments, "DptId", "DptId", engsInDeptsModel.DptId); return(View(engsInDeptsModel)); }
public async Task <IActionResult> EditEngList(List <EngsInDeptsViewModel> data, string AsignEngId, string QueryEngId, string QueryBuildingId, string QueryFloorId) { // Get Login User's details. var user = _userRepo.Find(u => u.UserName == this.User.Identity.Name).FirstOrDefault(); /* Target engineer ID. */ int asignEngId = Convert.ToInt32(AsignEngId); try { /* Deal all input data. */ foreach (var item in data) { /* Create or edit the selected row data. */ if (item.IsSelected == true) { /* Insert values to engsInDeptsModel to save or create. */ EngsInDeptsModel engsInDeptsModel = new EngsInDeptsModel { EngId = asignEngId, BuildingId = item.BuildingId, FloorId = item.FloorId, PlaceId = item.PlaceId, DptId = _context.AppUsers.Find(asignEngId).DptId, UserName = _context.AppUsers.Find(asignEngId).UserName //Rtp = user.Id, //Rtt = DateTime.UtcNow.AddHours(08) }; /* If data isn't in the database, create data.*/ if (item.EngId == null) { _context.Add(engsInDeptsModel); } else { /* If data exist, find and delete old data, then create a new one. */ int engId = item.EngId.GetValueOrDefault(); var originData = _context.EngsInDepts.Find(engId, item.BuildingId, item.FloorId, item.PlaceId); if (originData.EngId != asignEngId) { _context.Remove(originData); _context.Add(engsInDeptsModel); } } } } await _context.SaveChangesAsync(); } catch (Exception e) { var msg = "資料更新錯誤!"; return(StatusCode(500, msg)); } return(RedirectToAction("GetEngList", new { EngineerId = QueryEngId, BuildingId = QueryBuildingId, FloorId = QueryFloorId })); }
public async Task <IActionResult> Create([Bind("Id,DptId,UserName")] EngsInDeptsModel engsInDeptsModel) { if (ModelState.IsValid) { _context.Add(engsInDeptsModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["Id"] = new SelectList(_context.AppUsers, "Id", "Email", engsInDeptsModel.EngId); ViewData["DptId"] = new SelectList(_context.Departments, "DptId", "DptId", engsInDeptsModel.DptId); return(View(engsInDeptsModel)); }