public async Task <ActionResult> Edit( string clubInitials, AnnouncementWithOptions model, string returnUrl = null) { try { if (!await _authService.CanUserEdit(User, clubInitials)) { return(Unauthorized()); } if (!ModelState.IsValid) { return(View(model)); } model.Content = _sanitizer.Sanitize(model.Content); model.UpdatedBy = await GetUserStringAsync(); model.UpdatedDate = DateTime.UtcNow; model.UpdatedLocalDate = DateTime.UtcNow.AddMinutes(0 - model.TimeOffset); await _announcementService.Update(model); if (!string.IsNullOrWhiteSpace(returnUrl)) { return(Redirect(returnUrl)); } return(RedirectToAction("Index", "Admin")); } catch { return(View(model)); } }
public async Task <ActionResult> Create( string clubInitials, AnnouncementWithOptions model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; try { var clubId = await _clubService.GetClubId(clubInitials); if (!await _authService.CanUserEdit(User, clubId)) { return(Unauthorized()); } model.ClubId = clubId; if (!ModelState.IsValid) { return(View(model)); } model.Content = _sanitizer.Sanitize(model.Content); model.CreatedBy = await GetUserStringAsync(); model.CreatedDate = DateTime.UtcNow; model.CreatedLocalDate = DateTime.UtcNow.AddMinutes(0 - model.TimeOffset); await _announcementService.SaveNew(model); if (!string.IsNullOrWhiteSpace(returnUrl)) { return(Redirect(returnUrl)); } return(RedirectToAction("Index", "Admin")); } catch { AnnouncementWithOptions vm; if (model.RegattaId.HasValue) { vm = await _announcementService.GetBlankAnnouncementForRegatta( clubInitials, model.RegattaId.Value); } else { vm = model; } return(View(vm)); } }