public ActionResult <List <string> > UploadComplaintPictures([FromBody] List <ComplaintPicture> pictures, int cid)
        {
            Directory.CreateDirectory(PICTURE_UPLOAD_PATH);
            var pictureNames = new List <string>();

            foreach (var picture in pictures)
            {
                if (picture.Data.Length > 0)
                {
                    var fileName = $"CID_{cid}_{Guid.NewGuid()}{Path.GetExtension(picture.FileName)}";
                    var filePath = Path.Combine(PICTURE_UPLOAD_PATH, fileName);
                    var bytes    = Convert.FromBase64String(picture.Data);
                    File.WriteAllBytes(filePath, bytes);
                    pictureNames.Add($"/api/complaints/pictures/get/{fileName}");
                }
            }

            var dao = new ComplaintsDao();

            return(dao.InsertComplaintPictures(cid, pictureNames));
        }
        public ActionResult <List <string> > GetDefaultComplaintTitles(int id)
        {
            var dao = new ComplaintsDao();

            return(dao.GetDefaultComplaintTitles(id));
        }
        public ActionResult <Complaint> CreateComplaint([FromBody] Complaint complaint)
        {
            var dao = new ComplaintsDao();

            return(dao.CreateComplaint(complaint));
        }
        public ActionResult <List <string> > GetComplaintPictures(int id)
        {
            var dao = new ComplaintsDao();

            return(dao.GetComplaintPictures(id));
        }
        public ActionResult <List <ComplaintCategory> > GetAllComplaintCategories()
        {
            var dao = new ComplaintsDao();

            return(dao.GetAllComplaintCategories());
        }
        public ActionResult <Complaint> UpdateComplaintStarStatus(int id, int star)
        {
            var dao = new ComplaintsDao();

            return(dao.UpdateComplaintStarStatus(id, star == 1));
        }
        public ActionResult <Complaint> GetComplaintById(int id)
        {
            var dao = new ComplaintsDao();

            return(dao.GetComplaintById(id));
        }
        public ActionResult <List <Complaint> > GetComplaintsByCaretaker(int cid, [FromQuery(Name = "len")] int len)
        {
            var dao = new ComplaintsDao();

            return(dao.GetComplaintsByCaretaker(cid, len));
        }
        public ActionResult <List <Complaint> > GetComplaintsByStudent(int sid, [FromQuery(Name = "len")] int len)
        {
            var dao = new ComplaintsDao();

            return(dao.GetComplaintsByStudent(sid, len));
        }
        public ActionResult <Complaint> MarkComplaintAsResolved(int id)
        {
            var dao = new ComplaintsDao();

            return(dao.MarkComplaintAsResolved(id));
        }