From 314905551083d0123a1b978cd325c5993dda44a1 Mon Sep 17 00:00:00 2001
From: snemeckayova <514641@mail.muni.cz>
Date: Tue, 5 Nov 2024 17:29:34 +0100
Subject: [PATCH] Add EventComment DTOs

---
 .../EventComment/EventCommentCreateDTO.cs     | 19 +++++++++++++++++++
 .../DTOs/EventComment/EventCommentDTO.cs      | 19 +++++++++++++++++++
 .../EventComment/EventCommentUpdateDTO.cs     | 11 +++++++++++
 3 files changed, 49 insertions(+)
 create mode 100644 BusinessLayer/DTOs/EventComment/EventCommentCreateDTO.cs
 create mode 100644 BusinessLayer/DTOs/EventComment/EventCommentDTO.cs
 create mode 100644 BusinessLayer/DTOs/EventComment/EventCommentUpdateDTO.cs

diff --git a/BusinessLayer/DTOs/EventComment/EventCommentCreateDTO.cs b/BusinessLayer/DTOs/EventComment/EventCommentCreateDTO.cs
new file mode 100644
index 0000000..e2abbdd
--- /dev/null
+++ b/BusinessLayer/DTOs/EventComment/EventCommentCreateDTO.cs
@@ -0,0 +1,19 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace BusinessLayer.DTOs.EventComment
+{
+    public class EventCommentCreateDTO
+    {
+        [Required]
+        public Guid PosterId { get; set; }
+
+        [Required]
+        public Guid EventId { get; set; }
+
+        public Guid? ParentCommentId { get; set; }
+
+        [Required]
+        [MaxLength(1800)]
+        public string Content { get; set; }
+    }
+}
diff --git a/BusinessLayer/DTOs/EventComment/EventCommentDTO.cs b/BusinessLayer/DTOs/EventComment/EventCommentDTO.cs
new file mode 100644
index 0000000..4e75a49
--- /dev/null
+++ b/BusinessLayer/DTOs/EventComment/EventCommentDTO.cs
@@ -0,0 +1,19 @@
+using BusinessLayer.DTOs.Event;
+using BusinessLayer.DTOs.User;
+
+namespace BusinessLayer.DTOs.EventComment
+{
+    public class EventCommentDTO
+    {
+        public Guid Id { get; set; }
+        public UserDTO? Poster { get; set; }
+        public Guid EventId { get; set; }
+        public EventDTO? Event { get; set; }
+        public Guid? ParentCommentId { get; set; }
+        public List<EventCommentDTO> ChildComments { get; set; } = new List<EventCommentDTO>();
+        public required string Content { get; set; }
+        public DateTime CreatedAt { get; set; }
+        public DateTime UpdatedAt { get; set; }
+        public DateTime? DeletedAt { get; set; }
+    }
+}
diff --git a/BusinessLayer/DTOs/EventComment/EventCommentUpdateDTO.cs b/BusinessLayer/DTOs/EventComment/EventCommentUpdateDTO.cs
new file mode 100644
index 0000000..6754d9d
--- /dev/null
+++ b/BusinessLayer/DTOs/EventComment/EventCommentUpdateDTO.cs
@@ -0,0 +1,11 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace BusinessLayer.DTOs.EventComment
+{
+    public class EventCommentUpdateDTO
+    {
+        [Required]
+        [MaxLength(1800)]
+        public required string Content { get; set; }
+    }
+}
-- 
GitLab