public async Task <IResult> AddAsync(CarImageAddDto carImageAddDto) { var logicResult = BusinessRules.Run( await CheckIfNumberOfCarPicturesByCarIdAsync(carImageAddDto.CarId)); if (!logicResult.Success) { return(logicResult); } var uploadResult = await FileHelper.ImageUploadAsync(carImageAddDto.FormFile); if (!uploadResult.Success) { return(new ErrorResult(Messages.CarImageNotUploaded)); } CarImage carImage = new CarImage() { CarId = carImageAddDto.CarId, ImagePath = uploadResult.ShortPath, Date = DateTime.Now }; var addResult = _carImageDal.Add(carImage); if (!addResult) { return(new ErrorResult(Messages.CarImageNotAdded)); } return(new SuccessResult(Messages.CarImageAdded)); }
public async Task <IActionResult> AddImagesToCar([FromForm] CarImageAddDto request) { IResult ImageAdding = await _carImageService.AddImagesToCar(request); if (!ImageAdding.Success) { return(BadRequest(ImageAdding)); } return(Ok(ImageAdding)); }
public async Task <IActionResult> AddAsync([FromForm] CarImageAddDto carImageAddDto) { var addResult = await _carImageService.AddAsync(carImageAddDto); if (!addResult.Success) { return(BadRequest(addResult)); } return(Ok(addResult)); }
public IActionResult Add([FromForm] CarImageAddDto carImageAddDto) { var result = _carImageService.Add(carImageAddDto); if (!result.Success) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <IResult> AddImagesToCar(CarImageAddDto addCarImage) { BusinessRules.Run(CheckIfImageCountExceeded(addCarImage.CarId, addCarImage.Images.Count), CheckCarExists(addCarImage.CarId)); foreach (IFormFile carImageFile in addCarImage.Images) { IDataResult <string> dataResult = await FileHelper.Upload(carImageFile); if (dataResult.Success) { CarImage carImage = new CarImage { CarId = addCarImage.CarId, Date = System.DateTime.Now, ImagePath = dataResult.Data.Replace(Path.DirectorySeparatorChar, '/') // url compatible }; await _carImageDal.Add(carImage); } } return(new SuccessResult()); }
public IResult Add(CarImageAddDto carImageAddDto) { var result1 = GetAllByCarId(carImageAddDto.CarId); if (result1.Data != null && result1.Data.Count >= Values.MaxCountOfImagesPerCar) { return(new ErrorResult(Messages.CarHasMaxCountOfImages)); } // TODO Do file validation // TODO Detect file extension better, instead of relying on file name string imageFilePath = "/CarImages/" + Guid.NewGuid().ToString() + Path.GetExtension(carImageAddDto.ImageFile.FileName); FileSystemTool.SaveFormFile(carImageAddDto.ImageFile, "wwwroot" + imageFilePath); var entity = new CarImage { CarId = carImageAddDto.CarId, ImageFilePath = imageFilePath, UploadDate = DateTime.Today }; _carImageDal.Add(entity); return(new SuccessResult(Messages.CarImageAdded)); }