示例#1
0
        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));
        }
示例#2
0
        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));
        }