public async Task <IActionResult> AddOrEdit(int id = 0) { ViewData["TypeOfSpravkaId"] = new SelectList(_context.TypeOfSpravkas, "TypeOfSpravkaId", "TypeOfSpravkaName"); ViewData["GroupId"] = new SelectList(_context.Groups.OrderBy(i => i.GroupName), "GroupId", "GroupName"); if (id == 0) { var user = await _userManager.Users.Include(i => i.Anketa).ThenInclude(i => i.Specialty).FirstOrDefaultAsync(i => i.UserName == User.Identity.Name); Spravka spravka = new Spravka(); if (user?.Anketa != null) { spravka.Name = user.Anketa.Name; spravka.Surname = user.Anketa.Surname; spravka.Middlename = user.Anketa.Middlename; spravka.GroupId = user.Anketa.Specialty.GroupId; } return(View(spravka)); } else { var spravka = await _context.Spravkas.FindAsync(id); if (spravka == null) { return(NotFound("Не удалось найти справку")); } return(View(spravka)); } }
public async Task <IActionResult> AddOrEdit(int id, [Bind("SpravkaId,Name,Surname,Middlename,OrganizationName,GroupId,AdditionalInformation,TypeOfSpravkaId")] Spravka model) { if (ModelState.IsValid) { if (id == 0) { var user = await _userManager.FindByNameAsync(User.Identity.Name); if (user == null) { return(NotFound("Пользователь не найден")); } await _context.Spravkas.AddAsync(model); await _context.SaveChangesAsync(); SpravkaOrder spravkaOrder = new SpravkaOrder(); spravkaOrder.DateTimeNow = DateTime.Now; spravkaOrder.UserId = user.Id; spravkaOrder.SpravkaId = model.SpravkaId; await _context.SpravkaOrders.AddAsync(spravkaOrder); await _context.SaveChangesAsync(); } else { try { SpravkaOrder spravkaOrder = await _context.SpravkaOrders.FirstOrDefaultAsync(i => i.SpravkaId == model.SpravkaId); spravkaOrder.DateTimeNow = DateTime.Now; _context.Spravkas.Update(model); _context.SpravkaOrders.Update(spravkaOrder); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SpravkaExists(model.SpravkaId)) { return(NotFound()); } else { throw; } } } return(RedirectToAction("Index", "Home")); } ViewData["GroupId"] = new SelectList(_context.Groups.OrderBy(i => i.GroupName), "GroupId", "GroupName"); ViewData["TypeOfSpravkaId"] = new SelectList(_context.TypeOfSpravkas, "TypeOfSpravkaId", "TypeOfSpravkaName"); return(View(model)); }
private void Spravka_Click(object sender, RoutedEventArgs e) { Spravka spr = new Spravka(); spr.ShowDialog(); }