Changes between Version 5 and Version 6 of AdvancedApplicationDevelopment


Ignore:
Timestamp:
09/09/26 03:19:32 (3 days ago)
Author:
231241
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedApplicationDevelopment

    v5 v6  
    77{{{
    88[HttpPost]
    9     [ValidateAntiForgeryToken]
    10     public IActionResult Register(RegisterViewModel model)
    11     {
    12         if (!ModelState.IsValid)
    13             return View(model);
    14 
    15         if (_context.Users.Any(x => x.Username == model.Username))
    16         {
    17             ModelState.AddModelError(
    18                 "Username",
    19                 "Username is already taken.");
    20 
    21             return View(model);
    22         }
    23 
    24         if (_context.Users.Any(x => x.Email == model.Email))
    25         {
    26             ModelState.AddModelError(
    27                 "Email",
    28                 "Email is already registered.");
    29 
    30             return View(model);
    31         }
    32 
    33         using var transaction =
    34             _context.Database.BeginTransaction();
    35 
    36         try
    37         {
    38             var user = new User
    39             {
    40                 Email = model.Email,
    41                 Username = model.Username,
    42                 DateCreated = DateTime.Today,
    43                 ShippingAddress = model.ShippingAddress,
    44                 TelephoneNumber = model.TelephoneNumber
    45             };
    46 
    47             user.Password =
    48                 _passwordHasher.HashPassword(
    49                     user,
    50                     model.Password);
    51 
    52             _context.Users.Add(user);
    53             _context.SaveChanges();
    54 
    55             var consumer = new Consumer
    56             {
    57                 UserId = user.UserId,
    58                 PointsCollected = 0
    59             };
    60 
    61             _context.Consumers.Add(consumer);
    62             _context.SaveChanges();
    63 
    64             transaction.Commit();
    65 
    66             return RedirectToAction(nameof(Login));
    67         }
    68         catch
    69         {
    70             transaction.Rollback();
    71             throw;
    72         }
    73     }
     9[ValidateAntiForgeryToken]
     10public IActionResult Register(RegisterViewModel model)
     11{
     12    if (!ModelState.IsValid)
     13        return View(model);
     14
     15    if (_context.Users.Any(x => x.Username == model.Username))
     16    {
     17        ModelState.AddModelError(
     18            "Username",
     19            "Username is already taken.");
     20
     21        return View(model);
     22    }
     23
     24    if (_context.Users.Any(x => x.Email == model.Email))
     25    {
     26        ModelState.AddModelError(
     27            "Email",
     28            "Email is already registered.");
     29
     30        return View(model);
     31    }
     32
     33    using var transaction =
     34        _context.Database.BeginTransaction();
     35
     36    try
     37    {
     38        var user = new User
     39        {
     40            Email = model.Email,
     41            Username = model.Username,
     42            DateCreated = DateTime.Today,
     43            ShippingAddress = model.ShippingAddress,
     44            TelephoneNumber = model.TelephoneNumber
     45        };
     46
     47        user.Password =
     48            _passwordHasher.HashPassword(
     49                user,
     50                model.Password);
     51
     52        _context.Users.Add(user);
     53        _context.SaveChanges();
     54
     55        var consumer = new Consumer
     56        {
     57            UserId = user.UserId,
     58            PointsCollected = 0
     59        };
     60
     61        _context.Consumers.Add(consumer);
     62        _context.SaveChanges();
     63
     64        transaction.Commit();
     65
     66        return RedirectToAction(nameof(Login));
     67    }
     68    catch
     69    {
     70        transaction.Rollback();
     71        throw;
     72    }
     73}
    7474}}}
    7575