using Postall.Domain.Entities; using System; namespace Postall.Domain.Dtos { public class VideoResponse { public string Id { get; set; } public string VideoId { get; set; } public string ChannelId { get; set; } public string Title { get; set; } public string Description { get; set; } public string ThumbnailUrl { get; set; } public DateTime PublishedAt { get; set; } public ulong ViewCount { get; set; } public ulong LikeCount { get; set; } public ulong DislikeCount { get; set; } public ulong CommentCount { get; set; } } public static class VideoDataExtensions { public static VideoResponse ToVideoResponse(this VideoData videoData) { if (videoData == null) return null; return new VideoResponse { Id = videoData.Id, VideoId = videoData.VideoId, ChannelId = videoData.ChannelId, Title = videoData.Title, Description = videoData.Description, ThumbnailUrl = videoData.ThumbnailUrl, PublishedAt = videoData.PublishedAt, ViewCount = videoData.ViewCount, LikeCount = videoData.LikeCount, DislikeCount = videoData.DislikeCount, CommentCount = videoData.CommentCount }; } public static VideoData ToVideoData(this VideoResponse videoResponse) { if (videoResponse == null) return null; return new VideoData { Id = videoResponse.Id, VideoId = videoResponse.VideoId, ChannelId = videoResponse.ChannelId, Title = videoResponse.Title, Description = videoResponse.Description, ThumbnailUrl = videoResponse.ThumbnailUrl, PublishedAt = videoResponse.PublishedAt, ViewCount = videoResponse.ViewCount, LikeCount = videoResponse.LikeCount, DislikeCount = videoResponse.DislikeCount, CommentCount = videoResponse.CommentCount }; } } }