public IHttpActionResult PostUserCourseLikeInfo(UserCourseLikeInfo userCourseLikeInfo)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.UserCourseLikeInfoes.Add(userCourseLikeInfo);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = userCourseLikeInfo.ID }, userCourseLikeInfo);
        }
        public IHttpActionResult PostDropUserCourseLike(UserCourseLikeInfo id)
        {
            UserCourseLikeInfo userCourseLikeInfo = db.UserCourseLikeInfoes.Find(id.ID);
            if (userCourseLikeInfo == null)
            {
                return NotFound();
            }

            db.UserCourseLikeInfoes.Remove(userCourseLikeInfo);
            db.SaveChanges();

            return Ok(userCourseLikeInfo);
        }
        public IHttpActionResult PostUserLikeInfo(UserCourseLikeInfo userCourseLikeInfo)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var userViewList = (from cat in db.UserCourseViewInfoes
                                where cat.CourseID == userCourseLikeInfo.CourseID && cat.UserID == userCourseLikeInfo.UserID
                                select cat);

            //List<UserCourseViewInfo> lst = userViewList.ToList();
            UserCourseViewInfo userCourseViewInfo = new UserCourseViewInfo();
            if(!userViewList.Any())
            {
                //Add User information in View list
                userCourseViewInfo.CategoryID = userCourseLikeInfo.CategoryID;
                userCourseViewInfo.CourseID = userCourseLikeInfo.CourseID;
                userCourseViewInfo.TenantID = userCourseLikeInfo.TenantID;
                userCourseViewInfo.UserID = userCourseLikeInfo.UserID;
                userCourseViewInfo.ViewDate = DateTime.Now;

                db.UserCourseViewInfoes.Add(userCourseViewInfo);
                db.SaveChanges();

            }

            var userLikeList = (from cat in db.UserCourseLikeInfoes
                                where cat.CourseID == userCourseLikeInfo.CourseID && cat.UserID == userCourseLikeInfo.UserID
                                select cat);

            var userEnrollmentInfo = (from cat in db.UserEnrollmentInfoes
                                where cat.CourseID == userCourseLikeInfo.CourseID && cat.UserID == userCourseLikeInfo.UserID
                                select cat);

            List<Object> lst = new List<object>();
            lst.Add(userLikeList);
            lst.Add(userEnrollmentInfo);
            lst.Add(userCourseViewInfo);

            return CreatedAtRoute("DefaultApi", new { id = userCourseLikeInfo.ID }, lst);
        }
        public IHttpActionResult PutUserCourseLikeInfo(int id, UserCourseLikeInfo userCourseLikeInfo)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != userCourseLikeInfo.ID)
            {
                return BadRequest();
            }

            db.Entry(userCourseLikeInfo).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserCourseLikeInfoExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }