public ActionResult Create(CreateCompetitionParameters parameters, HttpPostedFileBase playersFile, HttpPostedFileBase qualifyingPlayersFile) { var manager = ServiceProvider.Get<ICompetitionsManager>(); var createCompetitionInfo = CreateCompetitionInfo(parameters); if (playersFile.IsNotNull()) { createCompetitionInfo.PlayersFileUrl = AcceptCsvFile(playersFile, "CompetitionPlayers").ToString(); } manager.Create(createCompetitionInfo); return RedirectToAction("Index"); }
public ActionResult ImportPlayers(HttpPostedFileBase competitionsPlayersFile) { if (competitionsPlayersFile.IsNotNull() && competitionsPlayersFile.ContentLength > 0) { var url = AcceptCsvFile(competitionsPlayersFile, "CompetitionPlayers"); var manager = ServiceProvider.Get<ICompetitionsManager>(); try { manager.LoadCompetitionsPlayers(url.ToString()); } catch (Exception anyException) { SystemMonitor.Error(anyException, "Error importing competition players"); ModelState.AddModelError("LoadingCompetitionsFile", anyException.ToString()); return RedirectToAction("Import"); } } return RedirectToAction("Index"); }
public ActionResult Import(HttpPostedFileBase competitionsFile) { if (competitionsFile.IsNotNull() && competitionsFile.ContentLength > 0) { var url = AcceptCsvFile(competitionsFile, "CompetitionPlayers"); var manager = ServiceProvider.Get<ICompetitionsManager>(); var validationResult = manager.ValidateCompetitionsFile(url.ToString()); if (validationResult == LoadCompetitionsValidationResult.Valid) { manager.LoadCompetitions(url.ToString()); } else { ModelState.AddModelError(validationResult.ToString(), TranslateValidationResult(validationResult)); return View(); } } return RedirectToAction("Index"); }
public ActionResult UpdatePlayers(int competitionId, HttpPostedFileBase playersFile) { if (playersFile.IsNotNull() && playersFile.ContentLength > 0) { var manager = ServiceProvider.Get<ICompetitionsManager>(); var url = AcceptCsvFile(playersFile, "CompetitionPlayers"); manager.UpdateCompetitionPlayers(competitionId, url.ToString()); } return RedirectToAction("Details", new { id = competitionId }); }