示例#1
0
        public JsonResult RemoveInvite(int citizenID, int partyID)
        {
            var          invite = partyInviteRepository.FirstOrDefault(i => i.CitizenID == citizenID && i.PartyID == partyID);
            MethodResult result;

            if ((result = partyService.CanRemoveInvite(invite, SessionHelper.LoggedCitizen)).IsError)
            {
                return(JsonError(result));
            }
            var citizenName = invite.Citizen.Entity.Name;

            partyService.RemoveInvite(invite);
            return(JsonSuccess($"You successfully removed {citizenName} invite."));
        }
示例#2
0
        public MethodResult CanInviteCitizen(Citizen invitingCitizen, Party party, Citizen invitedCitizen)
        {
            if (invitingCitizen == null)
            {
                return(new MethodResult("Citizen does not exist!"));
            }

            if (party == null)
            {
                return(new MethodResult("Party does not exist!"));
            }

            if (invitedCitizen == null)
            {
                return(new MethodResult("Citizen does not exist!"));
            }

            if (invitedCitizen.PartyMember != null)
            {
                return(new MethodResult("Citizen is already member of another party!"));
            }

            MethodResult result;

            if ((result = IsPartyMember(invitingCitizen, party)).IsError)
            {
                return(result);
            }

            if (party.JoinMethodID != (int)JoinMethodEnum.Invite)
            {
                return(new MethodResult("Party does not allow to invite people!"));
            }

            var invite = partyInviteRepository.FirstOrDefault(i => i.PartyID == party.ID && i.CitizenID == invitedCitizen.ID);

            if (invite != null)
            {
                return(new MethodResult("Citizen is already invited!"));
            }

            return(MethodResult.Success);
        }