public async Task <IActionResult> GetCarById(int id) { var model = new CarForAddDto(); var car = await _carService.GetCarByIdAsync(id); if (car == null) { return(BadRequest("Car not found")); } model.Id = car.Id; model.CarNumber = car.CarNumber; model.BrandId = car.BrandId; model.ModelYear = car.ModelYear; model.ModelId = car.ModelId; model.FuelTypeId = car.FuelTypeId; model.TransmisionTypeId = car.TransmisionTypeId; model.NumberOfDoors = car.NumberOfDoors; model.CarCapacity = car.CarCapacity; model.CarColor = car.CarColor; model.PriceForDay = car.PriceForDay; model.CarLocationId = car.CarLocationId; model.Description = car.Description; return(Ok(model)); }
public async void AddCarFailUnauthorized() { //Arrange var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var carForAdd = new CarForAddDto() { ModelName = "test modelname", BrandName = "test brandname", Price = 1, Color = "test color", Year = 1990, Manufactured = DateTime.Now }; var exampleUser = new User() { Cars = new List <Car>() }; context.Users.Add(exampleUser); await context.SaveChangesAsync(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, "2") })); //Act var testContext = BuildContext(databaseName); var controller = new CarsController( null, null, null, null, null); controller.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; var response = await controller.AddCar(1, carForAdd); var result = response as UnauthorizedResult; //Assert Assert.Equal(401, result.StatusCode); }
public IResult Add(CarForAddDto car) { Car carToAdd = new Car { BrandId = car.BrandId, ModelName = car.ModelName, ColorId = car.ColorId, DailyPrice = car.DailyPrice, ModelYear = car.ModelYear, Description = car.Description, Findeks = car.Findeks }; _carDal.Add(carToAdd); var imagesToAdd = car.Images.Select(i => new CarImageForAddDto() { CarId = carToAdd.Id, Image = i }).ToList(); foreach (var image in imagesToAdd) { _carImageService.Add(image); } return(new SuccessResult(Messages.CarAdded)); }
public async Task <IActionResult> AddCar(CarForAddDto model) { //if (!User.Identity.IsAuthenticated) // return Unauthorized(); //if (!User.IsInRole("Admin")) // return Unauthorized(); if (!ModelState.IsValid) { return(BadRequest("Something went wrong while adding the car")); } var car = new Car { CarNumber = model.CarNumber, BrandId = model.BrandId, ModelId = model.ModelId, ModelYear = model.ModelYear, FuelTypeId = model.FuelTypeId, TransmisionTypeId = model.TransmisionTypeId, NumberOfDoors = model.NumberOfDoors, CarCapacity = model.CarCapacity, CarColor = model.CarColor, PriceForDay = model.PriceForDay, CarLocationId = model.CarLocationId, Description = model.Description, CreateByUserId = _userManager.GetUserId(User), }; await _carService.AddCarAsync(car); if (model.Image != null && model.Image.Length > 0) { await _carService.UploadImage(model.Image, car.Id); } return(Ok(new { message = "Car added successfully" })); }
public async Task <IActionResult> AddCar(int id, CarForAddDto carForAddDto) { if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var carToAdd = _mapper.Map <Car>(carForAddDto); carToAdd.UserId = id; carToAdd.Created = DateTime.Now; _repo.Add(carToAdd); if (await _repo.SaveAll()) { return(Ok(carToAdd)); } throw new Exception($"Adding car failed"); }
public async Task <IActionResult> GetCarById(int id) { var model = new CarForAddDto(); var car = await _carService.GetCarByIdAsync(id); if (car == null) { return(BadRequest("Car not found")); } var carUpload = await _carUploadService.GetCarUploadByCarIdAsync(id); var transmisionType = await _transmisionTypeService.GetTransmisionTypeByIdAsync((int)car.TransmisionTypeId); model.Id = car.Id; model.CarNumber = car.CarNumber; model.BrandId = car.BrandId; model.ModelYear = car.ModelYear; model.ModelId = car.ModelId; model.FuelTypeId = car.FuelTypeId; model.TransmisionTypeId = car.TransmisionTypeId; model.NumberOfDoors = car.NumberOfDoors; model.CarCapacity = car.CarCapacity; model.CarColor = car.CarColor; model.PriceForDay = car.PriceForDay; model.CarLocationId = car.CarLocationId; model.Description = car.Description; model.BrandName = await _brandService.GetBrandNameAsync((int)car.BrandId); model.ModelName = await _modelService.GetModelNameAsync((int)car.ModelId); model.FuelType = await _fuelTypeService.GetFuelTypeNameAsync((int)car.FuelTypeId); model.TransmisionType = transmisionType.Name; model.Path = carUpload != null?Url.Content(carUpload.Path) : ""; return(Ok(model)); }
public async Task <IActionResult> PostCar(CarForAddDto carForAdd) { try { if (ModelState.IsValid) { var car = _mapper.Map <Car>(carForAdd); _repo.AddCar(car); if (await _repo.SaveChangesAsync()) { var newModel = _mapper.Map <CarForAddDto>(car); var location = Url.Link("GetCar", new { id = car.A_ID }); return(StatusCode(201)); } } } catch (Exception ex) { return(BadRequest(ex)); } return(BadRequest()); }
public async void AddCarSuccess() { var databaseName = Guid.NewGuid().ToString(); var context = BuildContext(databaseName); var mapper = BuildMap(); var carsRepository = new CarRepository(context); var usersRepository = new UserRepository(context); var carForAdd = new CarForAddDto() { ModelName = "test modelname", BrandName = "test brandname", Price = 1, Color = "test color", Year = 1990, Manufactured = DateTime.Now }; var exampleCar = new Car() { ModelName = "test name" }; var exampleUser = new User() { Cars = new List <Car>() }; exampleUser.Cars.Add(exampleCar); context.Users.Add(exampleUser); context.Cars.Add(exampleCar); await context.SaveChangesAsync(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, "1") })); //Act var testContext = BuildContext(databaseName); var controller = new CarsController( carsRepository, mapper, usersRepository, testContext, null); controller.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; var response = await controller.AddCar(1, carForAdd); var result = response as OkObjectResult; var car = (Car)result.Value; //Assert Assert.Equal(200, result.StatusCode); Assert.Equal("test modelname", car.ModelName); }
public IActionResult Add(CarForAddDto car) { var result = _carService.Add(car); return(StatusCode(result.Success ? 200 : 400, result)); }