public IHttpActionResult Post(CourseBindingModel model) { string userId = User.Identity.GetUserId(); var user = userService.GetById(userId); if (!user.IsTeacher) { return(Unauthorized()); } var course = new Course() { Name = model.Name, Description = model.Description, Capacity = model.Capacity, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now, TeacherId = userId }; service.Insert(course); var courseModel = Mapper.Map <CourseViewModel>(course); return(CreatedAtRoute("DefaultApi", new { id = course.Id }, courseModel)); }
public IHttpActionResult Put(CourseBindingModel model, int id) { string userId = User.Identity.GetUserId(); var user = userService.GetById(userId); if (!user.IsTeacher) { return(Unauthorized()); } var course = service.GetById(id); if (course != null) { if (course.TeacherId != userId) { return(Unauthorized()); } course.Name = model.Name; course.Description = model.Description; course.Capacity = model.Capacity; course.UpdatedAt = DateTime.Now; service.Update(course); var courseModel = Mapper.Map <CourseViewModel>(course); return(Ok(courseModel)); } else { return(NotFound()); } }
public async Task <IActionResult> Create([FromBody] CourseBindingModel model) { if (model == null || !this.ModelState.IsValid) { return(this.BadRequest(this.ModelState.GetFirstError())); } var course = Mapper.Map <Course>(model); await this.coursesData.Add(course); return(this.Ok(Mapper.Map <CourseViewModel>(course))); }
public async Task <IActionResult> Delete([FromBody] CourseBindingModel model) { if (model == null || !this.ModelState.IsValid) { return(this.BadRequest(this.ModelState.GetFirstError())); } var course = await this.coursesData.GetByIdAsync(model.Id); Mapper.Map(model, course); await this.coursesData.Delete(course); return(this.Ok(Mapper.Map <CourseViewModel>(course))); }
public List <CourseViewModel> Read(CourseBindingModel model) { SaveToDatabase(); return(Courses .Where(rec => model == null || rec.Id == model.Id || rec.Specialication == model.Specialication) .Select(rec => new CourseViewModel { Id = rec.Id, CourseName = rec.CourseName, Duration = rec.Duration, Cost = rec.Cost, Specialication = rec.Specialication }) .ToList()); }