diff --git a/Controllers/InstructorsDataController.cs b/Controllers/InstructorsDataController.cs index 3f5db8a..6ec9a6a 100644 --- a/Controllers/InstructorsDataController.cs +++ b/Controllers/InstructorsDataController.cs @@ -31,18 +31,21 @@ namespace InstructorsListApp.Controllers databaseContext.Entry(instructor).State = EntityState.Detached; // remove unneccessary refs return Ok(instructor); } - return NotFound("Given instructor isn't found"); + return NotFound(new Error(Error.EntryIsNotFound, "No such instructor")); } [HttpPost("add")] public IActionResult CreateInstructorEntry([FromBody] Instructor instructor) { if(ModelState.IsValid) { + if(instructor.FirstName == null && instructor.LastName == null && instructor.MiddleName == null) { + return BadRequest(new Error(Error.PostBodyIsNotValid, "Given model isn't valid!")); + } instructor.Id = Guid.NewGuid().ToString(); databaseContext.Instructors.Add(instructor); databaseContext.SaveChanges(); return Ok(instructor.Id); } - return BadRequest(ModelState); + return BadRequest(new Error(Error.PostBodyIsNotValid, "Given model isn't valid!")); } [HttpPut("{id}")] @@ -56,7 +59,7 @@ namespace InstructorsListApp.Controllers databaseContext.SaveChanges(); return Ok(); } - return NotFound("Given instructor isn't found"); + return NotFound(new Error(Error.EntryIsNotFound, "No such instructor")); } return BadRequest(ModelState); } @@ -69,7 +72,7 @@ namespace InstructorsListApp.Controllers databaseContext.SaveChanges(); return Ok(); } - return NotFound("No such instructor"); + return NotFound(new Error(Error.EntryIsNotFound, "No such instructor")); } } } diff --git a/Models/Error.cs b/Models/Error.cs new file mode 100644 index 0000000..05b4e8e --- /dev/null +++ b/Models/Error.cs @@ -0,0 +1,14 @@ +namespace InstructorsListApp.Models { + public class Error { + public static int EntryIsNotFound = 0x0; + public static int PostBodyIsNotValid = 0x1; + + public int errCode {get; set;} + public string errText {get; set;} + + public Error(int errCode, string errText) { + this.errCode = errCode; + this.errText = errText; + } + } +} \ No newline at end of file diff --git a/Models/Instructor.cs b/Models/Instructor.cs index d944063..7a4bc8d 100644 --- a/Models/Instructor.cs +++ b/Models/Instructor.cs @@ -1,8 +1,8 @@ namespace InstructorsListApp.Models { public class Instructor { - public string Id {get; set;} - public string FirstName {get;set;} - public string MiddleName {get;set;} - public string LastName {get;set;} -} + public string Id {get; set;} + public string FirstName {get;set;} + public string MiddleName {get;set;} + public string LastName {get;set;} + } } \ No newline at end of file