public Team CreateTeam(Team team) { if (_teamRepo.All().Any(i => i.Name == team.Name.Trim())) { throw new ApplicationException(string.Format("A Team called {0} already exists.", team.Name)); } Data.AvatarType avatar = null; if(!String.IsNullOrEmpty(team.AvatarName)) { avatar = _teamRepo.GetAvatar(team.AvatarName); } else { avatar = _teamRepo.GetDefaultAvatar(); } Data.Team newTeam = new Data.Team() { Name = team.Name, AvatarType = avatar }; newTeam.TeamMembers.Add(new Data.TeamMember() { UserId = CurrentUserName, IsAdmin = true }); _teamRepo.Create(newTeam); _teamRepo.SaveChanges(); return new Team() { AvatarName = newTeam.AvatarType.Value, Id = newTeam.Id, Name = newTeam.Name, TeamLeadName = newTeam.TeamMembers.Where(i => i.IsAdmin).First().UserId }; }
internal void JoinTeam(Team team) { var teamEntry = _teamRepo.FindById(team.Id); if (teamEntry == null) { throw new ApplicationException("Team not found."); } string user = CurrentUserName; if(!teamEntry.TeamMembers.Any(i=>i.UserId == user)) { teamEntry.TeamMembers.Add(new Data.TeamMember() { UserId = user, IsAdmin = false }); _teamRepo.SaveChanges(); } }
public IHttpActionResult Put(int id, Team team) { if (ModelState.IsValid) { if (TeamLogic.TeamExists(id)) { team.Id = id; TeamLogic.UpdateTeam(team); return Ok(); } else { return NotFound(); } } else { return BadRequest(ModelState); } }
internal IEnumerable<Goal> ListGoalsForTeam(Team team) { return _goalRepository.GetGoalsForTeam(team.Id) .Select(i => new Goal() { Id = i.Id, DimensionId = i.Capabilty.DimensionId, DimensionText = i.Capabilty.Dimension.Name, CapabilityId = i.CapabiltyId, CapabilityText = i.Capabilty.Description, DueDate = i.DueDate, Notes = i.Description, Completed = i.Completed }); }
public IHttpActionResult Post(Team team) { if (ModelState.IsValid) { Team result = TeamLogic.CreateTeam(team); return Content<Team>(HttpStatusCode.Created, result); } else { return BadRequest(ModelState); } }