Beispiel #1
0
        //[DisableCors()]
        public IHttpActionResult GetCourse(int id)
        {
            Learning.Data.LearningContext     ctx  = null;
            Learning.Data.ILearningRepository repo = null;
            try
            {
                ctx  = new Learning.Data.LearningContext();
                repo = new Learning.Data.LearningRepository(ctx);

                var course = repo.GetCourse(id, false);
                if (course != null)
                {
                    return(Ok <Learning.Data.Entities.Course>(course));
                }
                else
                {
                    return(eLearning.WebAPI2.CustomIHttpActionResult.ApiControllerExtension.NotFound(this, "Course not found"));
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
            finally
            {
                ctx.Dispose();
            }
        }
Beispiel #2
0
        public HttpResponseMessage GetCoursesBySubject(int subjectid)
        {
            Learning.Data.LearningContext     ctx  = null;
            Learning.Data.ILearningRepository repo = null;
            IQueryable <Course> query;

            try
            {
                ctx  = new Learning.Data.LearningContext();
                repo = new Learning.Data.LearningRepository(ctx);

                query = repo.GetCoursesBySubject(subjectid);
                var coursesList = query.Select(c => c.Name).ToList();
                if (coursesList != null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, coursesList));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
            finally
            {
                ctx.Dispose();
            }
        }