public PartyMember JoinParty(Citizen who, Party party) { DeleteAllPartyJoinRequests(who); DeleteAllPartyInvites(who); var partyMember = new PartyMember() { Citizen = who, Party = party, PartyRoleID = (int)PartyRoleEnum.Member }; var citizenLink = EntityLinkCreator.Create(who.Entity).ToHtmlString(); var message = $"{citizenLink} joined party."; using (NoSaveChanges) warningService.AddWarning(party.ID, message); partyRepository.AddPartyMember(partyMember); ConditionalSaveChanges(partyRepository); return(partyMember); }