public async Task <IHttpActionResult> Developers([FromBody] DeveloperDirectoryBindingModel model) { if (!ModelState.IsValid) { return(BadRequest("Invalid Data entry")); } if (model.Name.IsNullOrWhiteSpace()) { return(BadRequest("Specify Name of the Developer")); } if (model.CategoryId <= 0) { return(BadRequest("Specify the Category Id")); } await _developersRepository.CreateDeveloperEntry(model); try { return(StatusCode(HttpStatusCode.Created)); } catch (Exception e) { ErrorSignal.FromCurrentContext().Raise(e); return(BadRequest($"{e.Message} " + HttpStatusCode.InternalServerError)); } }
public async Task Developers_CreateDeveloperEntry_ReturnsSuccess() { DeveloperDirectoryBindingModel model = new DeveloperDirectoryBindingModel { Name = "Smith Ola", GithubId = "assd", CategoryId = 1 }; var result = await _controller.Developers(model) as StatusCodeResult; Assert.IsNotNull(result); Assert.That(result.StatusCode == HttpStatusCode.Created); }
public async Task Developers_SupplyIncompleteRequest_ReturnsBadRequestForNoCategoryId() { DeveloperDirectoryBindingModel model = new DeveloperDirectoryBindingModel { Name = "Smith Ola", GithubId = "assd" }; var result = await _controller.Developers(model) as BadRequestErrorMessageResult; Assert.IsNotNull(result); Assert.AreEqual("Specify the Category Id", result.Message); }
public async Task Developers_CreateDeveloperEntry_ReturnsBadRequestWithMessage() { DeveloperDirectoryBindingModel model = new DeveloperDirectoryBindingModel { EmailAddress = "Smith Ola", GithubId = "assd" }; var result = await _controller.Developers(model) as BadRequestErrorMessageResult; Assert.IsNotNull(result); Assert.AreEqual("Specify Name of the Developer", result.Message); }
public async Task EditDeveloperEntry(int?id, DeveloperDirectoryBindingModel model) { var developer = await _context.Developers.FindAsync(id); Mapper.Map <DeveloperDirectoryBindingModel, Developer>(model, developer); if (developer == null) { throw new Exception("Developer entry not found"); } await _context.SaveChangesAsync(); }
public async Task CreateDeveloperEntry(DeveloperDirectoryBindingModel model) { var directory = Mapper.Map <Developer>(model); var category = await _context.Categories.FindAsync(model.CategoryId); if (category == null) { throw new Exception("Category Doesn't exist"); } _context.Developers.Add(directory); await _context.SaveChangesAsync(); }
public async Task <IHttpActionResult> UpdateDeveloper(int?id, [FromBody] DeveloperDirectoryBindingModel model) { if (id == null) { return(BadRequest("Supply Id Of developer")); } try { await _developersRepository.EditDeveloperEntry(id, model); return(Ok("Updated Successfully")); } catch (Exception e) { return(StatusCode(HttpStatusCode.InternalServerError)); } }