public async Task <IActionResult> UpdateMakeAsync(int id, [FromBody] MakeResource make) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { Make domainMake = await _repository.GetAsync(id); if (domainMake == null) { return(BadRequest($"Make with id = {id} does not exist!")); } _mapper.Map(make, domainMake); domainMake.Id = id; await _unitOfWork.CompeleteAsync(); Make found = await _repository.GetAsync(id); MakeResource result = _mapper.Map <Make, MakeResource>(found); return(Ok(result)); } catch (Exception e) { return(StatusCode(500, e.InnerException?.Message ?? e.Message)); } }
public async Task <IActionResult> CreateMake([FromBody] MakeResource makeResource) { var make = _mapper.Map <MakeResource, Make>(makeResource); _makeRepository.Add(make); await _unitOfWork.CompleteAsync(); return(Ok(_mapper.Map <Make, MakeResource>(make))); }
public async Task CanValidateMake_UpdateMake_RequiredFielsAreMissing() { MakeResource makeResource = new MakeResource { Name = null }; _controller.ModelState.AddModelError("Name", "Name field is required."); IActionResult actual = await _controller.UpdateMakeAsync(It.IsAny <int>(), makeResource); _makesRepository.Verify(db => db.GetAsync(It.IsAny <int>()), Times.Never); var errors = ControllerTestHelper.GetBadRequestErrors(actual); Assert.AreEqual(new[] { "Name field is required." }, errors["Name"]); }
public IActionResult GetAllMakes() { var allMakes = makes.GetAllMakes(); var listing = new List <MakeResource>(); //returns status code with object foreach (var make in allMakes) { var makeResource = new MakeResource(); makeResource.Id = make.Id; makeResource.Name = make.Name; makeResource.Models = getModel(make.Models); listing.Add(makeResource); } return(Ok(listing)); }
public async Task <IActionResult> CreateMakeAsync([FromBody] MakeResource make) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { Make domainMake = _mapper.Map <MakeResource, Make>(make); await _repository.CreateAsync(domainMake); await _unitOfWork.CompeleteAsync(); int id = domainMake.Id; Make found = await _repository.GetAsync(id); MakeResource result = _mapper.Map <Make, MakeResource>(found); return(Ok(result)); } catch (Exception e) { return(StatusCode(500, e.InnerException?.Message ?? e.Message)); } }