Exemple #1
0
        public ActionResult PostTopic(int id)
        {
            var courseInDb = _context.Courses.SingleOrDefault(c => c.Id == id);
            //check deadline


            int status;

            if (DateTime.Now <= courseInDb.EndDate)             //can submit
            {
                status = 1;
            }
            else             //can't submit
            {
                status = 0;
            }

            var newPostCourseViewModel = new PostCourseViewModel
            {
                Course = courseInDb,
                // 1 = can Submit
                // 0 = can't Submit
                Status = status
            };

            return(View(newPostCourseViewModel));
        }
Exemple #2
0
        public async Task <IActionResult> PutCourse([FromRoute] int id, [FromBody] PostCourseViewModel source)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != source.CourseId)
            {
                return(BadRequest());
            }

            var course = await _courseRepository.Find(id);

            if (course == null)
            {
                return(NotFound());
            }
            try
            {
                course.Slug       = Slug.GenerateSlug(source.Name);
                course.CategoryId = source.CategoryId;
                course.Name       = source.Name;
                course.IsActive   = source.IsActive;
                await _courseRepository.Update(course);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!await _courseRepository.Exists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw new ApiException(HttpStatusCode.BadRequest, "some thing went wrong with update!");
                }
            }

            await StorageHelper.InsertOrMerge(course.RowId.ToString(), course.CourseId.ToString(), source.Description);

            return(NoContent());
        }
Exemple #3
0
        public async Task <IActionResult> PostCourse([FromBody] PostCourseViewModel source)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (await _courseRepository.Exists(source.Name))
            {
                return(BadRequest(new { errors = "Already Exists" }));
            }
            var target = await _courseRepository.Add(new Course
            {
                CategoryId = source.CategoryId,
                Slug       = Slug.GenerateSlug(source.Name),
                Name       = source.Name,
                IsActive   = source.IsActive,
            });

            await StorageHelper.InsertOrMerge(target.RowId.ToString(), target.CourseId.ToString(), source.Description);

            return(CreatedAtAction("getCourse", new { id = target.CourseId }, source));
        }