public HotelInfoViewModel(HotelInfo info) { Name = info.HotelName; ID = info.HotelID; Avatar = new ImageViewModel(info.ImgUrl); ConditionPercent = (int)info.Condition; Condition = (double)info.Condition; RoomsDescription = prepareRoomDescription(info.HotelRoomInfos); HotelRights = info.HotelRights; RegionID = info.RegionID; RegionName = info.RegionName; CountryID = info.CountryID; CountryName = info.CountryName; OwnerID = info.OwnerID; OwnerName = info.OwnerName; Menu = prepareMenu(); ConditionColor = ColorInterpolator .Lerp( Condition / 100.0, Color.Red, Color.Orange, Color.Green).ToHex(); if (HotelRights.AnyRights) { AvatarChange = new AvatarChangeViewModel(ID); } }
public CitizenInfoViewModel(Entities.Citizen citizen, IFriendService friendService) { var entity = citizen.Entity; CitizenName = entity.Name; CitizenID = entity.EntityID; Avatar = new ImageViewModel(entity.ImgUrl); var region = citizen.Entity.GetCurrentRegion(); var country = citizen.Entity.GetCurrentCountry(); RegionName = region.Name; RegionID = region.ID; CountryName = country.Entity.Name; CountryID = country.ID; CitizenshipCountryID = citizen.CitizenshipID; CitizenshipCountryName = Persistent.Countries.GetById(CitizenshipCountryID).Entity.Name; if (citizen.CompanyEmployee != null) { WorkingCompanyID = citizen.CompanyEmployee.CompanyID; WorkingCompanyName = citizen.CompanyEmployee.Company.Entity.Name; } if (citizen.PartyMember != null) { PartyID = citizen.PartyMember.PartyID; PartyName = citizen.PartyMember.Party.Entity.Name; } IsUnderControl = citizen.ID == SessionHelper.CurrentEntity.EntityID; if (IsUnderControl) { AvatarChange = new AvatarChangeViewModel(citizen.ID); } MilitaryRankReadable = StringUtils.FirstToUpper(MilitaryRankEnumExtensions.GetRankForMilitaryRank((double)citizen.MilitaryRank).ToHumanReadable()); var currentCitizen = SessionHelper.CurrentEntity.Citizen; friendshipInit(citizen, friendService, currentCitizen); createMenu(); }
public NewspaperInfoViewModel(Newspaper newspaper, INewspaperService newspaperService) : base(newspaper.Entity) { CountryName = newspaper.Country.Entity.Name; CountryID = newspaper.CountryID; NewspaperRights = newspaperService.GetNewspaperRights(newspaper, SessionHelper.CurrentEntity, SessionHelper.LoggedCitizen); var productRepository = DependencyResolver.Current.GetService <IProductRepository>(); InventoryCapacity = newspaper.Entity.Equipment.ItemCapacity; PaperCount = newspaper.Entity.GetEquipmentItem(ProductTypeEnum.Paper, 1, productRepository).Amount; var owner = newspaper.Owner; OwnerID = owner.EntityID; OwnerName = owner.Name; CanSwitch = NewspaperRights == NewspaperRightsEnum.Full; createMenu(); AvatarChange = new AvatarChangeViewModel(newspaper.ID); }
public CompanyInfoViewModel(Company company) : base(SessionHelper.Session) { var companyService = DependencyResolver.Current.GetService <ICompanyService>(); var regionRepository = DependencyResolver.Current.GetService <IRegionRepository>(); CompanyRights = companyService.GetCompanyRights(company, SessionHelper.CurrentEntity, SessionHelper.LoggedCitizen); var entity = company.Entity; IsEntityThisCompany = SessionHelper.CurrentEntity.EntityID == company.ID; Avatar = new ImageViewModel(entity.ImgUrl); CompanyID = entity.EntityID; CompanyName = entity.Name; Queue = (double)company.Queue; Stock = company.GetProducedProductItem().Amount; Quality = company.Quality; OwnerName = company.Owner?.Name; OwnerID = company.OwnerID; var region = company.Region; var country = region.Country; RegionName = region.Name; RegionID = region.ID; CountryName = country.Entity.Name; CountryID = country.ID; processWorkButton(company); CompanyTypeEnum = (CompanyTypeEnum)company.CompanyTypeID; IsRawCompany = company.CompanyTypeID == (int)CompanyTypeEnum.Producer; if (IsRawCompany) { ResourceTypeEnum resourceType = companyService.GetResourceTypeForProduct((ProductTypeEnum)company.ProductID); var resource = regionRepository.GetResourceForRegion(company.RegionID, resourceType); if (resource != null) { switch (resource.ResourceQuality) { case 1: Fertility = "Low"; break; case 2: Fertility = "Medium"; break; case 3: Fertility = "High"; break; case 4: Fertility = "Abundant"; break; } } } if (CompanyRights.CanUpgradeCompany) { CanShowUpgradeButton = companyService.IsUpgradeAble(company); if (CanShowUpgradeButton) { var canUpgradeResult = companyService.CanUpgradeCompany(company, SessionHelper.CurrentEntity, SessionHelper.LoggedCitizen); if (canUpgradeResult.IsError) { IsUpgradeButtonDisabled = true; UpgradeButtonDisabledReason = canUpgradeResult.ToString(","); } else { UpgradeCost = companyService.GetUpgradeCost(company); UpgradeConstructionCost = companyService.GetUpgradeConstructionPointsNeeded(company); } } } if (CompanyRights.CanSwitch) { AvatarChange = new AvatarChangeViewModel(company.ID); } createMenu(company); }
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(); }