public CongressMembersListViewModel(List <Entities.Congressman> congressmen, Entities.Party party) { PartyName = party?.Entity.Name ?? "No party"; foreach (var congressman in congressmen) { Members.Add(new CongressMemberViewModel(congressman)); } }
public PartyInfoViewModel(Entities.Party party) { var citizen = SessionHelper.LoggedCitizen; var entity = SessionHelper.CurrentEntity; var isActingAsParty = entity.EntityID == party.ID; PartyRoleEnum userPartyRole = PartyRoleEnum.NotAMember; if (citizen.PartyMember != null && citizen.PartyMember.PartyID == party.ID) { userPartyRole = (PartyRoleEnum)citizen.PartyMember.PartyRoleID; } PartyAvatar = new ImageViewModel(party.Entity.ImgUrl); PartyName = party.Entity.Name; PartyCountry = party.Country.Entity.Name; JoinMethod = (JoinMethodEnum)party.JoinMethodID; PartyRole = userPartyRole; PartyID = party.ID; IsActingAsParty = isActingAsParty; MemberCount = party.PartyMembers.Count; CongressmenCount = party.PartyMembers.Where(pm => pm.Citizen.Congressmen.Any(c => c.CountryID == party.CountryID)).Count(); if (entity.GetEntityType() == EntityTypeEnum.Citizen && PartyRole == PartyRoleEnum.NotAMember) { var partyService = DependencyResolver.Current.GetService <IPartyService>(); if (party.JoinMethodID == (int)JoinMethodEnum.Invite) { var invite = citizen .PartyInvites.FirstOrDefault(i => i.PartyID == party.ID); if (invite != null) { CanAcceptJoinOffer = true; InviteID = invite.ID; } } else if (party.JoinMethodID == (int)JoinMethodEnum.Request) { var request = citizen.PartyJoinRequests.FirstOrDefault(i => i.PartyID == party.ID); if (request != null) { HasSendJoinRequest = true; RequestID = request.ID; } else if (partyService.CanSendJoinRequest(citizen, party, message: "").isSuccess) { CanSendJoinRequest = true; } } } if (PartyRole >= PartyRoleEnum.Manager) { AvatarChange = new AvatarChangeViewModel(party.ID); } CanSeeInvites = JoinMethod == JoinMethodEnum.Invite && PartyRole >= PartyRoleEnum.Manager; CanSeeRequests = JoinMethod == JoinMethodEnum.Request && PartyRole >= PartyRoleEnum.Manager; createMenu(); }