public async Task <IActionResult> Create([Bind("ManufacturingAreaId,Name,ReportLabel,SmeName,SmeEmailAddress,MgrName,MgrEmailAddress,ReplyToEmailAddress")] ManufacturingArea manufacturingArea)
        {
            Logger.LogTrace("ManufacturingAreas/Create[Post] called");
            if (ModelState.IsValid)
            {
                try
                {
                    DatabaseContext.Add(manufacturingArea);
                    await DatabaseContext.SaveChangesAsync();

                    TempData["Message"] = "Area has been added.";
                    Logger.LogInformation("{user} added Manufacturing Area[{name}]", UserName, manufacturingArea.Name);
                    return(RedirectToAction(nameof(Index)));
                }
                catch (SqlException ex)
                {
                    string message = $"Cannot add area because of a database error: {ex.Message}";
                    TempData["Error"] = message;
                    Logger.LogError(message);
                }
                catch (Exception ex)
                {
                    string message = $"Cannot add area because of a general error: {ex.Message}";
                    TempData["Error"] = message;
                    Logger.LogError(message);
                }
            }
            return(View(manufacturingArea));
        }
示例#2
0
        public async Task <IActionResult> Edit(int id, [Bind("ManufacturingAreaId,Name,ReportLabel,SmeName,SmeEmailAddress,MgrName,MgrEmailAddress,ReplyToEmailAddress,T3GroupId")] ManufacturingArea manufacturingArea)
        {
            Logger.LogTrace("ManufacturingAreas/Edit[POST] called with [{id}]", id);
            if (id != manufacturingArea.ManufacturingAreaId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    DatabaseContext.Update(manufacturingArea);
                    await DatabaseContext.SaveChangesAsync();

                    Logger.LogInformation("{user} updated ManufacturingArea[{name}]", UserName, manufacturingArea.Name);
                    TempData["Message"] = "Area has been updated.";
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    string message;
                    if (!ManufacturingAreaExists(manufacturingArea.ManufacturingAreaId))
                    {
                        message = $"Cannot edit area because it no longer exists.";
                    }
                    else
                    {
                        message = $"Cannot edit area because of a concurrency error: {ex.Message}";
                    }
                    TempData["Error"] = message;
                    Logger.LogError("Error updating ManufacturingArea[{id}] because of {message}", id, message);
                }
                catch (Exception ex)
                {
                    string message = $"Cannot edit area because of a general error: {ex.Message}";
                    TempData["Error"] = message;
                    Logger.LogError("Error updating ManufacturingArea[{id}] because of {message}", id, message);
                }
                return(RedirectToAction(nameof(Index)));
            }

            //load the select (drop down) list
            ViewData["T3GroupId"] =
                await GetT3GroupsSelectListAsync(manufacturingArea.T3GroupId);

            return(View(manufacturingArea));
        }