示例#1
0
 public ViewMessageViewModel(Message message)
 {
     Content      = new Markdown().Transform(message.Content);
     AuthorAvatar = new SmallEntityAvatarViewModel(message?.AuthorID, message?.Author?.Name, message?.Author?.ImgUrl);
     DateTooltip  = string.Format("Day {0} {1}", message.Day, message.Date.ToString("HH:mm"));
     Date         = AgoHelper.Ago(GameHelper.CurrentDay, DateTime.Now, message.Day, message.Date);
 }
            public BusinessViewModel(Business business)
            {
                ID        = business.BusinessID;
                ShortName = Name = business.BusinessName;
                CanSwitch = business.CanSwitchInto;
                Avatar    = new SmallEntityAvatarViewModel(ID, Name, business.BusinessImgUrl)
                            .DisableNameInclude();

                if (ShortName.Length > 15)
                {
                    ShortName = $"{ShortName.Substring(0, 12)}...";
                }

                if (business.CanSwitchInto && business.Warnings.HasValue)
                {
                    Warnings = $"{business.Warnings}";
                    if (business.UnreadWarnings.HasValue)
                    {
                        Warnings += $" ({business.UnreadWarnings} unread)";
                    }
                }

                if (business.CanSwitchInto && business.Messages.HasValue)
                {
                    Messages = $"{business.Messages}";
                    if (business.UnreadMessages.HasValue)
                    {
                        Messages += $" ({business.UnreadMessages} unread)";
                    }
                }
            }
 public PartyJoinRequestsListItemViewModel(PartyJoinRequest request)
 {
     ID          = request.ID;
     Avatar      = new SmallEntityAvatarViewModel(request.Citizen.Entity);
     Message     = request.Message;
     RequestDay  = request.Day;
     RequestTime = request.DateTime;
 }
 public PartyInviteListItemViewModel(PartyInvite invite)
 {
     InviteID    = invite.ID;
     PartyID     = invite.PartyID;
     PartyName   = invite.Party.Entity.Name;
     PartyAvatar = new SmallEntityAvatarViewModel(invite.Party.Entity)
                   .DisableNameInclude();
 }
示例#5
0
 public DevIssueCommentViewModel(DevIssueComment comment)
 {
     Avatar     = new SmallEntityAvatarViewModel(comment.Citizen.Entity);
     Day        = comment.Day;
     Hour       = comment.Time.ToShortTimeString();
     Content    = comment.Content;
     Visibility = ((VisibilityOptionEnum)comment.VisibilityOptionID).ToString();
 }
示例#6
0
            public HotelShortViewModel(Hotel hotel)
            {
                ID     = hotel.ID;
                Avatar = new SmallEntityAvatarViewModel(hotel.Entity)
                         .DisableNameInclude();
                Name = Avatar.Name;

                FreeRooms = hotel.HotelRooms.Count(r => r.InhabitantID.HasValue == false);
            }
示例#7
0
        public ManagerViewModel(CompanyManager manager)
        {
            var entity = manager.Entity;

            Avatar    = new SmallEntityAvatarViewModel(entity);
            Title     = "Manager";
            Rights    = new CompanyRights(manager);
            ManagerID = manager.ID;
        }
示例#8
0
        public DevIssueViewModel(DevIssue issue)
        {
            ID      = issue.ID;
            Name    = issue.Name;
            Content = issue.Content;

            PlayerType       = SessionHelper.LoggedCitizen.GetPlayerType();
            Day              = issue.Day;
            Time             = issue.Time.ToShortTimeString();
            Avatar           = new SmallEntityAvatarViewModel(issue.Citizen.Entity);
            Avatar.Classname = "avatar";

            Files = issue.DevIssueUploadedFiles.ToList()
                    .Select(f => new DevIssueUploadedFileViewModel(f)).ToList();



            var actualLabels = issue.DevIssueLabelTypes.ToList();


            foreach (var label in Enum.GetValues(typeof(DevIssueLabelTypeEnum)).Cast <DevIssueLabelTypeEnum>())
            {
                var item = new SelectListItem()
                {
                    Text     = label.ToString(),
                    Value    = ((int)label).ToString(),
                    Selected = actualLabels.Any(l => l.ID == (int)label)
                };

                LabelTypes.Add(item);
            }

            foreach (var visibility in Enum.GetValues(typeof(VisibilityOptionEnum)).Cast <VisibilityOptionEnum>())
            {
                var item = new SelectListItem()
                {
                    Text     = visibility.ToString(),
                    Value    = ((int)visibility).ToString(),
                    Selected = issue.VisibilityOptionID == (int)visibility
                };

                VisiblityOptions.Add(item);
            }

            foreach (var label in actualLabels)
            {
                labelIDs.Add(label.ID);
                Labels.Add(new DevIssueLabelViewModel(label));
            }

            Score     = ScoreHelper.ToString(issue.DevIssueVotes.Sum(v => v.Score));
            CanVote   = issue.DevIssueVotes.Any(v => v.CitizenID == SessionHelper.LoggedCitizen.ID) == false;
            CanUnvote = !CanVote;

            loadComments(issue);
        }
