Advertisement
wingman007

2018_DotNetProgrammingPartTime_Create.cshtml.cs

Sep 25th, 2018
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.13 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Microsoft.AspNetCore.Mvc.RazorPages;
  7. using Microsoft.Extensions.Logging;
  8.  
  9. namespace WebApplication1bDeletMe.Pages
  10. {
  11.     public class CreateModel : PageModel
  12.     {
  13.         private readonly AppDbContext _db;
  14.  
  15.         [BindProperty]
  16.         public Customer Customer { get; set; }
  17.  
  18.         [TempData]
  19.         public string Message { get; set; }
  20.  
  21.         private ILogger<CreateModel> _log;
  22.  
  23.         public CreateModel(AppDbContext db, ILogger<CreateModel> log)
  24.         {
  25.             _db = db;
  26.             _log = log;
  27.         }
  28.  
  29.         public async Task<IActionResult> OnPostAsync()
  30.         {
  31.             if (!ModelState.IsValid)
  32.             {
  33.                 return Page();
  34.             }
  35.             _db.Customers.Add(Customer);
  36.  
  37.             await _db.SaveChangesAsync();
  38.  
  39.             var msg = $"Customer {Customer.Name} added.";
  40.  
  41.             Message = msg;
  42.  
  43.             _log.LogCritical(msg);
  44.  
  45.             return RedirectToPage("/Index"); // PRG Post Redirect Get
  46.         }
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement