public async Task <IActionResult> EditItem(CarViewModel carViewModel) { if (!ModelState.IsValid) { return(View(carViewModel)); } Car car = _mapper.Map <Car>(carViewModel); if (car.CarID == 0) { car.Author = HttpContext.User.Identity.Name; car = await _repository.AddCarAsync(car); TempData["message"] = $"{car.Brand} {car.Model} has been saved!"; return(RedirectToAction("Completed", new { CarID = car.CarID })); } else { bool isCarAuthor = AuthorizeSucceeded(car.CarID).Result; if (!isCarAuthor) { return(StatusCode(403)); } await _repository.EditCarAsync(car); TempData["message"] = $"{car.Brand} {car.Model} has been edited!"; return(RedirectToAction(nameof(Completed), new { CarID = car.CarID })); } }
public async Task <IActionResult> Add([FromBody] CarAddApiModel carAddApiModel) { if (carAddApiModel == null) { return(BadRequest()); } ClaimsIdentity identity = HttpContext.User.Identity as ClaimsIdentity; carAddApiModel.ApiUser = identity.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.Sub).Value; Car car = _mapper.Map <Car>(carAddApiModel); Car newCar = await _repository.AddCarAsync(car); return(CreatedAtRoute(nameof(Get), new { carID = newCar?.CarID }, newCar)); }
public async Task <Car> AddCar(Car car) { var result = await _carRepository.AddCarAsync(car); return(result); }