gitextract_qx9n6vkf/ ├── .gitattributes ├── .gitignore ├── Business/ │ ├── Abstract/ │ │ ├── IAuthService.cs │ │ ├── IBrandService.cs │ │ ├── ICarImageService.cs │ │ ├── ICarService.cs │ │ ├── ICartService.cs │ │ ├── IColorService.cs │ │ ├── ICustomerService.cs │ │ ├── IPaymentService.cs │ │ ├── IRentalService.cs │ │ └── IUserService.cs │ ├── Business.csproj │ ├── BusinessAspects/ │ │ └── Autofac/ │ │ └── SecuredOperation.cs │ ├── Concrete/ │ │ ├── AuthManager.cs │ │ ├── BrandManager.cs │ │ ├── CarImageManager.cs │ │ ├── CarManager.cs │ │ ├── CartManager.cs │ │ ├── ColorManager.cs │ │ ├── CustomerManager.cs │ │ ├── PaymentManager.cs │ │ ├── RentalManager.cs │ │ └── UserManager.cs │ ├── Constants/ │ │ └── Messages.cs │ ├── DependencyResolvers/ │ │ └── Autofac/ │ │ └── AutofacBusinessModule.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── ValidationRules/ │ │ └── FluentValidation/ │ │ ├── BrandValidator.cs │ │ ├── CarImageValidator.cs │ │ ├── CarValidator.cs │ │ ├── ColorValidator.cs │ │ ├── CustomerValidator.cs │ │ ├── RentalValidator.cs │ │ └── UserValidator.cs │ ├── app.config │ └── packages.config ├── CarRentalQuery1.sql ├── ConsoleUI/ │ ├── ConsoleUI.csproj │ └── Program.cs ├── Core/ │ ├── Aspect/ │ │ └── Autofac/ │ │ ├── Caching/ │ │ │ ├── CacheAspect.cs │ │ │ └── CacheRemoveAspect.cs │ │ ├── Performance/ │ │ │ └── PerformanceAspect.cs │ │ ├── Transaction/ │ │ │ └── TransactionScopeAspect.cs │ │ └── Validation/ │ │ └── ValidationAspect.cs │ ├── Core.csproj │ ├── CrossCuttingConcerns/ │ │ ├── Caching/ │ │ │ ├── ICacheManager.cs │ │ │ └── Microsoft/ │ │ │ └── MemoryCacheManager.cs │ │ └── Validation/ │ │ └── ValidationTool.cs │ ├── DataAccess/ │ │ ├── EntityFramework/ │ │ │ └── EfEntityRepositoryBase.cs │ │ └── IEntityRepository.cs │ ├── DependencyResolvers/ │ │ └── CoreModule.cs │ ├── Entities/ │ │ ├── Concrete/ │ │ │ ├── OperationClaim.cs │ │ │ ├── User.cs │ │ │ └── UserOperationClaim.cs │ │ ├── IDto.cs │ │ └── IEntity.cs │ ├── Extensions/ │ │ ├── ClaimExtensions.cs │ │ ├── ClaimsPrincipalExtensions.cs │ │ ├── ErrorDetails.cs │ │ ├── ExceptionMiddleware.cs │ │ ├── ExceptionMiddlewareExtensions.cs │ │ └── ServiceCollectionExtensions.cs │ └── Utilities/ │ ├── Business/ │ │ └── BusinessRules.cs │ ├── FileHelper/ │ │ └── FileHelper.cs │ ├── Interceptors/ │ │ ├── AspectInterceptorSelector.cs │ │ ├── MethodInterception.cs │ │ └── MethodInterceptionBaseAttribute.cs │ ├── IoC/ │ │ ├── ICoreModule.cs │ │ └── ServiceTool.cs │ ├── Results/ │ │ ├── DataResult.cs │ │ ├── ErrorDataResult.cs │ │ ├── ErrorResult.cs │ │ ├── IDataResult.cs │ │ ├── IResult.cs │ │ ├── Result.cs │ │ ├── SuccessDataResult.cs │ │ └── SuccessResult.cs │ └── Security/ │ ├── Encryption/ │ │ ├── SecurityKeyHelper.cs │ │ └── SigningCredentialsHelper.cs │ ├── Hashing/ │ │ └── HashingHelper.cs │ └── Jwt/ │ ├── AccessToken.cs │ ├── ITokenHelper.cs │ ├── JwtHelper.cs │ └── TokenOptions.cs ├── DataAccess/ │ ├── Abstract/ │ │ ├── IBrandDal.cs │ │ ├── ICarDal.cs │ │ ├── ICarImageDal.cs │ │ ├── ICartDal.cs │ │ ├── IColorDal.cs │ │ ├── ICustomerDal.cs │ │ ├── IPaymentDal.cs │ │ ├── IRentalDal.cs │ │ └── IUserDal.cs │ ├── Concrete/ │ │ ├── EntityFramework/ │ │ │ ├── CarRentalContext.cs │ │ │ ├── EfBrandDal.cs │ │ │ ├── EfCarDal.cs │ │ │ ├── EfCarImageDal.cs │ │ │ ├── EfCartDal.cs │ │ │ ├── EfColorDal.cs │ │ │ ├── EfCustomerDal.cs │ │ │ ├── EfPaymentDal.cs │ │ │ ├── EfRentalDal.cs │ │ │ └── EfUserDal.cs │ │ └── InMemory/ │ │ └── InMemoryCarDal.cs │ └── DataAccess.csproj ├── Entities/ │ ├── Concrete/ │ │ ├── Brand.cs │ │ ├── Car.cs │ │ ├── CarImage.cs │ │ ├── Cart.cs │ │ ├── Color.cs │ │ ├── Customer.cs │ │ ├── Payment.cs │ │ └── Rental.cs │ ├── DTOs/ │ │ ├── CarDetailDto.cs │ │ ├── CustomerDetailDto.cs │ │ ├── RentalDetailDto.cs │ │ ├── UserForLoginDto.cs │ │ └── UserForRegisterDto.cs │ ├── Entities.csproj │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── app.config ├── README.md ├── ReCapProject.sln └── WebAPI/ ├── .config/ │ └── dotnet-tools.json ├── Controllers/ │ ├── AuthController.cs │ ├── BrandsController.cs │ ├── CarImagesController.cs │ ├── CarsController.cs │ ├── CartsController.cs │ ├── ColorsController.cs │ ├── CustomersController.cs │ ├── PaysController.cs │ ├── RentalsController.cs │ ├── UsersController.cs │ └── WeatherForecastController.cs ├── Program.cs ├── Properties/ │ └── launchSettings.json ├── Startup.cs ├── WeatherForecast.cs ├── WebAPI.csproj ├── appsettings.Development.json └── appsettings.json