示例#1
0
        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 }));
            }
        }
示例#2
0
        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));
        }
示例#3
0
        public async Task <Car> AddCar(Car car)
        {
            var result = await _carRepository.AddCarAsync(car);

            return(result);
        }