public JsonResult UpdateSettings(int id, TeamSettingsViewModel teamSettings) { var activeUser = this.GetActiveUser(this.Request); if (activeUser == null || !_teamService.CanEdit(id, activeUser.Id)) { throw new HttpException((int)HttpStatusCode.Unauthorized, "Not authorized to edit this team's settings"); } if (id != teamSettings.TeamId) { throw new HttpException((int)HttpStatusCode.Unauthorized, "Team ID mismatch"); } teamSettings = _teamService.UpdateSettings(teamSettings); return(Json(teamSettings)); }
public TeamSettingsViewModel UpdateSettings(TeamSettingsViewModel teamSettings) { using (var entities = Database.GetEntities()) { var teamData = entities.TeamDatas.Single(x => x.Id == teamSettings.TeamId); if (!string.IsNullOrEmpty(teamSettings.Name)) { teamData.Name = teamSettings.Name; } // Update settings if (teamSettings.Settings != null) { var settingsData = entities.TeamSettingsDatas.Single(x => x.TeamId == teamSettings.TeamId); settingsData.ResultsView = teamSettings.Settings.ResultsView; settingsData.ArenaColumn = teamSettings.Settings.ArenaColumn; settingsData.LastNameColumn = teamSettings.Settings.LastNameColumn; settingsData.PositionColumn = teamSettings.Settings.PositionColumn; settingsData.PhoneColumn = teamSettings.Settings.PhoneColumn; settingsData.EmailColumn = teamSettings.Settings.EmailColumn; } // Update privacy if (teamSettings.Privacy != null) { var privacyData = entities.TeamPrivacyDatas.Single(x => x.TeamId == teamSettings.TeamId); privacyData.HomePage = teamSettings.Privacy.HomePage; privacyData.Roster = teamSettings.Privacy.Roster; } entities.SaveChanges(); return(teamSettings); } }
public JsonResult Create(Team team) { var activeUser = this.GetActiveUser(this.Request); if (activeUser == null) { throw new HttpException((int)HttpStatusCode.Unauthorized, "Invalid user"); } var type = team.Type; var prepopulate = team.Prepopulate; var makePublic = team.MakePublic; if (prepopulate) { // User asked us to prepoplate the team with a sample schedule and roster team = new OrchestrationService().CreateSampleTeam(team.Name, activeUser); } else { // Normal, empty team team = _teamService.AddTeam(team, activeUser); } // Set settings var settings = new TeamSettingsViewModel { TeamId = team.Id, Name = team.Name, Privacy = new TeamPrivacyData { HomePage = makePublic, Roster = true }, Settings = new TeamSettingsData { EmailColumn = true } // Defined below }; switch (type) { case "online": settings.Settings.ArenaColumn = false; settings.Settings.LastNameColumn = false; settings.Settings.PositionColumn = true; settings.Settings.PhoneColumn = false; settings.Settings.ResultsView = 1; break; case "club": settings.Settings.ArenaColumn = false; settings.Settings.LastNameColumn = true; settings.Settings.PositionColumn = false; settings.Settings.PhoneColumn = true; settings.Settings.ResultsView = 3; break; default: // & "sports" settings.Settings.ArenaColumn = true; settings.Settings.LastNameColumn = true; settings.Settings.PositionColumn = true; settings.Settings.PhoneColumn = true; settings.Settings.ResultsView = 0; break; } _teamService.UpdateSettings(settings); return(Json(team)); }
public TeamSettingsView() { InitializeComponent(); DataContext = new TeamSettingsViewModel(); }