public async Task <IActionResult> Create([Bind("T3GroupId,Name,SmeName,SmeEmailAddress,ReplyToEmailAddress")] T3Group group) { Logger.LogTrace("T3Groups/Create[Post] called"); if (ModelState.IsValid) { try { DatabaseContext.Add(group); await DatabaseContext.SaveChangesAsync(); TempData["Message"] = "Group has been added."; Logger.LogInformation("{user} added T3Group[{name}]", group.Name); return(RedirectToAction(nameof(Index))); } catch (DbUpdateException) { string message = "Cannot add group because ID is in use."; TempData["Error"] = message; Logger.LogDebug(message); } catch (SqlException ex) { string message = $"Cannot add group because of a database error: {ex.Message}"; TempData["Error"] = message; Logger.LogError(message); } catch (Exception ex) { string message = $"Cannot add group because of a general error: {ex.Message}"; TempData["Error"] = message; Logger.LogError(message); } } return(View(group)); }
public async Task <IActionResult> Edit(int id, [Bind("T3GroupId,Name,SmeName,SmeEmailAddress,ReplyToEmailAddress")] T3Group group) { Logger.LogTrace("T3Groups/Edit[POST] called with [{id}]", id); if (id != group.T3GroupId) { return(NotFound()); } if (ModelState.IsValid) { try { DatabaseContext.Update(group); await DatabaseContext.SaveChangesAsync(); TempData["Message"] = "Group has been updated."; Logger.LogInformation("{user} updated T3Group[{name}]", UserName, group.Name); } catch (DbUpdateConcurrencyException ex) { string message; if (!T3GroupExists(group.T3GroupId)) { message = $"Cannot edit group because it no longer exists."; } else { message = $"Cannot edit group because of a concurrency error: {ex.Message}"; } TempData["Error"] = message; Logger.LogError("Error updating T3Group[{id}] because of {message}", id, message); } catch (Exception ex) { string message = $"Cannot edit group because of a general error: {ex.Message}"; TempData["Error"] = message; Logger.LogError("Error updating T3Group[{id}] because of {message}", id, message); } return(RedirectToAction(nameof(Index))); } return(View(group)); }