public async Task <IActionResult> Edit(String title, String userCreator) { //TODO test var user = await _userManager.GetUserAsync(User); var manual = await _context.Manuals.FirstOrDefaultAsync(manuals => manuals.UserCreator == userCreator && manuals.Title == title); if (manual != null && user.UserName == userCreator && userCreator != null) { var manualViewModel = new EditManualViewModel { Title = manual.Title, Content = manual.Body, ShortDescription = manual.ShortDescription, Tags = manual.Tags, Themes = manual.Themes }; return(View(manualViewModel)); } return(NotFound(title)); }
public async Task <IActionResult> Edit(EditManualViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { var room = await _context.Manuals.FirstOrDefaultAsync(u => u.Title == model.Title && u.UserCreator == _userManager.GetUserName(HttpContext.User)); //TODO BUG IF Title null fix please if (room != null && model.Title != null) { var manual = new Manual { Themes = model.Themes, Tags = model.Tags, Body = model.Content, Title = model.Title, ShortDescription = model.ShortDescription, CreatedDate = DateTime.Now, UserCreator = _userManager.GetUserName(HttpContext.User), }; var user = await _userManager.GetUserAsync(User); _context.Manuals.Remove(room); await _context.Manuals.AddAsync(manual); await _context.SaveChangesAsync(); _logger.LogInformation($"User {manual.UserCreator} created a new manual."); return(RedirectToAction("Index", "Manual")); } else { ModelState.AddModelError("", "Sorry, you already created such a manual"); } } return(View(model)); }