示例#9
0
 public HotelRoomViewModel(HotelRoomModel room)
 {
     InhabitantID      = room.InhabitantID;
     InhabitantName    = room.InhabitantName;
     InhabitantLastDay = room.ToDay;
     Quality           = room.Quality;
     ID     = room.ID;
     Avatar = new SmallEntityAvatarViewModel(room.InhabitantID, "", room.InhabitantImgUrl)
              .DisableNameInclude();
 }
示例#10
0
 public HotelManagerViewModel(int hotelID, HotelManagerModel manager, HotelRights rights, string title = "Manager")
 {
     HotelID   = hotelID;
     CitizenID = manager.ManagerID;
     Avatar    = new SmallEntityAvatarViewModel(manager.ManagerID, manager.ManagerName, manager.ImgURL);
     Rights    = manager.HotelRights;
     ReadOnly  =
         rights.CanManageManagers == false || rights.Priority <= manager.HotelRights.Priority;
     Title = title;
 }
示例#11
0
        public CountryRegionHospitalInformation(Hospital hospital)
        {
            Quality = hospital.Company.Quality;
            var entity = hospital.Company.Entity;

            HospitalID   = hospital.CompanyID;
            HospitalName = entity.Name;

            Avatar = new SmallEntityAvatarViewModel(entity);
            Avatar.DisableNameInclude();
        }
        public NationalConstructionItemViewModel(NationalConstruction construction, IConstructionService constructionService)
        {
            RegionID       = construction.RegionID;
            RegionName     = construction.RegionName;
            ConstructionID = construction.ConstructionID;
            Avatar         = new SmallEntityAvatarViewModel(construction.ConstructionID, construction.ConstructionName, Images.UnderConstruction.Path)
                             .DisableNameInclude();

            Quality  = construction.Quality;
            Progress = ((double)construction.Progress / constructionService.GetProgressNeededToBuild(construction.ProductType, construction.Quality)) * 100.0;;
            Progress = Math.Round(Progress, 1);
        }
示例#13
0
        public CompanyManagementViewModel(Company company)
        {
            Info = new CompanyInfoViewModel(company);

            if (company.OwnerID.HasValue)
            {
                Founder = new SmallEntityAvatarViewModel(company.Owner);
            }

            foreach (var manager in company.CompanyManagers.ToList())
            {
                Managers.Add(new SmallEntityAvatarViewModel(manager.Entity));
            }
        }
示例#14
0
        public PartyMemberListViewModel(Entities.Party party, List <PartyMember> members)
        {
            Info = new PartyInfoViewModel(party);

            var president = members.FirstOrDefault(m => m.PartyRoleID == (int)PartyRoleEnum.President);

            if (president != null)
            {
                President = new SmallEntityAvatarViewModel(president.Citizen.Entity);
            }

            Managers = members.Where(m => m.PartyRoleID == (int)PartyRoleEnum.Manager)
                       .Select(m => new SmallEntityAvatarViewModel(m.Citizen.Entity)).ToList();

            Members = members.Where(m => m.PartyRoleID == (int)PartyRoleEnum.Member)
                      .Select(m => new SmallEntityAvatarViewModel(m.Citizen.Entity)).ToList();
        }
示例#15
0
 public ManagerViewModel(Entity companyOwner)
 {
     Avatar = new SmallEntityAvatarViewModel(companyOwner);
     Title  = "CEO";
     Rights = new CompanyRights(fullRights: true);
 }