public IHttpActionResult Invite(long teamId, string toId, string fromId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Membership Inviter = Logic.GetByTeamAndAccount(teamId, fromId); Membership Invitee = Logic.GetByTeamAndAccount(teamId, toId); if (Inviter != null) { if (Invitee == null) { return(Ok(Logic.Create(new Membership { AccountId = toId, TeamId = teamId, Status = MembershipStatus.Invited, Date = DateTime.UtcNow }))); } else if (Invitee.Status == MembershipStatus.Left) { Invitee.Status = MembershipStatus.Invited; return(Ok(Logic.Update(Invitee))); } else { return(BadRequest("The invitee is already in the team, invited or banned.")); } } else { return(BadRequest("The inviter doesn't exist")); } }
public IHttpActionResult Post(string id, Team team) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Logic.Create(team); MemLogic.Create(new Membership { AccountId = id, Status = MembershipStatus.Admin, TeamId = team.Id, Date = DateTime.UtcNow }); return(Ok(team)); }