public async Task <IActionResult> AddYouthRota(string dateTime, string name, List <string> roles) { if (!roles.Any()) { throw new Exception("No roles added to youth role."); } var date = DateTime.Parse(dateTime); foreach (var role in roles) { try { var rota = new RotaItemDto() { Type = RotaType.YouthClub.ToString(), DateTime = date, Name = name.TrimEnd(), Role = role, Id = Guid.NewGuid().ToString() }; await _rotaService.AddRotaJobs(rota); } catch (Exception e) { if (e.Message == "Already Added") { TempData["Message"] = $"{name} already on rota for {role} on {date.ToShortDateString()}"; return(await LoadYouthRotaView()); } else { throw new Exception("In AddYouthRota", e); } } } TempData["Message"] = $"{name} added to rota on {date.ToShortDateString()}"; return(await LoadYouthRotaView()); }