public async Task <HttpResponseMessage> GetLectureModuleList(int accessorID)
        {
            try
            {
                MIUEntities db = new MIUEntities();
                List <LectureModuleListInfo> data = new List <LectureModuleListInfo>();
                StudentDashboardDAL          dal  = new StudentDashboardDAL();
                data = await dal.GetLectureModuleList(accessorID);

                if (data != null)
                {
                    return(Request.CreateResponse <List <LectureModuleListInfo> >(HttpStatusCode.OK, data));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, Constants.ErrorNotFound));
                }
            }
            catch (DbEntityValidationException ex)
            {
                var    controllerName = ControllerContext.RouteData.Values["controller"].ToString();
                var    actionName     = ControllerContext.RouteData.Values["action"].ToString();
                Logger log            = new Logger();
                log.ErrorLog(ex, controllerName, actionName);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Constants.ErrorSysError));
            }
        }
        public async Task <HttpResponseMessage> GetLectureDashboard(int accessorID, string role, int courseID = 0)
        {
            try
            {
                MIUEntities          db          = new MIUEntities();
                LectureDashboardInfo data        = new LectureDashboardInfo();
                StudentDashboardDAL  dal         = new StudentDashboardDAL();
                NewsDAL          newsDAL         = new NewsDAL();
                ResultDAL        resultDAL       = new ResultDAL();
                AnnouncementDAL  announcementDAL = new AnnouncementDAL();
                EventCalendarDAL eventDAL        = new EventCalendarDAL();
                //data.AttRateAndPercent = await reportAttendanceDAL.GetAttRateAndPercent(batchID, userID);
                data = await dal.GetLectureDashboard(accessorID, courseID);

                data.Announcement = await announcementDAL.GetLatestAnnouncement();

                data.News          = newsDAL.GetNews(accessorID, 1, 5).Result;
                data.EventCalendar = eventDAL.GetAllEventCalendar(accessorID, role).Result;
                //data.EventCalendar = eventDAL.GetEventCalendar(accessorID, 1, 5).Result;

                if (data != null)
                {
                    return(Request.CreateResponse <LectureDashboardInfo>(HttpStatusCode.OK, data));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, Constants.ErrorNotFound));
                }
            }
            catch (DbEntityValidationException ex)
            {
                var    controllerName = ControllerContext.RouteData.Values["controller"].ToString();
                var    actionName     = ControllerContext.RouteData.Values["action"].ToString();
                Logger log            = new Logger();
                log.ErrorLog(ex, controllerName, actionName);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Constants.ErrorSysError));
            }
        }