public async Task <ActionResult> Teams() { TeamViewModel model = new TeamViewModel(); await model.Load(); return(View(model)); }
public async Task <ActionResult> TeamDetails(string id) { TeamViewModel model = new TeamViewModel(); if (id != "-1") { await model.Load(id); } else { var allCountries = await model.GetAllCountry(); model.CountrySelectList = allCountries.Select(c => new SelectListItem { Value = c.Id, Text = c.Name }).ToList(); } return(View(model)); }
public async Task <ActionResult> GetInstallDetailPartial(string teamId, string installId) { try { var viewModel = new TeamViewModel(); await viewModel.Load(teamId); var install = viewModel.Team.TeamInstall.TeamInstalls.FirstOrDefault(x => x.Id == installId); ViewData["TeamId"] = teamId; var playViewModel = new PlayViewModel(); await playViewModel.Load(teamId); var coachUsers = playViewModel.TeamUsers.Where(x => x.Roles.Contains("Coach")).ToList(); ViewData["Users"] = coachUsers; return(PartialView("_AddEditTeamInstall", install)); } catch (Exception ex) { return(null); } }
public async Task <ActionResult> GetPlayDetail(string teamId, string playId, string playbookType) { try { var viewModel = new TeamViewModel(); await viewModel.Load(teamId); var play = viewModel.Team.Plays.FirstOrDefault(x => x.Id == playId); play.RecommendedPlayList = JsonConvert.SerializeObject(play.RecommendedPlays); ViewData["TeamId"] = teamId; ViewData["PlaybookType"] = playbookType; if (playbookType == "Offense") { var defensePlaybooks = viewModel.Team.Playbooks.Where(x => x.PlaybookType.Name == "Defense" || x.PlaybookType.FriendlyName == "Defense").Select(x => x.Id).ToList(); ViewData["RecommendedPlays"] = viewModel.Team.Plays.Where(x => defensePlaybooks.Contains(x.PlaybookId)).ToList(); } else if (playbookType == "Defense") { var offensePlaybooks = viewModel.Team.Playbooks.Where(x => x.PlaybookType.Name == "Offense" || x.PlaybookType.FriendlyName == "Offense").Select(x => x.Id).ToList(); ViewData["RecommendedPlays"] = viewModel.Team.Plays.Where(x => offensePlaybooks.Contains(x.PlaybookId)).ToList(); } else if (playbookType == "Special Team") { var specialPlaybooks = viewModel.Team.Playbooks.Where(x => x.PlaybookType.Name == "Special Team" || x.PlaybookType.FriendlyName == "Special Team").Select(x => x.Id).ToList(); ViewData["RecommendedPlays"] = viewModel.Team.Plays.Where(x => specialPlaybooks.Contains(x.PlaybookId)).ToList(); } else { ViewData["RecommendedPlays"] = viewModel.Team.Plays.ToList(); } return(PartialView("_AddPlayForm", play)); } catch (Exception ex) { return(null); } }
public async Task <ActionResult> TeamDetails([Bind(Include = "Team, Team.TeamUsers,Playbooks,Team.Plays,TeamInstall")] TeamViewModel model) { var allCountries = await model.GetAllCountry(); if (ModelState.IsValid) { var country = allCountries.FirstOrDefault(x => x.Id == model.Team.CountryId); model.Team.Country = country.Name; var response = await model.CreateUpdateTeam(); if (response != null) { TempData["ErrorMessage"] = "Team saved successully"; await model.Load(response.Id); } else { TempData["ErrorMessage"] = "There is some problem in saving team"; } } //re-fill data to display -- load differently because the team object is edited by user so if we get team detail it will be overwritten. model.CountrySelectList = allCountries.Select(c => new SelectListItem { Value = c.Id, Text = c.Name }).ToList(); model.Team.TeamInstall = await model.GetAllTeamInstalledByTeamId(model.Team.Id); model.Team.TeamUsers = await model.GetUsersByTeamId(model.Team.Id); model.Team.Plays = await model.GetAllPlaysByTeamId(model.Team.Id); model.Team.Playbooks = await model.GetAllPlaybooksByTeamId(model.Team.Id); return(View(model)); }
public async Task <ActionResult> SavePlay(string teamId, Models.TeamManagement.Play play) { var viewModel = new TeamViewModel(); play.TeamId = teamId; await viewModel.Load(teamId); if (Request.Form["PlaybookType"] == "Offense") { if (viewModel.Team.Playbooks.FirstOrDefault(x => x.PlaybookType.Name == Request.Form["PlaybookType"] || x.PlaybookType.FriendlyName == Request.Form["PlaybookType"]) != null) { play.PlaybookId = viewModel.Team.Playbooks.FirstOrDefault(x => x.PlaybookType.Name == Request.Form["PlaybookType"] || x.PlaybookType.FriendlyName == Request.Form["PlaybookType"]).Id; } else { PlayBook newPlaybook = new PlayBook(); newPlaybook.TeamId = teamId; newPlaybook.PlaybookType = new PlaybookTypes { Name = "Offense", FriendlyName = "Offense" }; var playBookResult = await viewModel.CreateUpdateTeamPlayBook(newPlaybook); play.PlaybookId = playBookResult.Id; } } else if (Request.Form["PlaybookType"] == "Defense") { if (viewModel.Team.Playbooks.FirstOrDefault(x => x.PlaybookType.Name == Request.Form["PlaybookType"] || x.PlaybookType.FriendlyName == Request.Form["PlaybookType"]) != null) { play.PlaybookId = viewModel.Team.Playbooks.FirstOrDefault(x => x.PlaybookType.Name == Request.Form["PlaybookType"] || x.PlaybookType.FriendlyName == Request.Form["PlaybookType"]).Id; } else { PlayBook newPlaybook = new PlayBook(); newPlaybook.TeamId = teamId; newPlaybook.PlaybookType = new PlaybookTypes { Name = "Defense", FriendlyName = "Defense" }; var playResult = await viewModel.CreateUpdateTeamPlayBook(newPlaybook); play.PlaybookId = playResult.Id; } } else if (Request.Form["PlaybookType"] == "Special Team") { if (viewModel.Team.Playbooks.FirstOrDefault(x => x.PlaybookType.Name == Request.Form["PlaybookType"] || x.PlaybookType.FriendlyName == Request.Form["PlaybookType"]) != null) { play.PlaybookId = viewModel.Team.Playbooks.FirstOrDefault(x => x.PlaybookType.Name == Request.Form["PlaybookType"] || x.PlaybookType.FriendlyName == Request.Form["PlaybookType"]).Id; } else { PlayBook newPlaybook = new PlayBook(); newPlaybook.TeamId = teamId; newPlaybook.PlaybookType = new PlaybookTypes { Name = "Special Team", FriendlyName = "Special Team" }; var playResult = await viewModel.CreateUpdateTeamPlayBook(newPlaybook); play.PlaybookId = playResult.Id; } } play.RecommendedPlays = Request.Form["RecommendedPlaysHidden"].Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => new RecommendedPlay { PlayId = x }).ToList(); play.TeamName = viewModel.Team.Name; play.OffenseFormation.Name = play.OffenseFormation.FriendlyDisplay; play.DefenseFormation = new Models.TeamManagement.DefenseFormation(); play.DefenseFormation.Name = "Defense"; play.DefenseFormation.FriendlyDisplay = "Defense"; play.DefenseFormation.Id = 1; if (ModelState.IsValid) { if (Request.Files.Count > 0) { if (Request.Files.AllKeys.Contains("filepreview")) { var file = Request.Files["filepreview"]; MemoryStream target = new MemoryStream(); file.InputStream.CopyTo(target); byte[] data = target.ToArray(); if (data.Length > 0) { play.PreviewUrl = await viewModel.UploadPreview(viewModel.Team.Name, "0", file.FileName, data, file.ContentLength, "UploadPreviewFiles", file.ContentType); } } if (Request.Files.AllKeys.Contains("file")) { var file = Request.Files["file"]; MemoryStream target = new MemoryStream(); file.InputStream.CopyTo(target); byte[] data = target.ToArray(); if (data.Length > 0) { play.SvgUrl = await viewModel.UploadPreview(viewModel.Team.Name, "0", file.FileName, data, file.ContentLength, "uploadedFile", file.ContentType); } } } if (await viewModel.SavePlay(play)) { TempData["ErrorMessage"] = "New play has been added to team"; } else { TempData["ErrorMessage"] = "There is some problem in adding play to team"; } } else { TempData["ErrorMessage"] = "Please review fields"; } ActionResult result; result = RedirectToAction("Library", new { teamId = teamId }); return(await Task.FromResult(result)); }