public IResult Add(CarImage carImage, IFormFile file)
        {
            var result = BusinessRules.Run(CheckCarImageCount(carImage.CarId));

            if (result != null)
            {
                return(result);
            }

            FileHelperForLocalStorage.Add(file, CreateNewPath(file, out var pathForDb));
            carImage.ImagePath = pathForDb;
            carImage.Date      = DateTime.Now;
            carImage.MainPhoto = MainPhotoOperations(carImage);
            _carImageDal.Add(carImage);

            return(new SuccessResult(Messages.ImageAddedSuccessfully));
        }
        public IResult Update(CarImage carImage, IFormFile file)
        {
            var result = BusinessRules.Run(CheckCarImageCount(carImage.CarId));

            if (result != null)
            {
                return(result);
            }

            var carImageForUpdate = _carImageDal.Get(i => i.Id == carImage.Id);

            carImage.CarId = carImageForUpdate.CarId;
            carImage.Date  = DateTime.Now;
            FileHelperForLocalStorage.Update(carImageForUpdate.ImagePath, file, CreateNewPath(file, out var pathForDb));
            carImage.ImagePath = pathForDb;
            carImage.MainPhoto = MainPhotoOperations(carImage);
            _carImageDal.Update(carImage);
            return(new SuccessResult(Messages.ImageUpdatedSuccessfully));
        }
 public IResult Delete(CarImage carImage)
 {
     FileHelperForLocalStorage.Delete(carImage.ImagePath);
     _carImageDal.Delete(carImage);
     return(new SuccessResult(Messages.ImageDeletedSuccessfully));
 }