public List <WritingAssignment> SeachForWritingAssignment(WritingAssignmentSearchDTO WritingAssignmentSearchDTO)
        {
            WritingAssignmentSearchDTO.Name = WritingAssignmentSearchDTO.Name.ToLower();
            List <WritingAssignment> WritingAssignments;

            if (WritingAssignmentSearchDTO.Name.Length > 0 && WritingAssignmentSearchDTO.TemplateID > -1)
            {
                return(WritingAssignments = Data.WritingAssignments.Where(p => p.Title.ToLower().Contains(WritingAssignmentSearchDTO.Name) || p.TemplateId == WritingAssignmentSearchDTO.TemplateID).ToList());
            }
            else if (WritingAssignmentSearchDTO.TemplateID > -1 && WritingAssignmentSearchDTO.Name.Length == 0)
            {
                return(WritingAssignments = Data.WritingAssignments.Where(p => p.TemplateId == WritingAssignmentSearchDTO.TemplateID).ToList());
            }
            else if (WritingAssignmentSearchDTO.TemplateID < 0 && WritingAssignmentSearchDTO.Name.Length > 0)
            {
                return(WritingAssignments = Data.WritingAssignments.Where(p => p.Title.ToLower().Contains(WritingAssignmentSearchDTO.Name)).ToList());
            }
            return(new List <WritingAssignment>());
        }
        public List <WritingAssignment> SearchForWritingAssignmentsWithThemes(WritingAssignmentSearchDTO writingAssignmentSearch)
        {
            writingAssignmentSearch.Name = writingAssignmentSearch.Name.ToLower();
            List <WritingAssignment> writingAssignments = new List <WritingAssignment>();
            Dictionary <int, string> foundId            = new Dictionary <int, string>();

            foreach (var lesson in Data.WritingThemes)
            {
                foreach (string theme in writingAssignmentSearch.Themes)
                {
                    if (theme == lesson.ThemeName)
                    {
                        if (foundId.GetValueOrDefault(lesson.WritingAssignemntId) is null)
                        {
                            writingAssignments.Add(Data.WritingAssignments.Find(lesson.WritingAssignemntId));
                            foundId.Add(lesson.WritingAssignemntId, "");
                        }
                        break;
                    }
                }
            }
            if (writingAssignmentSearch.Name != "")
            {
                foreach (var lesson in Data.WritingAssignments)
                {
                    if (foundId.GetValueOrDefault(lesson.WritingAssignmentId) is null && lesson.Title.ToLower().Contains(writingAssignmentSearch.Name))
                    {
                        writingAssignments.Add(lesson);
                        foundId.Add(lesson.WritingAssignmentId, "");
                    }
                }
            }
            List <WritingAssignment> finalized = writingAssignments.Where(l => l != null).ToList();

            return(writingAssignments);
        }