Exemple #1
0
        public async Task <ActionResult> Teams()
        {
            TeamViewModel model = new TeamViewModel();
            await model.Load();

            return(View(model));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
            }
        }
Exemple #5
0
        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));
        }