public IActionResult BroadcastCreate() { var viewModel = new BroadcastDetailViewModel { Action = "Create" }; PageTitle = "Create Broadcast"; return(View("BroadcastDetail", viewModel)); }
public async Task <IActionResult> BroadcastCreate(BroadcastDetailViewModel model) { if (model == null) { return(RedirectToAction(nameof(BroadcastCreate))); } if (!model.SendNow) { if (model.Broadcast.SendAt == null) { ModelState.AddModelError("Broadcast.SendAt", "Please select a date to send the Broadcast."); } else if (model.Broadcast.SendAt < _dateTimeProvider.Now) { ModelState.AddModelError("Broadcast.SendAt", "Please select a date not in the past."); } } if (ModelState.IsValid) { try { if (model.SendNow) { model.Broadcast.SendAt = _dateTimeProvider.Now; } await _mailService.AddBroadcastAsync(model.Broadcast); ShowAlertSuccess($"Broadcast {model.Broadcast.Subject} successfully scheduled."); return(RedirectToAction("Broadcasts", new { Upcoming = (model.SendNow ? "False" : null) })); } catch (GraException gex) { ShowAlertDanger("Unable to create broadcast: ", gex); } } return(View("BroadcastDetail", model)); }
public async Task <IActionResult> BroadcastEdit(int id) { var viewModel = new BroadcastDetailViewModel { Broadcast = await _mailService.GetBroadcastByIdAsync(id), Action = "Edit" }; if (viewModel.Broadcast.SendAt <= _dateTimeProvider.Now) { viewModel.Sent = true; PageTitle = "View Broadcast"; } else { PageTitle = "Edit Broadcast"; } return(View("BroadcastDetail", viewModel)); }