//It is assumed that all CourseItems are in the same course
        public void SaveCourseItems(IList <CourseItem> cis, int courseId, int motherId = 0)
        {
            CourseItemEntity cie = new CourseItemEntity();
            int ciOrder          = 1;

            foreach (CourseItem ci in cis)
            {
                DeleteCourseItem(ci); //Deletes heading as well if item is a heading

                if (ci.ItemType == ECourseItemType.Heading)
                {
                    CourseMenuHeadings ch = new CourseMenuHeadings();
                    ch.Title = ci.name;
                    rep.CreateHeading(ch);
                    cie.ItemId = ch.HeadingID;
                }
                else
                {
                    cie.ItemId = ci.ItemId;
                }

                cie.CourseId = courseId;
                cie.CIOrder  = ciOrder;
                cie.ItemType = ci.ItemType;
                cie.MotherId = motherId;
                rep.CreateCourseItem(cie);
                ciOrder += 1;
                if (ci.children != null)
                {
                    SaveCourseItems(ci.children, courseId, cie.CourseItemId);
                }
            }
        }
 public void CreateCourseItem(CourseItemEntity t)
 {
     using (IDataContext ctx = DataContext.Instance())
     {
         var rep = ctx.GetRepository<CourseItemEntity>();
         rep.Insert(t);
     }
 }
 public void DeleteCourseItem(CourseItemEntity t)
 {
     using (IDataContext ctx = DataContext.Instance())
     {
         var rep = ctx.GetRepository <CourseItemEntity>();
         rep.Delete(t);
     }
 }
        //It is assumed that all CourseItems are in the same course
        public void SaveCourseItems(IList<CourseItem> cis, int courseId, int motherId = 0)
        {
            CourseItemEntity cie = new CourseItemEntity();
            int ciOrder = 1;
            foreach (CourseItem ci in cis)
            {
                DeleteCourseItem(ci); //Deletes heading as well if item is a heading

                if (ci.ItemType == ECourseItemType.Heading)
                {
                    CourseMenuHeadings ch = new CourseMenuHeadings();
                    ch.Title = ci.name;
                    rep.CreateHeading(ch);
                    cie.ItemId = ch.HeadingID;
                }
                else
                    cie.ItemId = ci.ItemId;

                cie.CourseId = courseId;
                cie.CIOrder = ciOrder;
                cie.ItemType = ci.ItemType;
                cie.MotherId = motherId;
                rep.CreateCourseItem(cie);
                ciOrder += 1;
                if (ci.children != null)
                    SaveCourseItems(ci.children, courseId, cie.CourseItemId);
            }
        }