public async override Task UpdateAsync(object request) { if (!(request is UpdateClassroomRequest)) { throw new Exception("Convert type not allowed"); } UpdateClassroomRequest req = (UpdateClassroomRequest)request; Classroom cr = await _repository.GetByIdAsync(req.Id); if (cr == null) { throw new Exception("Classroom not found"); } req.ProjectTo(cr); await _repository.AddOrUpdateAsync(cr); }
public async Task <IHttpActionResult> UpdateClassroom([FromBody] UpdateClassroomRequest request) { try { if (ModelState.IsValid) { await _service.UpdateAsync(request); await _service.CommitAsync(); return(Ok()); } return(BadRequest(ModelState)); } catch (Exception ex) { await _service.RollbackAsync(); return(BadRequest(GetError(ex))); } }
public static void ProjectTo(this UpdateClassroomRequest request, Classroom classroom) { classroom.ClassNumber = request.ClassNumber; }