/// <summary> /// Map UserAdd_DTO to TeacherDB, passes to Add DB-method the TeacherDB /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <Result <Teacher> > AddTeacherAsync(TeacherAdd_DTO model) { var teacherDb = _mapper.Map <TeacherAdd_DTO, TeacherDB>(model); _uow.Teachers.Add(teacherDb); try { await _uow.SaveAsync(); return(Result <Teacher> .Ok(_mapper.Map <Teacher>(teacherDb))); } catch (DbUpdateConcurrencyException e) { return((Result <Teacher>) Result <Teacher> .Fail("Cannot save model")); } catch (DbUpdateException e) { return((Result <Teacher>) Result <Teacher> .Fail($"Cannot save model. Duplicate field. {e.Message}")); } catch (DbEntityValidationException e) { return((Result <Teacher>) Result <Teacher> .Fail("Invalid model")); } }
public async Task <IHttpActionResult> CreateTeacherAsync ([FromBody] TeacherAdd_DTO user) { if (user is null) { return(BadRequest()); } var result = await _teacherService.AddTeacherAsync(user); return(result.IsError ? BadRequest(result.Message) : (IHttpActionResult)Ok(result.Data)); }