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"));
            }
        }