Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddImagesToCar([FromForm] CarImageAddDto request)
        {
            IResult ImageAdding = await _carImageService.AddImagesToCar(request);

            if (!ImageAdding.Success)
            {
                return(BadRequest(ImageAdding));
            }
            return(Ok(ImageAdding));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 5
0
        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());
        }
Ejemplo n.º 6
0
        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));
        }