using System; using System.Collections.Generic; using Sozsoft.Platform.Identity.Dto; using Volo.Abp.Application.Dtos; namespace Sozsoft.Platform.Intranet; public class SocialPostDto : FullAuditedEntityDto { public Guid? UserId { get; set; } public UserInfoViewModel? User { get; set; } public string Content { get; set; } public int LikeCount { get; set; } public bool IsLiked { get; set; } public bool IsOwnPost { get; set; } public SocialLocationDto? Location { get; set; } public SocialMediaDto? Media { get; set; } public List Comments { get; set; } public List Likes { get; set; } } public class SocialLocationDto : FullAuditedEntityDto { public Guid SocialPostId { get; set; } public string Name { get; set; } public string? Address { get; set; } public double? Lat { get; set; } public double? Lng { get; set; } public string? PlaceId { get; set; } } public class SocialMediaDto : FullAuditedEntityDto { public Guid SocialPostId { get; set; } public string Type { get; set; } // image | video | poll public string[] Urls { get; set; } // Poll Fields public string? PollQuestion { get; set; } public int? PollTotalVotes { get; set; } public DateTime? PollEndsAt { get; set; } public string? PollUserVoteId { get; set; } public List PollOptions { get; set; } } public class SocialPollOptionDto : FullAuditedEntityDto { public Guid SocialMediaId { get; set; } public string Text { get; set; } public int Votes { get; set; } } public class SocialCommentDto : FullAuditedEntityDto { public Guid SocialPostId { get; set; } public Guid? UserId { get; set; } public UserInfoViewModel? User { get; set; } public string Content { get; set; } } public class SocialLikeDto : FullAuditedEntityDto { public Guid SocialPostId { get; set; } public Guid? UserId { get; set; } public UserInfoViewModel? User { get; set; } }