└── rentACar ├── .classpath ├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .project ├── .settings ├── org.eclipse.core.resources.prefs ├── org.eclipse.jdt.core.prefs └── org.eclipse.m2e.core.prefs ├── HELP.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ ├── com │ │ └── kodlamaio │ │ │ └── rentACar │ │ │ ├── RentACarApplication.java │ │ │ ├── api │ │ │ └── controllers │ │ │ │ ├── AdditionalItemsController.java │ │ │ │ ├── AddressesController.java │ │ │ │ ├── BrandsController.java │ │ │ │ ├── CarsController.java │ │ │ │ ├── ColorsController.java │ │ │ │ ├── CorporateCustomersController.java │ │ │ │ ├── IndividualCustomersController.java │ │ │ │ ├── InvoicesController.java │ │ │ │ ├── MaintenanceController.java │ │ │ │ ├── OrderedAdditionalItemsController.java │ │ │ │ └── RentalsController.java │ │ │ ├── business │ │ │ ├── abstracts │ │ │ │ ├── AdditionalItemService.java │ │ │ │ ├── AddressService.java │ │ │ │ ├── BrandService.java │ │ │ │ ├── CarService.java │ │ │ │ ├── ColorService.java │ │ │ │ ├── CorporateCustomerService.java │ │ │ │ ├── CustomerCheckService.java │ │ │ │ ├── FindeksScoreCheckService.java │ │ │ │ ├── IndividualCustomerService.java │ │ │ │ ├── InvoiceService.java │ │ │ │ ├── MaintenanceService.java │ │ │ │ ├── OrderedAdditionalItemsService.java │ │ │ │ └── RentalService.java │ │ │ ├── concretes │ │ │ │ ├── AdditionalItemManager.java │ │ │ │ ├── AddressManager.java │ │ │ │ ├── BrandManager.java │ │ │ │ ├── CarManager.java │ │ │ │ ├── ColorManager.java │ │ │ │ ├── CorporateCustomerManager.java │ │ │ │ ├── IndividualCustomerManager.java │ │ │ │ ├── InvoiceManager.java │ │ │ │ ├── MaintenanceManager.java │ │ │ │ ├── OrderedAdditionalItemsManager.java │ │ │ │ └── RentalManager.java │ │ │ ├── requests │ │ │ │ ├── additionalItems │ │ │ │ │ ├── CreateAddionalItemRequest.java │ │ │ │ │ ├── DeleteAdditionalItemRequest.java │ │ │ │ │ └── UpdateAdditionalItemRequest.java │ │ │ │ ├── addresses │ │ │ │ │ ├── CreateDifferentAddressRequest.java │ │ │ │ │ ├── CreateSameAddressRequest.java │ │ │ │ │ ├── DeleteAddressRequest.java │ │ │ │ │ ├── UpdateDifferentAddressRequest.java │ │ │ │ │ └── UpdateSameAddressRequest.java │ │ │ │ ├── brands │ │ │ │ │ ├── CreateBrandRequest.java │ │ │ │ │ ├── DeleteBrandRequest.java │ │ │ │ │ └── UpdateBrandRequest.java │ │ │ │ ├── cars │ │ │ │ │ ├── CreateCarRequest.java │ │ │ │ │ ├── DeleteCarRequest.java │ │ │ │ │ └── UpdateCarRequest.java │ │ │ │ ├── colors │ │ │ │ │ ├── CreateColorRequest.java │ │ │ │ │ ├── DeleteColorRequest.java │ │ │ │ │ └── UpdateColorRequest.java │ │ │ │ ├── corporateCustomers │ │ │ │ │ ├── CreateCorporateCustomersRequest.java │ │ │ │ │ ├── DeleteCorporateCustomersRequest.java │ │ │ │ │ └── UpdateCorporateCustomersRequest.java │ │ │ │ ├── customers │ │ │ │ │ ├── CreateCustomerRequest.java │ │ │ │ │ ├── DeleteCustomerRequest.java │ │ │ │ │ └── UpdateCustomerRequest.java │ │ │ │ ├── individualCustomers │ │ │ │ │ ├── CreateIndividualCustomersRequest.java │ │ │ │ │ ├── DeleteIndividualCustomersRequest.java │ │ │ │ │ └── UpdateIndividualCustomersRequest.java │ │ │ │ ├── invoices │ │ │ │ │ ├── CreateInvoiceRequest.java │ │ │ │ │ ├── DeleteInvoiceRequest.java │ │ │ │ │ └── UpdateInvoiceRequest.java │ │ │ │ ├── maintenances │ │ │ │ │ ├── CreateMaintenanceRequest.java │ │ │ │ │ ├── DeleteMaintenanceRequest.java │ │ │ │ │ └── UpdateMaintenanceRequest.java │ │ │ │ ├── orderedAdditionalItems │ │ │ │ │ ├── CreateOrderedAdditionalItemsRequest.java │ │ │ │ │ ├── DeleteOrderedAdditionalItemsRequest.java │ │ │ │ │ └── UpdateOrderedAdditionalItemsRequest.java │ │ │ │ └── rentals │ │ │ │ │ ├── CreateRentalRequest.java │ │ │ │ │ ├── DeleteRentalRequest.java │ │ │ │ │ └── UpdateRentalRequest.java │ │ │ └── response │ │ │ │ ├── additionalItems │ │ │ │ ├── GetAllAdditionalItemResponse.java │ │ │ │ └── ReadAdditionalItemResponse.java │ │ │ │ ├── addresses │ │ │ │ ├── GetAllAddressResponse.java │ │ │ │ └── ReadAddressResponse.java │ │ │ │ ├── brands │ │ │ │ ├── GetAllBrandResponse.java │ │ │ │ └── ReadBrandResponse.java │ │ │ │ ├── cars │ │ │ │ ├── GetAllCarResponse.java │ │ │ │ └── ReadCarResponse.java │ │ │ │ ├── colors │ │ │ │ ├── GetAllColorResponse.java │ │ │ │ └── ReadColorResponse.java │ │ │ │ ├── corporateCustomers │ │ │ │ ├── GetAllCorporateCustomerResponse.java │ │ │ │ └── ReadCorporateCustomerResponse.java │ │ │ │ ├── customers │ │ │ │ ├── GetAllCustomerResponse.java │ │ │ │ └── ReadCustomerResponse.java │ │ │ │ ├── individualCustomers │ │ │ │ ├── GetAllIndividualCustomerResponse.java │ │ │ │ └── ReadIndividualCustomerResponse.java │ │ │ │ ├── invoices │ │ │ │ ├── GetAllInvoiceResponse.java │ │ │ │ └── ReadInvoiceResponse.java │ │ │ │ ├── maintenances │ │ │ │ ├── GetAllMaintenanceResponse.java │ │ │ │ └── ReadMaintenanceResponse.java │ │ │ │ ├── orderedAdditionalItemsResponse │ │ │ │ ├── GetAllOrderedAdditionalItemsResponse.java │ │ │ │ └── ReadOrderedAdditionalItemsResponse.java │ │ │ │ └── rentals │ │ │ │ ├── GetAllRentalResponse.java │ │ │ │ └── ReadRentalResponse.java │ │ │ ├── core │ │ │ ├── adapters │ │ │ │ ├── FindeksServiceAdapter.java │ │ │ │ └── MernisServiceAdapter.java │ │ │ └── utilities │ │ │ │ ├── aspects │ │ │ │ ├── Logging.java │ │ │ │ └── LoggingAspect.java │ │ │ │ ├── exceptions │ │ │ │ └── BusinessException.java │ │ │ │ ├── mapping │ │ │ │ ├── ModelMapperService.java │ │ │ │ └── ModelMapperServiceImpls.java │ │ │ │ └── results │ │ │ │ ├── DataResult.java │ │ │ │ ├── ErrorDataResult.java │ │ │ │ ├── ErrorResult.java │ │ │ │ ├── Result.java │ │ │ │ ├── SuccessDataResult.java │ │ │ │ └── SuccessResult.java │ │ │ ├── dataAccess │ │ │ └── abstracts │ │ │ │ ├── AdditionalItemRepository.java │ │ │ │ ├── AddressRepository.java │ │ │ │ ├── BrandRepository.java │ │ │ │ ├── CarRepository.java │ │ │ │ ├── ColorRepository.java │ │ │ │ ├── CorporateCustomerRepository.java │ │ │ │ ├── CustomerRepository.java │ │ │ │ ├── IndividualCustomerRepository.java │ │ │ │ ├── InvoiceRepository.java │ │ │ │ ├── MaintenanceRepository.java │ │ │ │ ├── OrderedAdditionalItemsRepository.java │ │ │ │ └── RentalRepository.java │ │ │ └── entitites │ │ │ └── concretes │ │ │ ├── AdditionalItem.java │ │ │ ├── Address.java │ │ │ ├── Brand.java │ │ │ ├── Car.java │ │ │ ├── City.java │ │ │ ├── Color.java │ │ │ ├── CorporateCustomer.java │ │ │ ├── Customer.java │ │ │ ├── IndividualCustomer.java │ │ │ ├── Invoice.java │ │ │ ├── Maintenance.java │ │ │ ├── OrderedAdditionalItems.java │ │ │ ├── Rental.java │ │ │ └── User.java │ └── tr │ │ └── gov │ │ └── nvi │ │ └── tckimlik │ │ └── WS │ │ ├── KPSPublic.java │ │ ├── KPSPublicLocator.java │ │ ├── KPSPublicSoap.java │ │ ├── KPSPublicSoapProxy.java │ │ └── KPSPublicSoapStub.java └── resources │ └── application.properties └── test └── java └── com └── kodlamaio └── rentACar └── RentACarApplicationTests.java /rentACar/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /rentACar/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /target/ 3 | -------------------------------------------------------------------------------- /rentACar/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EdaKevserDemir/RentACarJavaProject/f22c0af08bb7d5c52cc0bfe043be914271d8a484/rentACar/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /rentACar/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /rentACar/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | rentACar 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.m2e.core.maven2Builder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.jem.workbench.JavaEMFNature 21 | org.eclipse.jdt.core.javanature 22 | org.eclipse.m2e.core.maven2Nature 23 | 24 | 25 | -------------------------------------------------------------------------------- /rentACar/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublic.java=UTF-8 4 | encoding//src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublicLocator.java=UTF-8 5 | encoding//src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublicSoap.java=UTF-8 6 | encoding//src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublicSoapStub.java=UTF-8 7 | encoding//src/main/resources=UTF-8 8 | encoding//src/test/java=UTF-8 9 | encoding/=UTF-8 10 | -------------------------------------------------------------------------------- /rentACar/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=generate 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 5 | org.eclipse.jdt.core.compiler.compliance=1.8 6 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 7 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled 8 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 9 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 10 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore 11 | org.eclipse.jdt.core.compiler.release=enabled 12 | org.eclipse.jdt.core.compiler.source=1.8 13 | -------------------------------------------------------------------------------- /rentACar/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /rentACar/HELP.md: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | ### Reference Documentation 4 | For further reference, please consider the following sections: 5 | 6 | * [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) 7 | * [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.7.0/maven-plugin/reference/html/) 8 | * [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.7.0/maven-plugin/reference/html/#build-image) 9 | * [Spring Boot DevTools](https://docs.spring.io/spring-boot/docs/2.7.0/reference/htmlsingle/#using.devtools) 10 | * [Spring Web](https://docs.spring.io/spring-boot/docs/2.7.0/reference/htmlsingle/#web) 11 | * [Spring Data JPA](https://docs.spring.io/spring-boot/docs/2.7.0/reference/htmlsingle/#data.sql.jpa-and-spring-data) 12 | * [Validation](https://docs.spring.io/spring-boot/docs/2.7.0/reference/htmlsingle/#io.validation) 13 | 14 | ### Guides 15 | The following guides illustrate how to use some features concretely: 16 | 17 | * [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/) 18 | * [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/) 19 | * [Building REST services with Spring](https://spring.io/guides/tutorials/bookmarks/) 20 | * [Accessing Data with JPA](https://spring.io/guides/gs/accessing-data-jpa/) 21 | * [Validation](https://spring.io/guides/gs/validating-form-input/) 22 | 23 | -------------------------------------------------------------------------------- /rentACar/mvnw.cmd: -------------------------------------------------------------------------------- 1 | @REM ---------------------------------------------------------------------------- 2 | @REM Licensed to the Apache Software Foundation (ASF) under one 3 | @REM or more contributor license agreements. See the NOTICE file 4 | @REM distributed with this work for additional information 5 | @REM regarding copyright ownership. The ASF licenses this file 6 | @REM to you under the Apache License, Version 2.0 (the 7 | @REM "License"); you may not use this file except in compliance 8 | @REM with the License. You may obtain a copy of the License at 9 | @REM 10 | @REM https://www.apache.org/licenses/LICENSE-2.0 11 | @REM 12 | @REM Unless required by applicable law or agreed to in writing, 13 | @REM software distributed under the License is distributed on an 14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | @REM KIND, either express or implied. See the License for the 16 | @REM specific language governing permissions and limitations 17 | @REM under the License. 18 | @REM ---------------------------------------------------------------------------- 19 | 20 | @REM ---------------------------------------------------------------------------- 21 | @REM Maven Start Up Batch script 22 | @REM 23 | @REM Required ENV vars: 24 | @REM JAVA_HOME - location of a JDK home dir 25 | @REM 26 | @REM Optional ENV vars 27 | @REM M2_HOME - location of maven2's installed home dir 28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands 29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending 30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven 31 | @REM e.g. to debug Maven itself, use 32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files 34 | @REM ---------------------------------------------------------------------------- 35 | 36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' 37 | @echo off 38 | @REM set title of command window 39 | title %0 40 | @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' 41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% 42 | 43 | @REM set %HOME% to equivalent of $HOME 44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") 45 | 46 | @REM Execute a user defined script before this one 47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre 48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending 49 | if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* 50 | if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* 51 | :skipRcPre 52 | 53 | @setlocal 54 | 55 | set ERROR_CODE=0 56 | 57 | @REM To isolate internal variables from possible post scripts, we use another setlocal 58 | @setlocal 59 | 60 | @REM ==== START VALIDATION ==== 61 | if not "%JAVA_HOME%" == "" goto OkJHome 62 | 63 | echo. 64 | echo Error: JAVA_HOME not found in your environment. >&2 65 | echo Please set the JAVA_HOME variable in your environment to match the >&2 66 | echo location of your Java installation. >&2 67 | echo. 68 | goto error 69 | 70 | :OkJHome 71 | if exist "%JAVA_HOME%\bin\java.exe" goto init 72 | 73 | echo. 74 | echo Error: JAVA_HOME is set to an invalid directory. >&2 75 | echo JAVA_HOME = "%JAVA_HOME%" >&2 76 | echo Please set the JAVA_HOME variable in your environment to match the >&2 77 | echo location of your Java installation. >&2 78 | echo. 79 | goto error 80 | 81 | @REM ==== END VALIDATION ==== 82 | 83 | :init 84 | 85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". 86 | @REM Fallback to current working directory if not found. 87 | 88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% 89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir 90 | 91 | set EXEC_DIR=%CD% 92 | set WDIR=%EXEC_DIR% 93 | :findBaseDir 94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound 95 | cd .. 96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound 97 | set WDIR=%CD% 98 | goto findBaseDir 99 | 100 | :baseDirFound 101 | set MAVEN_PROJECTBASEDIR=%WDIR% 102 | cd "%EXEC_DIR%" 103 | goto endDetectBaseDir 104 | 105 | :baseDirNotFound 106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR% 107 | cd "%EXEC_DIR%" 108 | 109 | :endDetectBaseDir 110 | 111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig 112 | 113 | @setlocal EnableExtensions EnableDelayedExpansion 114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a 115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% 116 | 117 | :endReadAdditionalConfig 118 | 119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" 120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" 121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 122 | 123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 124 | 125 | FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( 126 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B 127 | ) 128 | 129 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 130 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data. 131 | if exist %WRAPPER_JAR% ( 132 | if "%MVNW_VERBOSE%" == "true" ( 133 | echo Found %WRAPPER_JAR% 134 | ) 135 | ) else ( 136 | if not "%MVNW_REPOURL%" == "" ( 137 | SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 138 | ) 139 | if "%MVNW_VERBOSE%" == "true" ( 140 | echo Couldn't find %WRAPPER_JAR%, downloading it ... 141 | echo Downloading from: %DOWNLOAD_URL% 142 | ) 143 | 144 | powershell -Command "&{"^ 145 | "$webclient = new-object System.Net.WebClient;"^ 146 | "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ 147 | "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ 148 | "}"^ 149 | "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ 150 | "}" 151 | if "%MVNW_VERBOSE%" == "true" ( 152 | echo Finished downloading %WRAPPER_JAR% 153 | ) 154 | ) 155 | @REM End of extension 156 | 157 | @REM Provide a "standardized" way to retrieve the CLI args that will 158 | @REM work with both Windows and non-Windows executions. 159 | set MAVEN_CMD_LINE_ARGS=%* 160 | 161 | %MAVEN_JAVA_EXE% ^ 162 | %JVM_CONFIG_MAVEN_PROPS% ^ 163 | %MAVEN_OPTS% ^ 164 | %MAVEN_DEBUG_OPTS% ^ 165 | -classpath %WRAPPER_JAR% ^ 166 | "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ 167 | %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* 168 | if ERRORLEVEL 1 goto error 169 | goto end 170 | 171 | :error 172 | set ERROR_CODE=1 173 | 174 | :end 175 | @endlocal & set ERROR_CODE=%ERROR_CODE% 176 | 177 | if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost 178 | @REM check for post script, once with legacy .bat ending and once with .cmd ending 179 | if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" 180 | if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" 181 | :skipRcPost 182 | 183 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' 184 | if "%MAVEN_BATCH_PAUSE%"=="on" pause 185 | 186 | if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% 187 | 188 | cmd /C exit /B %ERROR_CODE% 189 | -------------------------------------------------------------------------------- /rentACar/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | org.springframework.boot 6 | spring-boot-starter-parent 7 | 2.7.0 8 | 9 | 10 | com.kodlamaio 11 | rentACar 12 | 0.0.1-SNAPSHOT 13 | rentACar 14 | Demo project for Casgem camp 15 | 16 | 17 17 | 18 | 19 | 20 | org.springframework.boot 21 | spring-boot-starter-data-jpa 22 | 23 | 24 | 25 | org.modelmapper 26 | modelmapper 27 | 2.4.4 28 | 29 | 30 | org.springframework.boot 31 | spring-boot-starter-aop 32 | 33 | 34 | 35 | com.fasterxml.jackson.dataformat 36 | jackson-dataformat-xml 37 | 2.13.2 38 | 39 | 40 | 41 | org.springframework.boot 42 | spring-boot-starter-validation 43 | 44 | 45 | org.springframework.boot 46 | spring-boot-starter-web 47 | 48 | 49 | 50 | org.glassfish 51 | javax.json 52 | 1.0.4 53 | 54 | 55 | org.json 56 | json 57 | 20220320 58 | 59 | 60 | org.springframework.boot 61 | spring-boot-devtools 62 | runtime 63 | true 64 | 65 | 66 | org.postgresql 67 | postgresql 68 | runtime 69 | 70 | 71 | org.projectlombok 72 | lombok 73 | true 74 | 75 | 76 | org.springframework.boot 77 | spring-boot-starter-test 78 | test 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | org.springframework.boot 87 | spring-boot-maven-plugin 88 | 89 | 90 | 91 | org.projectlombok 92 | lombok 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/RentACarApplication.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | import org.modelmapper.ModelMapper; 7 | import org.springframework.boot.SpringApplication; 8 | import org.springframework.boot.autoconfigure.SpringBootApplication; 9 | import org.springframework.context.annotation.Bean; 10 | import org.springframework.http.HttpStatus; 11 | import org.springframework.validation.FieldError; 12 | import org.springframework.web.bind.MethodArgumentNotValidException; 13 | import org.springframework.web.bind.annotation.ExceptionHandler; 14 | import org.springframework.web.bind.annotation.ResponseStatus; 15 | import org.springframework.web.bind.annotation.RestControllerAdvice; 16 | 17 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 18 | import com.kodlamaio.rentACar.core.utilities.results.ErrorDataResult; 19 | 20 | @SpringBootApplication 21 | @RestControllerAdvice 22 | public class RentACarApplication { 23 | 24 | public static void main(String[] args) { 25 | SpringApplication.run(RentACarApplication.class, args); 26 | } 27 | 28 | @Bean 29 | public ModelMapper getModelMapper() { 30 | return new ModelMapper(); 31 | } 32 | 33 | @ExceptionHandler 34 | @ResponseStatus(code=HttpStatus.BAD_REQUEST) 35 | public ErrorDataResult< Object>handleValidationExceptions(MethodArgumentNotValidException methodArgumentNotValidException){ 36 | Map validationErrors=new HashMap(); 37 | for(FieldError fieldError : methodArgumentNotValidException.getBindingResult().getFieldErrors()) { 38 | validationErrors.put(fieldError.getField(), fieldError.getDefaultMessage()); 39 | } 40 | ErrorDataResulterrorDataResult=new ErrorDataResult(validationErrors,"VALIDATION.EXCEPTION"); 41 | return errorDataResult; 42 | } 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | @ExceptionHandler 51 | @ResponseStatus (code=HttpStatus.BAD_REQUEST) 52 | public ErrorDataResulthandleBusinessExceptions(BusinessException businessException){ 53 | ErrorDataResult< Object> errorDataResult=new ErrorDataResult(businessException.getMessage(),"BUSINESS_EXCEPTION"); 54 | return errorDataResult; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/AdditionalItemsController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.web.bind.annotation.GetMapping; 7 | import org.springframework.web.bind.annotation.PostMapping; 8 | import org.springframework.web.bind.annotation.RequestBody; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestParam; 11 | import org.springframework.web.bind.annotation.RestController; 12 | 13 | import com.kodlamaio.rentACar.business.abstracts.AdditionalItemService; 14 | import com.kodlamaio.rentACar.business.requests.additionalItems.CreateAddionalItemRequest; 15 | import com.kodlamaio.rentACar.business.requests.additionalItems.DeleteAdditionalItemRequest; 16 | import com.kodlamaio.rentACar.business.requests.additionalItems.UpdateAdditionalItemRequest; 17 | import com.kodlamaio.rentACar.business.response.additionalItems.ReadAdditionalItemResponse; 18 | import com.kodlamaio.rentACar.business.response.additionalItems.GetAllAdditionalItemResponse; 19 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.Result; 21 | 22 | @RestController 23 | @RequestMapping("/api/additionalitems") 24 | public class AdditionalItemsController { 25 | 26 | @Autowired 27 | AdditionalItemService additionalItemService; 28 | 29 | @PostMapping("/add") 30 | public Result add(@RequestBody CreateAddionalItemRequest createAddionalItemRequest) { 31 | return this.additionalItemService.add(createAddionalItemRequest); 32 | 33 | } 34 | @PostMapping("/update") 35 | public Result update(@RequestBody UpdateAdditionalItemRequest updateAdditionalItemRequest) { 36 | return this.additionalItemService.update(updateAdditionalItemRequest); 37 | 38 | } 39 | @PostMapping("/delete") 40 | public Result delete(@RequestBody DeleteAdditionalItemRequest deleteAdditionalItemRequest) { 41 | return this.additionalItemService.delete(deleteAdditionalItemRequest); 42 | 43 | } 44 | @GetMapping("/getall") 45 | public DataResult>getAll(){ 46 | return this.additionalItemService.getAll(); 47 | } 48 | @GetMapping("/getbyid") 49 | public DataResultgetById(@RequestParam int id){ 50 | return this.additionalItemService.getById(id); 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/AddressesController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.util.List; 4 | 5 | import javax.validation.Valid; 6 | 7 | import org.hibernate.sql.Delete; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.web.bind.annotation.GetMapping; 10 | import org.springframework.web.bind.annotation.PostMapping; 11 | import org.springframework.web.bind.annotation.RequestBody; 12 | import org.springframework.web.bind.annotation.RequestMapping; 13 | import org.springframework.web.bind.annotation.RestController; 14 | 15 | import com.kodlamaio.rentACar.business.abstracts.AddressService; 16 | import com.kodlamaio.rentACar.business.requests.addresses.CreateDifferentAddressRequest; 17 | import com.kodlamaio.rentACar.business.requests.addresses.CreateSameAddressRequest; 18 | import com.kodlamaio.rentACar.business.requests.addresses.DeleteAddressRequest; 19 | import com.kodlamaio.rentACar.business.requests.addresses.UpdateDifferentAddressRequest; 20 | import com.kodlamaio.rentACar.business.requests.addresses.UpdateSameAddressRequest; 21 | import com.kodlamaio.rentACar.business.response.addresses.GetAllAddressResponse; 22 | import com.kodlamaio.rentACar.business.response.addresses.ReadAddressResponse; 23 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 24 | import com.kodlamaio.rentACar.core.utilities.results.Result; 25 | 26 | @RestController 27 | @RequestMapping("/api/addresses") 28 | public class AddressesController { 29 | 30 | @Autowired 31 | private AddressService addressService; 32 | 33 | private AddressesController(AddressService addressService) { 34 | 35 | this.addressService = addressService; 36 | } 37 | 38 | @PostMapping("/addsameaddress") 39 | private Result addSameAddress(@RequestBody @Valid CreateSameAddressRequest createSameAddressRequest) { 40 | return this.addressService.addSameAddress(createSameAddressRequest); 41 | } 42 | 43 | @PostMapping("/adddifferentaddress") 44 | private Result addDifferentAddress( 45 | @RequestBody @Valid CreateDifferentAddressRequest createDifferentAddressRequest) { 46 | return this.addressService.addDifferentAddress(createDifferentAddressRequest); 47 | } 48 | 49 | @PostMapping("/updatesameaddress") 50 | private Result updateSameAddress(@RequestBody @Valid UpdateSameAddressRequest updateSameAddressRequest) { 51 | 52 | return this.addressService.updateSameAddress(updateSameAddressRequest); 53 | 54 | } 55 | 56 | @PostMapping("/updatedifferentaddress") 57 | private Result updateDifferentAddress( 58 | @RequestBody @Valid UpdateDifferentAddressRequest updateDifferentAddressRequest) { 59 | return this.addressService.updateDifferentAddress(updateDifferentAddressRequest); 60 | 61 | } 62 | 63 | @PostMapping("/delete") 64 | private Result delete(@RequestBody DeleteAddressRequest deleteAddressRequest) { 65 | 66 | return this.addressService.delete(deleteAddressRequest); 67 | } 68 | 69 | @GetMapping("/getbyid") 70 | private DataResult getById(int id) { 71 | 72 | return addressService.getById(id); 73 | 74 | } 75 | @GetMapping("/getall") 76 | private DataResult> getAll() { 77 | 78 | return this.addressService.getAll(); 79 | 80 | } 81 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/BrandsController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.PostMapping; 7 | import org.springframework.web.bind.annotation.PutMapping; 8 | import org.springframework.web.bind.annotation.RequestBody; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestParam; 11 | import org.springframework.web.bind.annotation.RestController; 12 | 13 | import com.kodlamaio.rentACar.business.abstracts.BrandService; 14 | import com.kodlamaio.rentACar.business.requests.brands.CreateBrandRequest; 15 | import com.kodlamaio.rentACar.business.requests.brands.DeleteBrandRequest; 16 | import com.kodlamaio.rentACar.business.requests.brands.UpdateBrandRequest; 17 | import com.kodlamaio.rentACar.business.response.brands.ReadBrandResponse; 18 | import com.kodlamaio.rentACar.business.response.brands.GetAllBrandResponse; 19 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.Result; 21 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 22 | 23 | @RestController // annotation - imza-özellik 24 | @RequestMapping("/api/brands") 25 | public class BrandsController { 26 | 27 | private BrandService brandService; 28 | 29 | public BrandsController(BrandService brandService) { 30 | 31 | this.brandService = brandService; 32 | } 33 | 34 | 35 | @PostMapping("/add") 36 | public Result add(@RequestBody CreateBrandRequest createBrandRequest) { 37 | 38 | return this.brandService.add(createBrandRequest); 39 | 40 | } 41 | 42 | @PostMapping("/delete") 43 | public Result delete(@RequestBody DeleteBrandRequest deleteBrandRequest) { 44 | return this.brandService.delete(deleteBrandRequest); 45 | } 46 | 47 | @PostMapping("/update") 48 | public Result update(@RequestBody UpdateBrandRequest updateBrandRequest) { 49 | return this.brandService.update(updateBrandRequest); 50 | } 51 | 52 | @GetMapping("/getall") 53 | public DataResult> getAll() { 54 | 55 | return brandService.getAll(); 56 | 57 | } 58 | 59 | @GetMapping("/getbyid") 60 | public DataResult getById(@RequestParam int id) { 61 | return brandService.getById(id); 62 | 63 | 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/CarsController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.util.List; 4 | 5 | import javax.validation.Valid; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.web.bind.annotation.GetMapping; 9 | import org.springframework.web.bind.annotation.PostMapping; 10 | import org.springframework.web.bind.annotation.RequestBody; 11 | import org.springframework.web.bind.annotation.RequestMapping; 12 | import org.springframework.web.bind.annotation.RequestParam; 13 | import org.springframework.web.bind.annotation.RestController; 14 | 15 | import com.kodlamaio.rentACar.business.abstracts.CarService; 16 | import com.kodlamaio.rentACar.business.requests.cars.CreateCarRequest; 17 | import com.kodlamaio.rentACar.business.requests.cars.DeleteCarRequest; 18 | import com.kodlamaio.rentACar.business.requests.cars.UpdateCarRequest; 19 | import com.kodlamaio.rentACar.business.response.cars.GetAllCarResponse; 20 | import com.kodlamaio.rentACar.business.response.cars.ReadCarResponse; 21 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 22 | import com.kodlamaio.rentACar.core.utilities.results.Result; 23 | 24 | @RestController 25 | @RequestMapping("/api/cars") 26 | public class CarsController { 27 | @Autowired 28 | private CarService carService; 29 | 30 | public CarsController(CarService carService) { 31 | 32 | this.carService = carService; 33 | } 34 | 35 | @PostMapping("/add") 36 | public Result add(@RequestBody @Valid CreateCarRequest createCarRequest) { 37 | return this.carService.add(createCarRequest); 38 | 39 | } 40 | 41 | @PostMapping("/update") 42 | private Result update(@RequestBody UpdateCarRequest updateCarRequest) { 43 | return this.carService.update(updateCarRequest); 44 | } 45 | @PostMapping("/delete") 46 | private Result delete(@RequestBody DeleteCarRequest deleteCarRequest) { 47 | return this.carService.delete(deleteCarRequest); 48 | } 49 | 50 | @GetMapping("/getall") 51 | private DataResult> getAll() { 52 | return carService.getAll(); 53 | 54 | } 55 | @GetMapping("/getbyid") 56 | private DataResult getById(@RequestParam int id) { 57 | return carService.getById(id); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/ColorsController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.web.bind.annotation.GetMapping; 7 | import org.springframework.web.bind.annotation.PostMapping; 8 | import org.springframework.web.bind.annotation.RequestBody; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestParam; 11 | import org.springframework.web.bind.annotation.RestController; 12 | 13 | import com.kodlamaio.rentACar.business.abstracts.ColorService; 14 | import com.kodlamaio.rentACar.business.requests.colors.CreateColorRequest; 15 | import com.kodlamaio.rentACar.business.requests.colors.DeleteColorRequest; 16 | import com.kodlamaio.rentACar.business.requests.colors.UpdateColorRequest; 17 | import com.kodlamaio.rentACar.business.response.colors.ReadColorResponse; 18 | import com.kodlamaio.rentACar.business.response.colors.GetAllColorResponse; 19 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.Result; 21 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 22 | import com.kodlamaio.rentACar.entitites.concretes.Color; 23 | 24 | @RestController 25 | @RequestMapping("/api/colors") 26 | public class ColorsController { 27 | 28 | @Autowired 29 | private ColorService colorService; 30 | 31 | public ColorsController(ColorService colorService) { 32 | 33 | this.colorService = colorService; 34 | } 35 | 36 | 37 | 38 | @PostMapping("/add") 39 | private void add(@RequestBody CreateColorRequest createColorRequest) { 40 | this.colorService.add(createColorRequest); 41 | } 42 | 43 | @PostMapping("/delete") 44 | private Result delete(@RequestBody DeleteColorRequest deleteColorRequest) { 45 | return this.colorService.delete(deleteColorRequest); 46 | 47 | 48 | } 49 | 50 | @PostMapping("/update") 51 | private Result update(@RequestBody UpdateColorRequest updateColorRequest) { 52 | return this.colorService.update(updateColorRequest); 53 | 54 | } 55 | 56 | @GetMapping("/getall") 57 | private DataResult> getAll() { 58 | return colorService.getAll(); 59 | } 60 | 61 | @GetMapping("/getbyid") 62 | 63 | private DataResult getById(@RequestParam int id) { 64 | return colorService.getById(id); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/CorporateCustomersController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.List; 5 | 6 | import javax.validation.Valid; 7 | 8 | import org.springframework.web.bind.annotation.GetMapping; 9 | import org.springframework.web.bind.annotation.PostMapping; 10 | import org.springframework.web.bind.annotation.RequestBody; 11 | import org.springframework.web.bind.annotation.RequestMapping; 12 | import org.springframework.web.bind.annotation.RestController; 13 | 14 | import com.kodlamaio.rentACar.business.abstracts.CorporateCustomerService; 15 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.CreateCorporateCustomersRequest; 16 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.DeleteCorporateCustomersRequest; 17 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.UpdateCorporateCustomersRequest; 18 | import com.kodlamaio.rentACar.business.response.corporateCustomers.GetAllCorporateCustomerResponse; 19 | import com.kodlamaio.rentACar.business.response.corporateCustomers.ReadCorporateCustomerResponse; 20 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 21 | import com.kodlamaio.rentACar.core.utilities.results.Result; 22 | 23 | @RestController 24 | @RequestMapping("/api/corporatecustomers") 25 | public class CorporateCustomersController { 26 | CorporateCustomerService corporateCustomerService; 27 | 28 | public CorporateCustomersController(CorporateCustomerService corporateCustomerService) { 29 | super(); 30 | this.corporateCustomerService = corporateCustomerService; 31 | } 32 | 33 | @PostMapping("/add") 34 | private Result add(@RequestBody @Valid CreateCorporateCustomersRequest createCorporateCustomersRequest) 35 | throws NumberFormatException, RemoteException { 36 | return this.corporateCustomerService.add(createCorporateCustomersRequest); 37 | } 38 | 39 | @PostMapping("/update") 40 | private Result update(@RequestBody @Valid UpdateCorporateCustomersRequest updateCorporateCustomersRequest) { 41 | return this.corporateCustomerService.update(updateCorporateCustomersRequest); 42 | } 43 | 44 | @PostMapping("/delete") 45 | private Result delete(@RequestBody @Valid DeleteCorporateCustomersRequest deleteCorporateCustomersRequest) { 46 | return this.corporateCustomerService.delete(deleteCorporateCustomersRequest); 47 | } 48 | 49 | @GetMapping("/getall") 50 | private DataResult> getAll() { 51 | return this.corporateCustomerService.getAll(); 52 | } 53 | 54 | @GetMapping("/getbyid") 55 | private DataResult getById(int id) { 56 | return this.corporateCustomerService.getById(id); 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/IndividualCustomersController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.List; 5 | 6 | import javax.validation.Valid; 7 | 8 | import org.springframework.http.MediaType; 9 | import org.springframework.web.bind.annotation.GetMapping; 10 | import org.springframework.web.bind.annotation.PostMapping; 11 | import org.springframework.web.bind.annotation.RequestBody; 12 | import org.springframework.web.bind.annotation.RequestMapping; 13 | import org.springframework.web.bind.annotation.RequestMethod; 14 | import org.springframework.web.bind.annotation.RequestParam; 15 | import org.springframework.web.bind.annotation.RestController; 16 | 17 | import com.kodlamaio.rentACar.business.abstracts.IndividualCustomerService; 18 | import com.kodlamaio.rentACar.business.requests.individualCustomers.CreateIndividualCustomersRequest; 19 | import com.kodlamaio.rentACar.business.requests.individualCustomers.DeleteIndividualCustomersRequest; 20 | import com.kodlamaio.rentACar.business.requests.individualCustomers.UpdateIndividualCustomersRequest; 21 | import com.kodlamaio.rentACar.business.response.individualCustomers.GetAllIndividualCustomerResponse; 22 | import com.kodlamaio.rentACar.business.response.individualCustomers.ReadIndividualCustomerResponse; 23 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 24 | import com.kodlamaio.rentACar.core.utilities.results.Result; 25 | 26 | @RestController 27 | @RequestMapping("/api/individualcustomers") 28 | public class IndividualCustomersController { 29 | 30 | IndividualCustomerService individualCustomerService; 31 | 32 | public IndividualCustomersController(IndividualCustomerService individualCustomerService) { 33 | 34 | this.individualCustomerService = individualCustomerService; 35 | } 36 | 37 | @PostMapping("/add") 38 | private Result add(@RequestBody @Valid CreateIndividualCustomersRequest createIndividualCustomersRequest) 39 | throws NumberFormatException, RemoteException { 40 | return this.individualCustomerService.add(createIndividualCustomersRequest); 41 | } 42 | 43 | @PostMapping("/update") 44 | private Result update(@RequestBody @Valid UpdateIndividualCustomersRequest updateIndividualCustomersRequest) 45 | throws NumberFormatException, RemoteException { 46 | return this.individualCustomerService.update(updateIndividualCustomersRequest); 47 | } 48 | 49 | @PostMapping("/delete") 50 | private Result delete(@RequestBody DeleteIndividualCustomersRequest deleteIndividualCustomersRequest) { 51 | return this.individualCustomerService.delete(deleteIndividualCustomersRequest); 52 | } 53 | 54 | @RequestMapping(path="individualcustomerss",method=RequestMethod.GET, 55 | produces = {MediaType.APPLICATION_XML_VALUE,MediaType.APPLICATION_JSON_VALUE} ) 56 | 57 | 58 | private DataResult> getAll() { 59 | return this.individualCustomerService.getAll(); 60 | } 61 | 62 | @GetMapping("/getbyid") 63 | private DataResult getById(@RequestParam int id) { 64 | return this.individualCustomerService.getById(id); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/InvoicesController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.util.List; 4 | 5 | import javax.validation.Valid; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.web.bind.annotation.GetMapping; 9 | import org.springframework.web.bind.annotation.PostMapping; 10 | import org.springframework.web.bind.annotation.RequestBody; 11 | import org.springframework.web.bind.annotation.RequestMapping; 12 | import org.springframework.web.bind.annotation.RequestParam; 13 | import org.springframework.web.bind.annotation.RestController; 14 | 15 | import com.kodlamaio.rentACar.business.abstracts.InvoiceService; 16 | import com.kodlamaio.rentACar.business.requests.invoices.CreateInvoiceRequest; 17 | import com.kodlamaio.rentACar.business.requests.invoices.DeleteInvoiceRequest; 18 | import com.kodlamaio.rentACar.business.response.invoices.ReadInvoiceResponse; 19 | import com.kodlamaio.rentACar.business.response.invoices.GetAllInvoiceResponse; 20 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 21 | import com.kodlamaio.rentACar.core.utilities.results.Result; 22 | 23 | @RestController 24 | @RequestMapping("/api/invoices") 25 | public class InvoicesController { 26 | 27 | @Autowired 28 | InvoiceService invoiceService; 29 | 30 | @PostMapping("/add") 31 | private Result add(@RequestBody @Valid CreateInvoiceRequest createInvoiceRequest) { 32 | return this.invoiceService.add(createInvoiceRequest); 33 | 34 | } 35 | 36 | @PostMapping("/delete") 37 | private Result delete(@RequestBody @Valid DeleteInvoiceRequest deleteInvoiceRequest) { 38 | return this.invoiceService.delete(deleteInvoiceRequest); 39 | } 40 | 41 | @GetMapping("/getById") 42 | private DataResult getById(@RequestParam int id) { 43 | return this.invoiceService.getById(id); 44 | } 45 | 46 | @GetMapping("/getAll") 47 | private DataResult> getAll() { 48 | return this.invoiceService.getAll(); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/MaintenanceController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.PostMapping; 7 | import org.springframework.web.bind.annotation.RequestBody; 8 | import org.springframework.web.bind.annotation.RequestMapping; 9 | import org.springframework.web.bind.annotation.RequestParam; 10 | import org.springframework.web.bind.annotation.RestController; 11 | 12 | import com.kodlamaio.rentACar.business.abstracts.MaintenanceService; 13 | import com.kodlamaio.rentACar.business.requests.maintenances.CreateMaintenanceRequest; 14 | import com.kodlamaio.rentACar.business.requests.maintenances.DeleteMaintenanceRequest; 15 | import com.kodlamaio.rentACar.business.requests.maintenances.UpdateMaintenanceRequest; 16 | import com.kodlamaio.rentACar.business.response.maintenances.GetAllMaintenanceResponse; 17 | import com.kodlamaio.rentACar.business.response.maintenances.ReadMaintenanceResponse; 18 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 19 | import com.kodlamaio.rentACar.core.utilities.results.Result; 20 | 21 | @RestController 22 | @RequestMapping("/api/maintenances") 23 | public class MaintenanceController { 24 | 25 | MaintenanceService maintenanceService; 26 | 27 | public MaintenanceController(MaintenanceService maintenanceService) { 28 | this.maintenanceService = maintenanceService; 29 | } 30 | 31 | @PostMapping("/add") 32 | public Result add(@RequestBody CreateMaintenanceRequest createMaintenanceRequest) { 33 | 34 | return this.maintenanceService.add(createMaintenanceRequest); 35 | 36 | } 37 | 38 | @PostMapping("/update") 39 | public Result update(@RequestBody UpdateMaintenanceRequest updateMaintenanceRequest) { 40 | return this.maintenanceService.update(updateMaintenanceRequest); 41 | } 42 | 43 | @PostMapping("/delete") 44 | public Result delete(@RequestBody DeleteMaintenanceRequest deleteMaintenanceRequest) { 45 | return this.maintenanceService.delete(deleteMaintenanceRequest); 46 | } 47 | 48 | @GetMapping("/getall") 49 | public DataResult> getAll() { 50 | return this.maintenanceService.getAll(); 51 | 52 | } 53 | 54 | @GetMapping("/getbyid") 55 | public DataResult getId(@RequestParam int id) { 56 | return this.maintenanceService.getById(id); 57 | 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/OrderedAdditionalItemsController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.web.bind.annotation.GetMapping; 7 | import org.springframework.web.bind.annotation.PostMapping; 8 | import org.springframework.web.bind.annotation.RequestBody; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestParam; 11 | import org.springframework.web.bind.annotation.RestController; 12 | 13 | import com.kodlamaio.rentACar.business.abstracts.OrderedAdditionalItemsService; 14 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.CreateOrderedAdditionalItemsRequest; 15 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.DeleteOrderedAdditionalItemsRequest; 16 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.UpdateOrderedAdditionalItemsRequest; 17 | import com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse.GetAllOrderedAdditionalItemsResponse; 18 | import com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse.ReadOrderedAdditionalItemsResponse; 19 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.Result; 21 | 22 | @RestController 23 | @RequestMapping("/api/orderedAdditionalItems") 24 | public class OrderedAdditionalItemsController { 25 | 26 | @Autowired 27 | OrderedAdditionalItemsService additionalService; 28 | 29 | @PostMapping("/add") 30 | public Result add(@RequestBody CreateOrderedAdditionalItemsRequest createOrderedAdditionalItemsRequest) { 31 | 32 | return this.additionalService.add(createOrderedAdditionalItemsRequest); 33 | 34 | 35 | } 36 | @PostMapping("/update") 37 | public Result update(@RequestBody UpdateOrderedAdditionalItemsRequest updateOrderedAdditionalItemsRequest) { 38 | return this.additionalService.update(updateOrderedAdditionalItemsRequest); 39 | } 40 | 41 | @PostMapping("/delete") 42 | public Result delete(@RequestBody DeleteOrderedAdditionalItemsRequest deleteOrderedAdditionalItemsRequest) { 43 | return this.additionalService.delete(deleteOrderedAdditionalItemsRequest); 44 | } 45 | 46 | @GetMapping("/getall") 47 | public DataResult>getall(){ 48 | return this.additionalService.getAll(); 49 | } 50 | 51 | @GetMapping("/getbyid") 52 | public DataResultgetByid(@RequestParam int id){ 53 | return this.additionalService.getById(id); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/api/controllers/RentalsController.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.api.controllers; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.List; 5 | 6 | import javax.validation.Valid; 7 | 8 | import org.springframework.web.bind.annotation.GetMapping; 9 | import org.springframework.web.bind.annotation.PostMapping; 10 | import org.springframework.web.bind.annotation.RequestBody; 11 | import org.springframework.web.bind.annotation.RequestMapping; 12 | import org.springframework.web.bind.annotation.RestController; 13 | 14 | import com.kodlamaio.rentACar.business.abstracts.RentalService; 15 | import com.kodlamaio.rentACar.business.requests.rentals.CreateRentalRequest; 16 | import com.kodlamaio.rentACar.business.requests.rentals.DeleteRentalRequest; 17 | import com.kodlamaio.rentACar.business.requests.rentals.UpdateRentalRequest; 18 | import com.kodlamaio.rentACar.business.response.cars.GetAllCarResponse; 19 | import com.kodlamaio.rentACar.business.response.rentals.GetAllRentalResponse; 20 | import com.kodlamaio.rentACar.business.response.rentals.ReadRentalResponse; 21 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 22 | import com.kodlamaio.rentACar.core.utilities.results.Result; 23 | import com.kodlamaio.rentACar.entitites.concretes.Rental; 24 | 25 | @RestController 26 | @RequestMapping("/api/rentals") 27 | public class RentalsController { 28 | 29 | RentalService rentalService; 30 | 31 | public RentalsController(RentalService rentalService) { 32 | this.rentalService = rentalService; 33 | } 34 | 35 | @PostMapping("/add") 36 | public Result add(@RequestBody @Valid CreateRentalRequest createRentalRequest) throws NumberFormatException, RemoteException { 37 | return this.rentalService.add(createRentalRequest); 38 | } 39 | 40 | @PostMapping("/update") 41 | public Result update(@RequestBody @Valid UpdateRentalRequest updateRentalRequest) throws NumberFormatException, RemoteException { 42 | return this.rentalService.update(updateRentalRequest); 43 | 44 | } 45 | 46 | @PostMapping("/delete") 47 | public Result delete(@RequestBody DeleteRentalRequest deleteRentalRequest) { 48 | return this.rentalService.delete(deleteRentalRequest); 49 | } 50 | 51 | @GetMapping("/getall") 52 | public DataResult> getAll() { 53 | return this.rentalService.getAll(); 54 | 55 | } 56 | 57 | @GetMapping("/getbyid") 58 | public DataResultgetId(@RequestBody int id){ 59 | return this.rentalService.getById(id); 60 | } 61 | @GetMapping("/getallbyfindeksscore") 62 | private DataResult> getAllByFindeksScore() { 63 | return rentalService.getAllByFindeksScore(); 64 | 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/AdditionalItemService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import com.kodlamaio.rentACar.business.requests.additionalItems.CreateAddionalItemRequest; 6 | import com.kodlamaio.rentACar.business.requests.additionalItems.DeleteAdditionalItemRequest; 7 | import com.kodlamaio.rentACar.business.requests.additionalItems.UpdateAdditionalItemRequest; 8 | import com.kodlamaio.rentACar.business.response.additionalItems.ReadAdditionalItemResponse; 9 | import com.kodlamaio.rentACar.business.response.additionalItems.GetAllAdditionalItemResponse; 10 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 11 | import com.kodlamaio.rentACar.core.utilities.results.Result; 12 | 13 | public interface AdditionalItemService { 14 | 15 | Result add(CreateAddionalItemRequest createAddionalItemRequest); 16 | 17 | Result update(UpdateAdditionalItemRequest updateAdditionalItemRequest); 18 | 19 | Result delete(DeleteAdditionalItemRequest deleteAdditionalItemRequest); 20 | 21 | DataResult getById(int id); 22 | 23 | DataResult> getAll(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/AddressService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import com.kodlamaio.rentACar.business.requests.addresses.CreateDifferentAddressRequest; 6 | import com.kodlamaio.rentACar.business.requests.addresses.CreateSameAddressRequest; 7 | import com.kodlamaio.rentACar.business.requests.addresses.DeleteAddressRequest; 8 | import com.kodlamaio.rentACar.business.requests.addresses.UpdateDifferentAddressRequest; 9 | import com.kodlamaio.rentACar.business.requests.addresses.UpdateSameAddressRequest; 10 | import com.kodlamaio.rentACar.business.response.addresses.ReadAddressResponse; 11 | import com.kodlamaio.rentACar.business.response.addresses.GetAllAddressResponse; 12 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 13 | import com.kodlamaio.rentACar.core.utilities.results.Result; 14 | 15 | public interface AddressService { 16 | 17 | Result addSameAddress(CreateSameAddressRequest createSameAddressRequest); 18 | Result addDifferentAddress(CreateDifferentAddressRequest createDifferentAddressRequest); 19 | 20 | Result updateSameAddress(UpdateSameAddressRequest updateSameAddressRequest); 21 | Result updateDifferentAddress(UpdateDifferentAddressRequest updateDifferentAddressRequest); 22 | 23 | Result delete(DeleteAddressRequest deleteAddressRequest); 24 | 25 | DataResult>getAll(); 26 | DataResultgetById(int id); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/BrandService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import com.kodlamaio.rentACar.business.requests.brands.CreateBrandRequest; 6 | import com.kodlamaio.rentACar.business.requests.brands.DeleteBrandRequest; 7 | import com.kodlamaio.rentACar.business.requests.brands.UpdateBrandRequest; 8 | import com.kodlamaio.rentACar.business.response.brands.ReadBrandResponse; 9 | import com.kodlamaio.rentACar.business.response.brands.GetAllBrandResponse; 10 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 11 | import com.kodlamaio.rentACar.core.utilities.results.Result; 12 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 13 | 14 | //Response request Pattern 15 | 16 | public interface BrandService { 17 | 18 | Result add(CreateBrandRequest createBrandRequest); 19 | 20 | Result delete(DeleteBrandRequest deleteBrandRequest); 21 | 22 | Result update(UpdateBrandRequest updateBrandRequest); 23 | 24 | DataResult> getAll(); 25 | 26 | DataResult getById(int id); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/CarService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import com.kodlamaio.rentACar.business.requests.cars.CreateCarRequest; 6 | import com.kodlamaio.rentACar.business.requests.cars.DeleteCarRequest; 7 | import com.kodlamaio.rentACar.business.requests.cars.UpdateCarRequest; 8 | import com.kodlamaio.rentACar.business.response.cars.GetAllCarResponse; 9 | import com.kodlamaio.rentACar.business.response.cars.ReadCarResponse; 10 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 11 | import com.kodlamaio.rentACar.core.utilities.results.Result; 12 | 13 | public interface CarService { 14 | 15 | Result add(CreateCarRequest createCarRequest); 16 | 17 | Result update(UpdateCarRequest updateCarRequest); 18 | 19 | Result delete(DeleteCarRequest deleteCarRequest); 20 | 21 | DataResult> getAll(); 22 | 23 | DataResult getById(int id); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/ColorService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import com.kodlamaio.rentACar.business.requests.colors.CreateColorRequest; 6 | import com.kodlamaio.rentACar.business.requests.colors.DeleteColorRequest; 7 | import com.kodlamaio.rentACar.business.requests.colors.UpdateColorRequest; 8 | import com.kodlamaio.rentACar.business.response.colors.ReadColorResponse; 9 | import com.kodlamaio.rentACar.business.response.colors.GetAllColorResponse; 10 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 11 | import com.kodlamaio.rentACar.core.utilities.results.Result; 12 | 13 | public interface ColorService { 14 | 15 | Result add(CreateColorRequest createColorRequest); 16 | 17 | Result delete(DeleteColorRequest deleteColorRequest); 18 | 19 | Result update(UpdateColorRequest updateColorRequest); 20 | 21 | DataResult> getAll(); 22 | 23 | DataResult getById(int id); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/CorporateCustomerService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.List; 5 | 6 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.CreateCorporateCustomersRequest; 7 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.DeleteCorporateCustomersRequest; 8 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.UpdateCorporateCustomersRequest; 9 | import com.kodlamaio.rentACar.business.response.corporateCustomers.GetAllCorporateCustomerResponse; 10 | import com.kodlamaio.rentACar.business.response.corporateCustomers.ReadCorporateCustomerResponse; 11 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 12 | import com.kodlamaio.rentACar.core.utilities.results.Result; 13 | 14 | public interface CorporateCustomerService { 15 | Result add(CreateCorporateCustomersRequest createCorporateCustomersRequest) 16 | throws NumberFormatException, RemoteException; 17 | 18 | Result update(UpdateCorporateCustomersRequest updateCorporateCustomersRequest); 19 | 20 | Result delete(DeleteCorporateCustomersRequest deleteCorporateCustomersRequest); 21 | 22 | DataResult getById(int id); 23 | 24 | DataResult> getAll(); 25 | 26 | DataResult> getAll(int pageNo, int pageSize); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/CustomerCheckService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.rmi.RemoteException; 4 | 5 | import com.kodlamaio.rentACar.business.requests.customers.CreateCustomerRequest; 6 | import com.kodlamaio.rentACar.business.requests.individualCustomers.CreateIndividualCustomersRequest; 7 | import com.kodlamaio.rentACar.business.requests.individualCustomers.UpdateIndividualCustomersRequest; 8 | import com.kodlamaio.rentACar.entitites.concretes.Customer; 9 | import com.kodlamaio.rentACar.entitites.concretes.IndividualCustomer; 10 | 11 | public interface CustomerCheckService { 12 | 13 | boolean checkIfRealPerson(CreateIndividualCustomersRequest createIndividualCustomersRequest) 14 | throws NumberFormatException, RemoteException; 15 | 16 | boolean checkIfRealPerson(UpdateIndividualCustomersRequest updateIndividualCustomersRequest) 17 | throws NumberFormatException, RemoteException; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/FindeksScoreCheckService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.rmi.RemoteException; 4 | 5 | 6 | public interface FindeksScoreCheckService { 7 | int checkIfFindeksScore(String tcNo) throws NumberFormatException, RemoteException; 8 | } 9 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/IndividualCustomerService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.List; 5 | 6 | import com.kodlamaio.rentACar.business.requests.individualCustomers.CreateIndividualCustomersRequest; 7 | import com.kodlamaio.rentACar.business.requests.individualCustomers.DeleteIndividualCustomersRequest; 8 | import com.kodlamaio.rentACar.business.requests.individualCustomers.UpdateIndividualCustomersRequest; 9 | import com.kodlamaio.rentACar.business.response.individualCustomers.GetAllIndividualCustomerResponse; 10 | import com.kodlamaio.rentACar.business.response.individualCustomers.ReadIndividualCustomerResponse; 11 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 12 | import com.kodlamaio.rentACar.core.utilities.results.Result; 13 | 14 | public interface IndividualCustomerService { 15 | Result add(CreateIndividualCustomersRequest createIndividualCustomersRequest) 16 | throws NumberFormatException, RemoteException; 17 | 18 | Result update(UpdateIndividualCustomersRequest updateIndividualCustomersRequest) 19 | throws NumberFormatException, RemoteException; 20 | 21 | Result delete(DeleteIndividualCustomersRequest deleteIndividualCustomersRequest); 22 | 23 | DataResult getById(int id); 24 | 25 | DataResult> getAll(); 26 | 27 | DataResult> getAll(int pageNo, int pageSize); 28 | } 29 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/InvoiceService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import com.kodlamaio.rentACar.business.requests.invoices.CreateInvoiceRequest; 6 | import com.kodlamaio.rentACar.business.requests.invoices.DeleteInvoiceRequest; 7 | import com.kodlamaio.rentACar.business.requests.invoices.UpdateInvoiceRequest; 8 | import com.kodlamaio.rentACar.business.response.invoices.ReadInvoiceResponse; 9 | import com.kodlamaio.rentACar.business.response.invoices.GetAllInvoiceResponse; 10 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 11 | import com.kodlamaio.rentACar.core.utilities.results.Result; 12 | import com.kodlamaio.rentACar.entitites.concretes.AdditionalItem; 13 | 14 | public interface InvoiceService { 15 | 16 | Result add(CreateInvoiceRequest createInvoiceRequest); 17 | Result update(UpdateInvoiceRequest updateInvoiceRequest); 18 | Result delete(DeleteInvoiceRequest deleteInvoiceRequest); 19 | DataResult> getAll(); 20 | DataResult getById(int id); 21 | DataResult> getAllAdditionalItems(int rentalId); 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/MaintenanceService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import com.kodlamaio.rentACar.business.requests.maintenances.CreateMaintenanceRequest; 6 | import com.kodlamaio.rentACar.business.requests.maintenances.DeleteMaintenanceRequest; 7 | import com.kodlamaio.rentACar.business.requests.maintenances.UpdateMaintenanceRequest; 8 | import com.kodlamaio.rentACar.business.response.maintenances.GetAllMaintenanceResponse; 9 | import com.kodlamaio.rentACar.business.response.maintenances.ReadMaintenanceResponse; 10 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 11 | import com.kodlamaio.rentACar.core.utilities.results.Result; 12 | import com.kodlamaio.rentACar.entitites.concretes.Maintenance; 13 | 14 | public interface MaintenanceService { 15 | 16 | Result add(CreateMaintenanceRequest createMaintenanceRequest); 17 | 18 | Result update(UpdateMaintenanceRequest updateMaintenanceRequest); 19 | 20 | Result delete(DeleteMaintenanceRequest deleteMaintenanceRequest); 21 | 22 | DataResult> getAll(); 23 | 24 | DataResult getById(int id); 25 | } 26 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/OrderedAdditionalItemsService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.CreateOrderedAdditionalItemsRequest; 6 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.DeleteOrderedAdditionalItemsRequest; 7 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.UpdateOrderedAdditionalItemsRequest; 8 | import com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse.GetAllOrderedAdditionalItemsResponse; 9 | import com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse.ReadOrderedAdditionalItemsResponse; 10 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 11 | import com.kodlamaio.rentACar.core.utilities.results.Result; 12 | 13 | public interface OrderedAdditionalItemsService { 14 | 15 | Result add(CreateOrderedAdditionalItemsRequest createAdditionalRequest); 16 | 17 | Result delete(DeleteOrderedAdditionalItemsRequest deleteAdditionalRequest); 18 | 19 | Result update(UpdateOrderedAdditionalItemsRequest updateAdditionalRequest); 20 | 21 | DataResult getById(int id); 22 | 23 | DataResult> getAll(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/abstracts/RentalService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.abstracts; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.List; 5 | 6 | import com.kodlamaio.rentACar.business.requests.rentals.CreateRentalRequest; 7 | import com.kodlamaio.rentACar.business.requests.rentals.DeleteRentalRequest; 8 | import com.kodlamaio.rentACar.business.requests.rentals.UpdateRentalRequest; 9 | import com.kodlamaio.rentACar.business.response.cars.GetAllCarResponse; 10 | import com.kodlamaio.rentACar.business.response.rentals.GetAllRentalResponse; 11 | import com.kodlamaio.rentACar.business.response.rentals.ReadRentalResponse; 12 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 13 | import com.kodlamaio.rentACar.core.utilities.results.Result; 14 | import com.kodlamaio.rentACar.entitites.concretes.Rental; 15 | 16 | public interface RentalService { 17 | Result add(CreateRentalRequest createRentalRequest) throws NumberFormatException, RemoteException; 18 | 19 | Result update(UpdateRentalRequest updateRentalRequest) throws NumberFormatException, RemoteException; 20 | 21 | Result delete(DeleteRentalRequest deleteRentalRequest); 22 | 23 | DataResult> getAll(); 24 | 25 | DataResult>getAllByFindeksScore(); 26 | 27 | DataResult getById(int id); 28 | 29 | } 30 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/AdditionalItemManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.util.List; 4 | import java.util.stream.Collectors; 5 | 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | import org.springframework.web.bind.annotation.RequestBody; 9 | 10 | import com.kodlamaio.rentACar.business.abstracts.AdditionalItemService; 11 | import com.kodlamaio.rentACar.business.requests.additionalItems.CreateAddionalItemRequest; 12 | import com.kodlamaio.rentACar.business.requests.additionalItems.DeleteAdditionalItemRequest; 13 | import com.kodlamaio.rentACar.business.requests.additionalItems.UpdateAdditionalItemRequest; 14 | import com.kodlamaio.rentACar.business.response.additionalItems.ReadAdditionalItemResponse; 15 | import com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse.GetAllOrderedAdditionalItemsResponse; 16 | import com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse.ReadOrderedAdditionalItemsResponse; 17 | import com.kodlamaio.rentACar.business.response.additionalItems.GetAllAdditionalItemResponse; 18 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 19 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 20 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 21 | import com.kodlamaio.rentACar.core.utilities.results.Result; 22 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 23 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 24 | import com.kodlamaio.rentACar.dataAccess.abstracts.AdditionalItemRepository; 25 | import com.kodlamaio.rentACar.entitites.concretes.OrderedAdditionalItems; 26 | import com.kodlamaio.rentACar.entitites.concretes.Rental; 27 | import com.kodlamaio.rentACar.entitites.concretes.AdditionalItem; 28 | 29 | //Id,name 30 | 31 | @Service 32 | public class AdditionalItemManager implements AdditionalItemService { 33 | @Autowired 34 | AdditionalItemRepository additionalItemRepository; 35 | @Autowired 36 | ModelMapperService modelMapperService; 37 | 38 | @Override 39 | public Result add(CreateAddionalItemRequest createAddionalItemRequest) { 40 | checkIfAdditionalItemExistByName(createAddionalItemRequest.getName()); 41 | AdditionalItem additionalItem=this.modelMapperService.forRequest().map(createAddionalItemRequest, AdditionalItem.class); 42 | this.additionalItemRepository.save(additionalItem); 43 | return new SuccessResult("AdditionalItem.ADDED"); 44 | } 45 | 46 | @Override 47 | public Result update( UpdateAdditionalItemRequest updateAdditionalItemRequest) { 48 | checkIfExistAdditionalItemId(updateAdditionalItemRequest.getId()); 49 | checkIfAdditionalItemExistByName(updateAdditionalItemRequest.getName()); 50 | AdditionalItem additionalItem=this.modelMapperService.forRequest().map(updateAdditionalItemRequest, AdditionalItem.class); 51 | this.additionalItemRepository.save(additionalItem); 52 | return new SuccessResult("AdditionalItem.Updated"); 53 | 54 | } 55 | 56 | @Override 57 | public Result delete(DeleteAdditionalItemRequest deleteAdditionalItemRequest) { 58 | checkIfExistAdditionalItemId(deleteAdditionalItemRequest.getId()); 59 | this.additionalItemRepository.deleteById(deleteAdditionalItemRequest.getId()); 60 | return new SuccessResult("AdditionalItem.DELETED"); 61 | } 62 | 63 | @Override 64 | public DataResult getById(int id) { 65 | checkIfExistAdditionalItemId(id); 66 | AdditionalItem additionalItem = this.additionalItemRepository.findById(id); 67 | ReadAdditionalItemResponse response = this.modelMapperService.forResponse().map(additionalItem, ReadAdditionalItemResponse.class); 68 | return new SuccessDataResult(response); 69 | 70 | } 71 | 72 | @Override 73 | public DataResult>getAll() { 74 | List additionalItems=this.additionalItemRepository.findAll(); 75 | Listresponse=additionalItems.stream() 76 | .map(additionalItem -> this.modelMapperService.forResponse().map(additionalItem, GetAllAdditionalItemResponse.class)) 77 | .collect(Collectors.toList()); 78 | return new SuccessDataResult>(response); 79 | } 80 | 81 | //name Control 82 | private void checkIfAdditionalItemExistByName(String name) { 83 | AdditionalItem additionalItem=this.additionalItemRepository.findByName(name); 84 | if(additionalItem!=null) { 85 | throw new BusinessException("Additional item exist"); 86 | } 87 | 88 | } 89 | //Id control 90 | private void checkIfExistAdditionalItemId(int id) { 91 | AdditionalItem additionalItem=this.additionalItemRepository.findById(id); 92 | if(additionalItem==null) { 93 | throw new BusinessException("ID.NOT.FOUND"); 94 | } 95 | 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/AddressManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.util.List; 4 | import java.util.stream.Collectors; 5 | 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import com.kodlamaio.rentACar.business.abstracts.AddressService; 10 | import com.kodlamaio.rentACar.business.requests.addresses.CreateDifferentAddressRequest; 11 | import com.kodlamaio.rentACar.business.requests.addresses.CreateSameAddressRequest; 12 | import com.kodlamaio.rentACar.business.requests.addresses.DeleteAddressRequest; 13 | import com.kodlamaio.rentACar.business.requests.addresses.UpdateDifferentAddressRequest; 14 | import com.kodlamaio.rentACar.business.requests.addresses.UpdateSameAddressRequest; 15 | import com.kodlamaio.rentACar.business.response.addresses.ReadAddressResponse; 16 | import com.kodlamaio.rentACar.business.response.addresses.GetAllAddressResponse; 17 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 18 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 19 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.Result; 21 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 22 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 23 | import com.kodlamaio.rentACar.dataAccess.abstracts.AddressRepository; 24 | import com.kodlamaio.rentACar.dataAccess.abstracts.CustomerRepository; 25 | import com.kodlamaio.rentACar.entitites.concretes.Address; 26 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 27 | import com.kodlamaio.rentACar.entitites.concretes.Customer; 28 | 29 | @Service 30 | public class AddressManager implements AddressService { 31 | 32 | AddressRepository addressRepository; 33 | 34 | ModelMapperService modelMapperService; 35 | 36 | CustomerRepository customerRepository; 37 | 38 | // aynıysa-farklıysa Notnull,Id kontrol,customerkontrol 39 | @Autowired 40 | public AddressManager(AddressRepository addressRepository, ModelMapperService modelMapperService, 41 | CustomerRepository customerRepository) { 42 | super(); 43 | this.addressRepository = addressRepository; 44 | this.modelMapperService = modelMapperService; 45 | this.customerRepository = customerRepository; 46 | } 47 | 48 | @Override 49 | public Result addSameAddress(CreateSameAddressRequest createSameAddressRequest) { 50 | Address address = this.modelMapperService.forRequest().map(createSameAddressRequest, Address.class); 51 | 52 | address.setInvoiceAddress(address.getContactAddress()); 53 | this.addressRepository.save(address); 54 | 55 | return new SuccessResult("added"); 56 | } 57 | 58 | @Override 59 | public Result addDifferentAddress(CreateDifferentAddressRequest createDifferentAddressRequest) { 60 | Address address = this.modelMapperService.forRequest().map(createDifferentAddressRequest, Address.class); 61 | 62 | this.addressRepository.save(address); 63 | 64 | return new SuccessResult("added"); 65 | } 66 | 67 | @Override 68 | public Result updateSameAddress(UpdateSameAddressRequest updateSameAddressRequest) { 69 | checkIfAddressId(updateSameAddressRequest.getCustomerId()); 70 | Address updateToAddress = this.modelMapperService.forRequest().map(updateSameAddressRequest, Address.class); 71 | updateToAddress.setInvoiceAddress(updateToAddress.getContactAddress()); 72 | this.addressRepository.save(updateToAddress); 73 | return new SuccessResult("updated"); 74 | 75 | } 76 | 77 | @Override 78 | public Result updateDifferentAddress(UpdateDifferentAddressRequest updateDifferentAddressRequest) { 79 | checkIfAddressId(updateDifferentAddressRequest.getCustomerId()); 80 | Address addressToUpdate = this.modelMapperService.forRequest().map(updateDifferentAddressRequest, 81 | Address.class); 82 | this.addressRepository.save(addressToUpdate); 83 | return new SuccessResult("updated"); 84 | } 85 | 86 | @Override 87 | public Result delete(DeleteAddressRequest deleteAddressRequest) { 88 | checkIfAddressId(deleteAddressRequest.getId()); 89 | this.addressRepository.deleteById(deleteAddressRequest.getId()); 90 | return new SuccessResult("deleted"); 91 | } 92 | 93 | @Override 94 | public DataResult> getAll() { 95 | 96 | List
brands = this.addressRepository.findAll(); 97 | 98 | List response = brands.stream() 99 | .map(address -> this.modelMapperService.forResponse().map(address, GetAllAddressResponse.class)) 100 | .collect(Collectors.toList()); 101 | 102 | return new SuccessDataResult>(response); 103 | } 104 | 105 | @Override 106 | public DataResult getById(int id) { 107 | Address address = this.addressRepository.findById(id); 108 | ReadAddressResponse response = this.modelMapperService.forResponse().map(address, ReadAddressResponse.class); 109 | return new SuccessDataResult(response); 110 | 111 | } 112 | 113 | private void checkIfAddressId(int id) { 114 | Address address = this.addressRepository.findById(id); 115 | if (address == null) { 116 | throw new BusinessException("ID.NOT.FOUND"); 117 | } 118 | 119 | } 120 | 121 | } 122 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/BrandManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.util.List; 4 | import java.util.stream.Collectors; 5 | 6 | import org.springframework.stereotype.Service; 7 | 8 | import com.kodlamaio.rentACar.business.abstracts.BrandService; 9 | import com.kodlamaio.rentACar.business.requests.brands.CreateBrandRequest; 10 | import com.kodlamaio.rentACar.business.requests.brands.DeleteBrandRequest; 11 | import com.kodlamaio.rentACar.business.requests.brands.UpdateBrandRequest; 12 | import com.kodlamaio.rentACar.business.response.brands.GetAllBrandResponse; 13 | import com.kodlamaio.rentACar.business.response.brands.ReadBrandResponse; 14 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 15 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 16 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 17 | import com.kodlamaio.rentACar.core.utilities.results.Result; 18 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 19 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 20 | import com.kodlamaio.rentACar.dataAccess.abstracts.BrandRepository; 21 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 22 | 23 | //Id,name 24 | 25 | @Service 26 | public class BrandManager implements BrandService { 27 | 28 | private BrandRepository brandRepository; 29 | private ModelMapperService modelMapperService; 30 | 31 | // constr bak.ordakinin nesnesini bana oluştur. 32 | public BrandManager(BrandRepository brandRepository, ModelMapperService modelMapperService) { 33 | 34 | this.brandRepository = brandRepository; 35 | this.modelMapperService = modelMapperService; 36 | } 37 | 38 | @Override 39 | public Result add(CreateBrandRequest createBrandRequest) { 40 | checkIfBrandExistsByName(createBrandRequest.getName()); 41 | //Brand brand = this.modelMapperService.forRequest().map(createBrandRequest, Brand.class); 42 | Brand brand=Brand.builder() 43 | .name(createBrandRequest.getName()) 44 | .build(); 45 | this.brandRepository.save(brand); 46 | return new SuccessResult("BRAND.ADDED"); 47 | } 48 | 49 | @Override 50 | public Result delete(DeleteBrandRequest deleteBrandRequest) { 51 | checkIfExistBrandId(deleteBrandRequest.getId()); 52 | brandRepository.deleteById(deleteBrandRequest.getId()); 53 | return new SuccessResult("deleted"); 54 | 55 | } 56 | 57 | @Override 58 | public Result update(UpdateBrandRequest updateBrandRequest) { 59 | checkIfExistBrandId(updateBrandRequest.getId()); 60 | checkIfBrandExistsByName(updateBrandRequest.getName()); 61 | Brand brand = this.modelMapperService.forRequest().map(updateBrandRequest, Brand.class); 62 | this.brandRepository.save(brand); 63 | return new SuccessResult("updated"); 64 | } 65 | 66 | @Override 67 | public DataResult> getAll() { 68 | List brands = this.brandRepository.findAll(); 69 | List response = brands.stream() 70 | .map(brand -> this.modelMapperService.forResponse().map(brand, GetAllBrandResponse.class)) 71 | .collect(Collectors.toList()); 72 | 73 | return new SuccessDataResult>(response); 74 | } 75 | 76 | @Override 77 | public DataResult getById(int id) { 78 | Brand brand = this.brandRepository.findById(id); 79 | ReadBrandResponse response = this.modelMapperService.forResponse().map(brand, ReadBrandResponse.class); 80 | return new SuccessDataResult(response); 81 | } 82 | 83 | //Checking for name 84 | private void checkIfBrandExistsByName(String name) { 85 | Brand currentBrand = this.brandRepository.findByName(name); 86 | if (currentBrand == null) { 87 | throw new BusinessException("BRAND.EXISTS"); 88 | } 89 | } 90 | 91 | //checking for brandId 92 | private void checkIfExistBrandId(int id) { 93 | Brand brand = this.brandRepository.findById(id); 94 | if (brand == null) { 95 | throw new BusinessException("BRAND.ID.NOT.FOUND"); 96 | } 97 | 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/CarManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.util.List; 4 | import java.util.stream.Collectors; 5 | 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import com.kodlamaio.rentACar.business.abstracts.CarService; 10 | import com.kodlamaio.rentACar.business.requests.cars.CreateCarRequest; 11 | import com.kodlamaio.rentACar.business.requests.cars.DeleteCarRequest; 12 | import com.kodlamaio.rentACar.business.requests.cars.UpdateCarRequest; 13 | import com.kodlamaio.rentACar.business.response.cars.GetAllCarResponse; 14 | import com.kodlamaio.rentACar.business.response.cars.ReadCarResponse; 15 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 16 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 17 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 18 | import com.kodlamaio.rentACar.core.utilities.results.Result; 19 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 21 | import com.kodlamaio.rentACar.dataAccess.abstracts.BrandRepository; 22 | import com.kodlamaio.rentACar.dataAccess.abstracts.CarRepository; 23 | import com.kodlamaio.rentACar.dataAccess.abstracts.ColorRepository; 24 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 25 | import com.kodlamaio.rentACar.entitites.concretes.Car; 26 | import com.kodlamaio.rentACar.entitites.concretes.Color; 27 | 28 | //Id,brandCount 29 | 30 | //TODO: StateControl 31 | 32 | @Service 33 | public class CarManager implements CarService { 34 | 35 | private CarRepository carRepository; 36 | private ModelMapperService modelMapperService; 37 | private BrandRepository brandRepository; 38 | private ColorRepository colorRepository; 39 | 40 | @Autowired 41 | public CarManager(CarRepository carRepository, ModelMapperService modelMapperService, 42 | BrandRepository brandRepository, ColorRepository colorRepository) { 43 | super(); 44 | this.carRepository = carRepository; 45 | this.modelMapperService = modelMapperService; 46 | this.brandRepository = brandRepository; 47 | this.colorRepository = colorRepository; 48 | } 49 | 50 | @Override 51 | public Result add(CreateCarRequest createCarRequest) { 52 | checkIfBrandCount(createCarRequest.getBrandId()); 53 | checkIfExistColorId(createCarRequest.getColorId()); 54 | checkIfExistBrandId(createCarRequest.getBrandId()); 55 | checkIfExistCarPlate(createCarRequest.getCarPlate()); 56 | 57 | // Car car = this.modelMapperService.forRequest().map(createCarRequest, 58 | // Car.class); 59 | Car car = Car.builder().carPlate(createCarRequest.getCarPlate()).dailyPrice(createCarRequest.getDailyPrice()) 60 | .build(); 61 | car.setState(1); 62 | this.carRepository.save(car); 63 | return new SuccessResult("CAR.ADDED"); 64 | 65 | } 66 | 67 | @Override 68 | public Result update(UpdateCarRequest updateCarRequest) { 69 | 70 | checkIfExistCarId(updateCarRequest.getId()); 71 | checkIfExistBrandId(updateCarRequest.getBrandId()); 72 | // updateIfSameBrandId(updateCarRequest.getId(), updateCarRequest.getBrandId()); 73 | checkIfExistColorId(updateCarRequest.getColorId()); 74 | 75 | Car updateToCar = this.modelMapperService.forRequest().map(updateCarRequest, Car.class); 76 | checkIfExistCarPlate(updateToCar.getCarPlate()); 77 | updateToCar.setState(1); 78 | 79 | this.carRepository.save(updateToCar); 80 | return new SuccessResult("CAR.UPDATED"); 81 | } 82 | 83 | @Override 84 | public Result delete(DeleteCarRequest deleteCarRequest) { 85 | checkIfExistCarId(deleteCarRequest.getId()); 86 | carRepository.deleteById(deleteCarRequest.getId()); 87 | return new SuccessResult("CAR.DELETED"); 88 | } 89 | 90 | @Override 91 | public DataResult> getAll() { 92 | List cars = this.carRepository.findAll(); 93 | List response = cars.stream() 94 | .map(car -> this.modelMapperService.forResponse().map(car, GetAllCarResponse.class)) 95 | .collect(Collectors.toList()); 96 | return new SuccessDataResult>(response); 97 | } 98 | 99 | @Override 100 | public DataResult getById(int id) { 101 | checkIfExistCarId(id); 102 | Car car = this.carRepository.findById(id); 103 | ReadCarResponse response = this.modelMapperService.forResponse().map(car, ReadCarResponse.class); 104 | return new SuccessDataResult(response); 105 | } 106 | 107 | // Count brand,If max 5 not add 108 | private void checkIfBrandCount(int id) { 109 | 110 | List cars = carRepository.findByBrandId(id); 111 | if (cars.size() > 4) { 112 | throw new BusinessException("ERROR.CAR.ADDED"); 113 | } 114 | 115 | } 116 | 117 | // private void updateIfSameBrandId(int carId, int brandId) { 118 | // Car car = this.carRepository.findById(carId); 119 | // Brand brand = this.brandRepository.findById(brandId); 120 | // if (car.getBrand() == brand) { 121 | // checkIfBrandCount(brandId); 122 | // 123 | // } 124 | // } 125 | 126 | // checking for brandId 127 | private void checkIfExistCarId(int id) { 128 | Car car = this.carRepository.findById(id); 129 | if (car == null) { 130 | throw new BusinessException("CAR.ID.NOT.FOUND"); 131 | } 132 | 133 | } 134 | 135 | private void checkIfExistBrandId(int id) { 136 | Brand brand = this.brandRepository.findById(id); 137 | if (brand == null) { 138 | throw new BusinessException("BRAND.ID.NOT.FOUND"); 139 | } 140 | 141 | } 142 | 143 | private void checkIfExistColorId(int id) { 144 | Color color = this.colorRepository.findById(id); 145 | if (color == null) { 146 | throw new BusinessException("COLOR.ID.NOT.FOUND"); 147 | } 148 | } 149 | 150 | private void checkIfExistCarPlate(String carPlate) { 151 | Car car = this.carRepository.findByCarPlate(carPlate); 152 | if (car.getCarPlate() == carPlate) { 153 | throw new BusinessException(carPlate); 154 | } else { 155 | 156 | car.setCarPlate(carPlate); 157 | } 158 | } 159 | 160 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/ColorManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.util.List; 4 | import java.util.stream.Collectors; 5 | 6 | import org.springframework.stereotype.Service; 7 | import org.springframework.web.bind.annotation.RequestParam; 8 | 9 | import com.kodlamaio.rentACar.business.abstracts.ColorService; 10 | import com.kodlamaio.rentACar.business.requests.colors.CreateColorRequest; 11 | import com.kodlamaio.rentACar.business.requests.colors.DeleteColorRequest; 12 | import com.kodlamaio.rentACar.business.requests.colors.UpdateColorRequest; 13 | import com.kodlamaio.rentACar.business.response.brands.ReadBrandResponse; 14 | import com.kodlamaio.rentACar.business.response.brands.GetAllBrandResponse; 15 | import com.kodlamaio.rentACar.business.response.colors.ReadColorResponse; 16 | import com.kodlamaio.rentACar.business.response.colors.GetAllColorResponse; 17 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 18 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 19 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.Result; 21 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 22 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 23 | import com.kodlamaio.rentACar.dataAccess.abstracts.ColorRepository; 24 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 25 | import com.kodlamaio.rentACar.entitites.concretes.Color; 26 | 27 | //Id,name 28 | 29 | @Service 30 | public class ColorManager implements ColorService { 31 | 32 | private ColorRepository colorRepository; 33 | private ModelMapperService modelMapperService; 34 | 35 | public ColorManager(ColorRepository colorRepository, ModelMapperService modelMapperService) { 36 | 37 | this.colorRepository = colorRepository; 38 | this.modelMapperService = modelMapperService; 39 | } 40 | 41 | @Override 42 | public Result add(CreateColorRequest createColorRequest) { 43 | checkIfColorExistsByName(createColorRequest.getName()); 44 | Color color = this.modelMapperService.forRequest().map(createColorRequest, Color.class); 45 | this.colorRepository.save(color); 46 | return new SuccessResult("COLOR.ADDED"); 47 | 48 | } 49 | 50 | @Override 51 | public Result delete(DeleteColorRequest deleteColorRequest) { 52 | checkIfColorId(deleteColorRequest.getId()); 53 | this.colorRepository.deleteById(deleteColorRequest.getId()); 54 | return new SuccessResult("deleted"); 55 | 56 | } 57 | 58 | @Override 59 | public Result update(UpdateColorRequest updateColorRequest) { 60 | checkIfColorId(updateColorRequest.getId()); 61 | checkIfColorExistsByName(updateColorRequest.getName()); 62 | Color color = this.modelMapperService.forRequest().map(updateColorRequest, Color.class); 63 | this.colorRepository.save(color); 64 | return new SuccessResult("COLOR.UPDATED"); 65 | 66 | } 67 | 68 | @Override 69 | public DataResult> getAll() { 70 | 71 | List colors = this.colorRepository.findAll(); 72 | 73 | List response = colors.stream() 74 | .map(color -> this.modelMapperService.forResponse().map(color, GetAllColorResponse.class)) 75 | .collect(Collectors.toList()); 76 | 77 | return new SuccessDataResult>(response); 78 | } 79 | 80 | @Override 81 | public DataResult getById(int id) { 82 | checkIfColorId(id); 83 | Color color = this.colorRepository.findById(id); 84 | ReadColorResponse response = this.modelMapperService.forResponse().map(color, ReadColorResponse.class); 85 | 86 | return new SuccessDataResult(response); 87 | } 88 | 89 | private void checkIfColorExistsByName(String name) { 90 | Color currentColor = this.colorRepository.findByName(name); 91 | if (currentColor == null) { 92 | throw new BusinessException("COLOR.EXISTS"); 93 | } 94 | } 95 | 96 | private void checkIfColorId(int id) { 97 | Color color = this.colorRepository.findById(id); 98 | if (color == null) { 99 | throw new BusinessException("ID.NOT.FOUND"); 100 | } 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/CorporateCustomerManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.List; 5 | import java.util.stream.Collectors; 6 | 7 | import org.springframework.data.domain.PageRequest; 8 | import org.springframework.data.domain.Pageable; 9 | import org.springframework.stereotype.Service; 10 | 11 | import com.kodlamaio.rentACar.business.abstracts.CorporateCustomerService; 12 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.CreateCorporateCustomersRequest; 13 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.DeleteCorporateCustomersRequest; 14 | import com.kodlamaio.rentACar.business.requests.corporateCustomers.UpdateCorporateCustomersRequest; 15 | import com.kodlamaio.rentACar.business.response.corporateCustomers.GetAllCorporateCustomerResponse; 16 | import com.kodlamaio.rentACar.business.response.corporateCustomers.ReadCorporateCustomerResponse; 17 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 18 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 19 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.Result; 21 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 22 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 23 | import com.kodlamaio.rentACar.dataAccess.abstracts.CorporateCustomerRepository; 24 | import com.kodlamaio.rentACar.entitites.concretes.CorporateCustomer; 25 | 26 | @Service 27 | public class CorporateCustomerManager implements CorporateCustomerService { 28 | 29 | CorporateCustomerRepository corporateCustomerRepository; 30 | ModelMapperService modelMapperService; 31 | 32 | public CorporateCustomerManager(CorporateCustomerRepository corporateCustomerRepository, 33 | ModelMapperService modelMapperService) { 34 | 35 | this.corporateCustomerRepository = corporateCustomerRepository; 36 | this.modelMapperService = modelMapperService; 37 | } 38 | 39 | @Override 40 | public Result add(CreateCorporateCustomersRequest createCorporateCustomersRequest) 41 | throws NumberFormatException, RemoteException { 42 | checkIfExistTaxNumber(createCorporateCustomersRequest.getTaxNumber()); 43 | checkIfExistCompanyName(createCorporateCustomersRequest.getCompanyName()); 44 | checkIfExistCorporateEmail(createCorporateCustomersRequest.getEmail()); 45 | 46 | CorporateCustomer corporateCustomer = this.modelMapperService.forRequest().map(createCorporateCustomersRequest, 47 | CorporateCustomer.class); 48 | this.corporateCustomerRepository.save(corporateCustomer); 49 | return new SuccessResult("CORPORATE.CUSTOMER.ADDED"); 50 | } 51 | 52 | @Override 53 | public Result update(UpdateCorporateCustomersRequest updateCorporateCustomersRequest) { 54 | checkIfExistCorporateId(updateCorporateCustomersRequest.getCorporateId()); 55 | 56 | CorporateCustomer corporateCustomer = this.modelMapperService.forRequest().map(updateCorporateCustomersRequest, 57 | CorporateCustomer.class); 58 | 59 | checkIfExistCompanyName(updateCorporateCustomersRequest.getCompanyName()); 60 | checkIfEmailIsSameForUpdate(updateCorporateCustomersRequest.getCorporateId(),updateCorporateCustomersRequest.getEmail()); 61 | checkIfTaxNumberIsSameForUpdate(updateCorporateCustomersRequest.getCorporateId(),updateCorporateCustomersRequest.getTaxNumber()); 62 | this.corporateCustomerRepository.save(corporateCustomer); 63 | return new SuccessResult("CORPORATE.CUSTOMER.UPDATED"); 64 | } 65 | 66 | @Override 67 | public Result delete(DeleteCorporateCustomersRequest deleteCorporateCustomersRequest) { 68 | checkIfExistCorporateId(deleteCorporateCustomersRequest.getId()); 69 | this.corporateCustomerRepository.deleteById(deleteCorporateCustomersRequest.getId()); 70 | return new SuccessResult("CORPORATE.CUSTOMER.DELETED"); 71 | } 72 | 73 | @Override 74 | public DataResult getById(int id) { 75 | checkIfExistCorporateId(id); 76 | CorporateCustomer corporateCustomer = this.corporateCustomerRepository.findById(id); 77 | ReadCorporateCustomerResponse response = this.modelMapperService.forRequest().map(corporateCustomer, 78 | ReadCorporateCustomerResponse.class); 79 | return new SuccessDataResult(response); 80 | } 81 | 82 | @Override 83 | public DataResult> getAll() { 84 | List comporateCustomers = this.corporateCustomerRepository.findAll(); 85 | List response = comporateCustomers.stream() 86 | .map(comporateCustomer -> this.modelMapperService.forResponse().map(comporateCustomers, 87 | GetAllCorporateCustomerResponse.class)) 88 | .collect(Collectors.toList()); 89 | return new SuccessDataResult>(response); 90 | } 91 | 92 | @Override 93 | public DataResult> getAll(int pageNo, int pageSize) { 94 | Pageable pageable = PageRequest.of(pageNo - 1, pageSize); 95 | List corporateCustomers = this.corporateCustomerRepository.findAll(pageable).getContent(); 96 | List response = corporateCustomers.stream() 97 | .map(corporateCustomer -> this.modelMapperService.forResponse().map(corporateCustomer, 98 | GetAllCorporateCustomerResponse.class)) 99 | .collect(Collectors.toList()); 100 | return new SuccessDataResult>(response); 101 | } 102 | 103 | private void checkIfExistTaxNumber(String taxNumber) { 104 | CorporateCustomer corporateCustomer = this.corporateCustomerRepository.findByTaxNumber(taxNumber); 105 | if (corporateCustomer.getTaxNumber() != null) { 106 | throw new BusinessException(taxNumber); 107 | } 108 | } 109 | 110 | private void checkIfExistCompanyName(String companyName) { 111 | CorporateCustomer corporateCustomer = this.corporateCustomerRepository.findByCompanyName(companyName); 112 | if (corporateCustomer.getCompanyName() != null) { 113 | throw new BusinessException(companyName); 114 | } 115 | } 116 | 117 | private void checkIfExistCorporateId(int id) { 118 | CorporateCustomer corporateCustomer = this.corporateCustomerRepository.findById(id); 119 | if (corporateCustomer == null) { 120 | throw new BusinessException("CORPORATE.ID.NOT.FOUND"); 121 | } 122 | 123 | } 124 | 125 | private void checkIfExistCorporateEmail(String email) { 126 | CorporateCustomer corporateCustomer = this.corporateCustomerRepository.findByEmail(email); 127 | if (corporateCustomer != null) { 128 | throw new BusinessException("Email.exist"); 129 | } 130 | } 131 | 132 | private void checkIfEmailIsSameForUpdate(int corporateId, String email) { 133 | CorporateCustomer currentCorporateCustomer = this.corporateCustomerRepository.findById(corporateId); 134 | if (!currentCorporateCustomer.getEmail().equals(email)) { 135 | checkIfExistCorporateEmail(email); 136 | } 137 | } 138 | private void checkIfTaxNumberIsSameForUpdate(int corporate,String taxNumber ) { 139 | CorporateCustomer currentCorporateCustomer=this.corporateCustomerRepository.findByTaxNumber(taxNumber); 140 | if(!currentCorporateCustomer.getTaxNumber().equals(taxNumber)) { 141 | checkIfExistTaxNumber(taxNumber); 142 | } 143 | 144 | } 145 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/IndividualCustomerManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.List; 5 | import java.util.stream.Collectors; 6 | 7 | import org.springframework.data.domain.PageRequest; 8 | import org.springframework.data.domain.Pageable; 9 | import org.springframework.stereotype.Service; 10 | 11 | import com.kodlamaio.rentACar.business.abstracts.CustomerCheckService; 12 | import com.kodlamaio.rentACar.business.abstracts.IndividualCustomerService; 13 | import com.kodlamaio.rentACar.business.requests.individualCustomers.CreateIndividualCustomersRequest; 14 | import com.kodlamaio.rentACar.business.requests.individualCustomers.DeleteIndividualCustomersRequest; 15 | import com.kodlamaio.rentACar.business.requests.individualCustomers.UpdateIndividualCustomersRequest; 16 | import com.kodlamaio.rentACar.business.response.individualCustomers.GetAllIndividualCustomerResponse; 17 | import com.kodlamaio.rentACar.business.response.individualCustomers.ReadIndividualCustomerResponse; 18 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 19 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 20 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 21 | import com.kodlamaio.rentACar.core.utilities.results.ErrorResult; 22 | import com.kodlamaio.rentACar.core.utilities.results.Result; 23 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 24 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 25 | import com.kodlamaio.rentACar.dataAccess.abstracts.IndividualCustomerRepository; 26 | import com.kodlamaio.rentACar.entitites.concretes.IndividualCustomer; 27 | 28 | @Service 29 | public class IndividualCustomerManager implements IndividualCustomerService { 30 | 31 | IndividualCustomerRepository individualCustomerRepository; 32 | ModelMapperService modelMapperService; 33 | CustomerCheckService customerCheckService; 34 | 35 | public IndividualCustomerManager(IndividualCustomerRepository individualCustomerRepository, 36 | ModelMapperService modelMapperService, CustomerCheckService customerCheckService) { 37 | this.individualCustomerRepository = individualCustomerRepository; 38 | this.modelMapperService = modelMapperService; 39 | this.customerCheckService = customerCheckService; 40 | } 41 | 42 | @Override 43 | public Result add(CreateIndividualCustomersRequest createIndividualCustomersRequest) 44 | throws NumberFormatException, RemoteException { 45 | // Real Person? 46 | checkIfExistIndividualCustomer(createIndividualCustomersRequest); 47 | // customer exist? 48 | checkIfExistIndividualIdentity(createIndividualCustomersRequest.getIdentity()); 49 | //checkIfExistEmail(createIndividualCustomersRequest.getEmail()); 50 | IndividualCustomer individualCustomer = this.modelMapperService.forRequest() 51 | .map(createIndividualCustomersRequest, IndividualCustomer.class); 52 | 53 | this.individualCustomerRepository.save(individualCustomer); 54 | return new SuccessResult("INDIVIDUAL.CUSTOMER.ADDED"); 55 | } 56 | 57 | @Override 58 | public Result update(UpdateIndividualCustomersRequest updateIndividualCustomersRequest) 59 | throws NumberFormatException, RemoteException { 60 | checkIfExistIndividualId(updateIndividualCustomersRequest.getIndividualId()); 61 | checkIfIdentityIsSameForUpdate(updateIndividualCustomersRequest.getIndividualId(), 62 | updateIndividualCustomersRequest.getIdentity()); 63 | checkIfExistIndividualCustomer(updateIndividualCustomersRequest); 64 | //checkIfExistEmail(updateIndividualCustomersRequest.getEmail()); 65 | 66 | IndividualCustomer individualCustomer = this.modelMapperService.forRequest() 67 | .map(updateIndividualCustomersRequest, IndividualCustomer.class); 68 | this.individualCustomerRepository.save(individualCustomer); 69 | return new SuccessResult("INDIVIDUAL.CUSTOMER.UPDATED"); 70 | } 71 | 72 | @Override 73 | public Result delete(DeleteIndividualCustomersRequest deleteIndividualCustomersRequest) { 74 | checkIfExistIndividualId(deleteIndividualCustomersRequest.getIndividualId()); 75 | this.individualCustomerRepository.deleteById(deleteIndividualCustomersRequest.getIndividualId()); 76 | return new SuccessResult("INDIVIDUAL.CUSTOMER.DELETED"); 77 | } 78 | 79 | @Override 80 | public DataResult getById(int id) { 81 | checkIfExistIndividualId(id); 82 | IndividualCustomer individualCustomer = this.individualCustomerRepository.findById(id); 83 | ReadIndividualCustomerResponse response = this.modelMapperService.forResponse().map(individualCustomer, 84 | ReadIndividualCustomerResponse.class); 85 | return new SuccessDataResult(response); 86 | } 87 | 88 | @Override 89 | public DataResult> getAll() { 90 | List individualCustomers = this.individualCustomerRepository.findAll(); 91 | List response = individualCustomers.stream() 92 | .map(individualCustomer -> this.modelMapperService.forResponse().map(individualCustomer, 93 | GetAllIndividualCustomerResponse.class)) 94 | .collect(Collectors.toList()); 95 | return new SuccessDataResult>(response); 96 | } 97 | 98 | @Override 99 | public DataResult> getAll(int pageNo, int pageSize) { 100 | Pageable pageable = PageRequest.of(pageNo - 1, pageSize); 101 | List individualCustomers = this.individualCustomerRepository.findAll(pageable).getContent(); 102 | List response = individualCustomers.stream() 103 | .map(individualCustomer -> this.modelMapperService.forResponse().map(individualCustomer, 104 | GetAllIndividualCustomerResponse.class)) 105 | .collect(Collectors.toList()); 106 | return new SuccessDataResult>(response); 107 | } 108 | 109 | // private void checkIfExistEmail(String eMail) { 110 | // IndividualCustomer individualCustomer = this.individualCustomerRepository.findByEmail(eMail); 111 | // if (individualCustomer.getEmail() != null) { 112 | // 113 | // throw new BusinessException("EMAIL.EXIST"); 114 | // } 115 | // } 116 | 117 | private void checkIfExistIndividualId(int id) { 118 | IndividualCustomer individualCustomer = this.individualCustomerRepository.findById(id); 119 | if (individualCustomer==null ) { 120 | 121 | throw new BusinessException("ID.EXIST"); 122 | } 123 | } 124 | 125 | private void checkIfExistIndividualCustomer(CreateIndividualCustomersRequest createIndividualCustomersRequest) 126 | throws NumberFormatException, RemoteException { 127 | 128 | if (!customerCheckService.checkIfRealPerson(createIndividualCustomersRequest)) { 129 | throw new BusinessException("THIS IDENTITY IS NOT VALID"); 130 | } 131 | } 132 | 133 | private void checkIfExistIndividualCustomer(UpdateIndividualCustomersRequest updateIndividualCustomersRequest) 134 | throws NumberFormatException, RemoteException { 135 | 136 | if (!customerCheckService.checkIfRealPerson(updateIndividualCustomersRequest)) { 137 | throw new BusinessException("THIS IDENTITY IS NOT VALID"); 138 | } 139 | } 140 | 141 | // Create time,check identity for customer. 142 | private void checkIfExistIndividualIdentity(String identity) { 143 | IndividualCustomer individualCustomer = this.individualCustomerRepository.findByIdentity(identity); 144 | if (individualCustomer != null) { 145 | throw new BusinessException(identity); 146 | } 147 | 148 | } 149 | 150 | // check customer Identity ,when updating individual customer. 151 | private void checkIfIdentityIsSameForUpdate(int individualId, String identity) { 152 | IndividualCustomer individualCustomer = this.individualCustomerRepository.findById(individualId); 153 | if (!individualCustomer.getIdentity().equals(identity)) { 154 | checkIfExistIndividualIdentity(identity); 155 | } 156 | } 157 | 158 | } 159 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/InvoiceManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | import java.util.stream.Collectors; 6 | 7 | import org.springframework.stereotype.Service; 8 | 9 | import com.kodlamaio.rentACar.business.abstracts.InvoiceService; 10 | import com.kodlamaio.rentACar.business.requests.invoices.CreateInvoiceRequest; 11 | import com.kodlamaio.rentACar.business.requests.invoices.DeleteInvoiceRequest; 12 | import com.kodlamaio.rentACar.business.requests.invoices.UpdateInvoiceRequest; 13 | import com.kodlamaio.rentACar.business.response.invoices.GetAllInvoiceResponse; 14 | import com.kodlamaio.rentACar.business.response.invoices.ReadInvoiceResponse; 15 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 16 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 17 | import com.kodlamaio.rentACar.core.utilities.results.Result; 18 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 19 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 20 | import com.kodlamaio.rentACar.dataAccess.abstracts.AdditionalItemRepository; 21 | import com.kodlamaio.rentACar.dataAccess.abstracts.InvoiceRepository; 22 | import com.kodlamaio.rentACar.dataAccess.abstracts.OrderedAdditionalItemsRepository; 23 | import com.kodlamaio.rentACar.dataAccess.abstracts.RentalRepository; 24 | import com.kodlamaio.rentACar.entitites.concretes.AdditionalItem; 25 | import com.kodlamaio.rentACar.entitites.concretes.Invoice; 26 | import com.kodlamaio.rentACar.entitites.concretes.OrderedAdditionalItems; 27 | import com.kodlamaio.rentACar.entitites.concretes.Rental; 28 | 29 | @Service 30 | public class InvoiceManager implements InvoiceService { 31 | 32 | private InvoiceRepository invoiceRepository; 33 | 34 | private ModelMapperService modelMapperService; 35 | 36 | private OrderedAdditionalItemsRepository additionalRepository; 37 | 38 | private AdditionalItemRepository additionalItemRepository; 39 | 40 | private RentalRepository rentalRepository; 41 | 42 | 43 | 44 | public InvoiceManager(InvoiceRepository invoiceRepository, ModelMapperService modelMapperService, 45 | OrderedAdditionalItemsRepository additionalRepository, RentalRepository rentalRepository) { 46 | 47 | this.invoiceRepository = invoiceRepository; 48 | this.modelMapperService = modelMapperService; 49 | this.additionalRepository = additionalRepository; 50 | this.rentalRepository = rentalRepository; 51 | } 52 | 53 | @Override 54 | public Result add(CreateInvoiceRequest createInvoiceRequest) { 55 | // checkIfInvoiceNumber(createInvoiceRequest.getInvoice()); 56 | 57 | Invoice invoice = this.modelMapperService.forRequest().map(createInvoiceRequest, Invoice.class); 58 | invoice.setInvoiceDate(invoice.getInvoiceDate()); 59 | invoice.setSumTotalPrice(calculateTotalPrice(createInvoiceRequest.getRentalId())); 60 | // invoice.setInvoiceNumber("123plk"); 61 | 62 | invoice.setState(1); 63 | this.invoiceRepository.save(invoice); 64 | 65 | return new SuccessResult("INVOICE.ADDED"); 66 | 67 | } 68 | 69 | @Override 70 | public Result update(UpdateInvoiceRequest updateInvoiceRequest) { 71 | // TODO Auto-generated method stub 72 | return null; 73 | } 74 | 75 | @Override 76 | public Result delete(DeleteInvoiceRequest deleteInvoiceRequest) { 77 | Invoice invoice = this.modelMapperService.forRequest().map(deleteInvoiceRequest, Invoice.class); 78 | invoice.setState(0); 79 | this.invoiceRepository.save(invoice); 80 | return new SuccessResult("invoice is canceled"); 81 | } 82 | 83 | @Override 84 | public DataResult> getAll() { 85 | List invoices = this.invoiceRepository.findAll(); 86 | 87 | List response = invoices.stream() 88 | .map(invoice -> this.modelMapperService.forResponse().map(invoice, GetAllInvoiceResponse.class)) 89 | .collect(Collectors.toList()); 90 | 91 | return new SuccessDataResult>(response, "All Invoices"); 92 | } 93 | 94 | @Override 95 | public DataResult getById(int id) { 96 | 97 | Invoice invoice = this.invoiceRepository.findById(id).get(); 98 | ReadInvoiceResponse invoiceResponse = this.modelMapperService.forResponse().map(invoice, 99 | ReadInvoiceResponse.class); 100 | return new SuccessDataResult(invoiceResponse); 101 | } 102 | 103 | private double calculateTotalPrice(int rentalId) { 104 | Rental rental = this.rentalRepository.findById(rentalId); 105 | double totalPrice = rental.getTotalPrice() + allRentalAdditionalTotalPrice(rentalId); 106 | return totalPrice; 107 | } 108 | 109 | private double allRentalAdditionalTotalPrice(int id) { 110 | double totalAdditionalPrice = 0; 111 | List additionals = this.additionalRepository.findByRentalId(id); 112 | for (OrderedAdditionalItems additional : additionals) { 113 | totalAdditionalPrice += additional.getTotalPrice(); 114 | } 115 | return totalAdditionalPrice; 116 | } 117 | 118 | @Override 119 | public DataResult> getAllAdditionalItems(int rentalId) { 120 | List additionals = this.additionalRepository.findByRentalId(rentalId); 121 | List additionalItems = new ArrayList(); 122 | 123 | for (OrderedAdditionalItems additionalService : additionals) { 124 | AdditionalItem additionalItem = this.additionalItemRepository 125 | .findById(additionalService.getAdditionalItem().getId()); 126 | additionalItems.add(additionalItem); 127 | } 128 | return new SuccessDataResult>(additionalItems); 129 | } 130 | 131 | } 132 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/MaintenanceManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.util.List; 4 | import java.util.stream.Collectors; 5 | 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import com.kodlamaio.rentACar.business.abstracts.MaintenanceService; 10 | import com.kodlamaio.rentACar.business.requests.maintenances.CreateMaintenanceRequest; 11 | import com.kodlamaio.rentACar.business.requests.maintenances.DeleteMaintenanceRequest; 12 | import com.kodlamaio.rentACar.business.requests.maintenances.UpdateMaintenanceRequest; 13 | import com.kodlamaio.rentACar.business.response.maintenances.GetAllMaintenanceResponse; 14 | import com.kodlamaio.rentACar.business.response.maintenances.ReadMaintenanceResponse; 15 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 16 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 17 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 18 | import com.kodlamaio.rentACar.core.utilities.results.Result; 19 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 20 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 21 | import com.kodlamaio.rentACar.dataAccess.abstracts.CarRepository; 22 | import com.kodlamaio.rentACar.dataAccess.abstracts.MaintenanceRepository; 23 | import com.kodlamaio.rentACar.entitites.concretes.Car; 24 | import com.kodlamaio.rentACar.entitites.concretes.Maintenance; 25 | 26 | @Service 27 | public class MaintenanceManager implements MaintenanceService { 28 | 29 | private MaintenanceRepository maintenanceRepository; 30 | private CarRepository carRepository; 31 | private ModelMapperService modelMapperService; 32 | 33 | public MaintenanceManager(MaintenanceRepository maintenanceRepository, CarRepository carRepository, 34 | ModelMapperService modelMapperService) { 35 | 36 | this.maintenanceRepository = maintenanceRepository; 37 | this.carRepository = carRepository; 38 | this.modelMapperService = modelMapperService; 39 | } 40 | 41 | @Override 42 | public Result add(CreateMaintenanceRequest createMaintenanceRequest) { 43 | checkIfCarId(createMaintenanceRequest.getCarId()); 44 | Maintenance maintenance = this.modelMapperService.forRequest().map(createMaintenanceRequest, Maintenance.class); 45 | Car car = this.carRepository.findById(createMaintenanceRequest.getCarId()); 46 | car.setState(2); 47 | maintenance.setCar(car); 48 | 49 | this.maintenanceRepository.save(maintenance); 50 | return new SuccessResult("MAINTENANCE.ADDED"); 51 | 52 | } 53 | 54 | @Override 55 | public Result update(UpdateMaintenanceRequest updateMaintenanceRequest) { 56 | checkIfMaintenanceId(updateMaintenanceRequest.getId()); 57 | checkIfCarId(updateMaintenanceRequest.getCarId()); 58 | Maintenance maintenance = this.modelMapperService.forRequest().map(updateMaintenanceRequest, Maintenance.class); 59 | Car car = this.carRepository.findById(updateMaintenanceRequest.getCarId()); 60 | maintenance.setCar(car); 61 | 62 | this.maintenanceRepository.save(maintenance); 63 | return new SuccessResult("updated"); 64 | 65 | } 66 | 67 | @Override 68 | public Result delete(DeleteMaintenanceRequest deleteMaintenanceRequest) { 69 | this.maintenanceRepository.deleteById(deleteMaintenanceRequest.getId()); 70 | return new SuccessResult("silindi"); 71 | 72 | } 73 | 74 | @Override 75 | public DataResult> getAll() { 76 | List maintenances = this.maintenanceRepository.findAll(); 77 | 78 | List response = maintenances.stream().map( 79 | maintenance -> this.modelMapperService.forResponse().map(maintenance, GetAllMaintenanceResponse.class)) 80 | .collect(Collectors.toList()); 81 | 82 | return new SuccessDataResult>(response); 83 | } 84 | 85 | @Override 86 | public DataResult getById(int id) { 87 | 88 | Maintenance maintenance = this.maintenanceRepository.findById(id); 89 | ReadMaintenanceResponse response = this.modelMapperService.forResponse().map(maintenance, 90 | ReadMaintenanceResponse.class); 91 | return new SuccessDataResult(response); 92 | 93 | } 94 | 95 | private void checkIfMaintenanceId(int id) { 96 | Maintenance maintenance = this.maintenanceRepository.findById(id); 97 | if (maintenance == null) { 98 | throw new BusinessException("MAINTENANCE NOT EXISTS"); 99 | } 100 | } 101 | 102 | 103 | private void checkIfCarId(int id) { 104 | Car car = this.carRepository.findById(id); 105 | if (car == null) { 106 | throw new BusinessException("CAR ID NOT EXISTS"); 107 | } 108 | } 109 | 110 | } 111 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/concretes/OrderedAdditionalItemsManager.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.concretes; 2 | 3 | import java.util.List; 4 | import java.util.concurrent.TimeUnit; 5 | import java.util.stream.Collectors; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | 10 | import com.kodlamaio.rentACar.business.abstracts.OrderedAdditionalItemsService; 11 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.CreateOrderedAdditionalItemsRequest; 12 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.DeleteOrderedAdditionalItemsRequest; 13 | import com.kodlamaio.rentACar.business.requests.orderedAdditionalItems.UpdateOrderedAdditionalItemsRequest; 14 | import com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse.GetAllOrderedAdditionalItemsResponse; 15 | import com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse.ReadOrderedAdditionalItemsResponse; 16 | import com.kodlamaio.rentACar.core.utilities.exceptions.BusinessException; 17 | import com.kodlamaio.rentACar.core.utilities.mapping.ModelMapperService; 18 | import com.kodlamaio.rentACar.core.utilities.results.DataResult; 19 | import com.kodlamaio.rentACar.core.utilities.results.Result; 20 | import com.kodlamaio.rentACar.core.utilities.results.SuccessDataResult; 21 | import com.kodlamaio.rentACar.core.utilities.results.SuccessResult; 22 | import com.kodlamaio.rentACar.dataAccess.abstracts.AdditionalItemRepository; 23 | import com.kodlamaio.rentACar.dataAccess.abstracts.OrderedAdditionalItemsRepository; 24 | import com.kodlamaio.rentACar.dataAccess.abstracts.RentalRepository; 25 | import com.kodlamaio.rentACar.entitites.concretes.AdditionalItem; 26 | import com.kodlamaio.rentACar.entitites.concretes.Car; 27 | import com.kodlamaio.rentACar.entitites.concretes.OrderedAdditionalItems; 28 | import com.kodlamaio.rentACar.entitites.concretes.Rental; 29 | //check AdditionalId 30 | //check rentalId 31 | @Service 32 | public class OrderedAdditionalItemsManager implements OrderedAdditionalItemsService { 33 | 34 | OrderedAdditionalItemsRepository orderedAdditionalItemsRepository; 35 | 36 | ModelMapperService modelMapperService; 37 | 38 | AdditionalItemRepository additionalItemRepository; 39 | 40 | RentalRepository rentalRepository; 41 | 42 | @Autowired 43 | public OrderedAdditionalItemsManager(OrderedAdditionalItemsRepository orderedAdditionalItemsRepository, 44 | ModelMapperService modelMapperService, AdditionalItemRepository additionalItemRepository) { 45 | super(); 46 | this.orderedAdditionalItemsRepository = orderedAdditionalItemsRepository; 47 | this.modelMapperService = modelMapperService; 48 | this.additionalItemRepository = additionalItemRepository; 49 | } 50 | 51 | @Override 52 | public Result add(CreateOrderedAdditionalItemsRequest createOrderedAdditionalItemsRequest) { 53 | checkIfAdditionalItemId(createOrderedAdditionalItemsRequest.getAdditionalItemId()); 54 | checkIfExistRentalId(createOrderedAdditionalItemsRequest.getAdditionalItemId()); 55 | 56 | OrderedAdditionalItems orderedAdditionalItems = this.modelMapperService.forRequest() 57 | .map(createOrderedAdditionalItemsRequest, OrderedAdditionalItems.class); 58 | AdditionalItem additionalItem = this.additionalItemRepository 59 | .findById(createOrderedAdditionalItemsRequest.getAdditionalItemId()); 60 | 61 | orderedAdditionalItems.setTotalPrice(calculateTotalPrice(orderedAdditionalItems,additionalItem )); 62 | this.orderedAdditionalItemsRepository.save(orderedAdditionalItems); 63 | return new SuccessResult("ADDITIONAL.ADDED"); 64 | } 65 | 66 | @Override 67 | public Result delete(DeleteOrderedAdditionalItemsRequest deleteOrderedAdditionalItemsRequest) { 68 | checkIfOrderedAdditionalItemsId(deleteOrderedAdditionalItemsRequest.getId()); 69 | this.orderedAdditionalItemsRepository.deleteById(deleteOrderedAdditionalItemsRequest.getId()); 70 | return new SuccessResult("ADDITIONAL.DELETED"); 71 | } 72 | 73 | @Override 74 | public Result update(UpdateOrderedAdditionalItemsRequest updateOrderedAdditionalItemsRequest) { 75 | checkIfOrderedAdditionalItemsId(updateOrderedAdditionalItemsRequest.getId()); 76 | checkIfAdditionalItemId(updateOrderedAdditionalItemsRequest.getAdditionalItemId()); 77 | checkIfExistRentalId(updateOrderedAdditionalItemsRequest.getRentalId()); 78 | OrderedAdditionalItems additional = this.modelMapperService.forRequest() 79 | .map(updateOrderedAdditionalItemsRequest, OrderedAdditionalItems.class); 80 | this.orderedAdditionalItemsRepository.save(additional); 81 | return new SuccessResult("ADDITIONAL.UPDATED"); 82 | } 83 | 84 | @Override 85 | public DataResult getById(int id) { 86 | checkIfOrderedAdditionalItemsId(id); 87 | OrderedAdditionalItems orderedAdditionalItems = this.orderedAdditionalItemsRepository.findById(id); 88 | ReadOrderedAdditionalItemsResponse response = this.modelMapperService.forResponse().map(orderedAdditionalItems, 89 | ReadOrderedAdditionalItemsResponse.class); 90 | return new SuccessDataResult(response); 91 | 92 | } 93 | 94 | @Override 95 | public DataResult> getAll() { 96 | List additionals = this.orderedAdditionalItemsRepository.findAll(); 97 | List response = additionals.stream() 98 | .map(additional -> this.modelMapperService.forResponse().map(additional, 99 | GetAllOrderedAdditionalItemsResponse.class)) 100 | .collect(Collectors.toList()); 101 | return new SuccessDataResult>(response); 102 | } 103 | 104 | private long calculateTotalDay(OrderedAdditionalItems orderedAdditionalItems) { 105 | 106 | long dayDifference = (orderedAdditionalItems.getReturnDate().getTime() - orderedAdditionalItems.getPickupDate().getTime()); 107 | 108 | if (dayDifference < 0) { 109 | throw new BusinessException("Invalid date"); 110 | 111 | } 112 | long time = TimeUnit.DAYS.convert(dayDifference, TimeUnit.MILLISECONDS); 113 | orderedAdditionalItems.setTotalDays((int) time); 114 | return time; 115 | 116 | } 117 | 118 | private double calculateTotalPrice(OrderedAdditionalItems orderedAdditionalItems, AdditionalItem additionalItem) { 119 | long time = calculateTotalDay(orderedAdditionalItems); 120 | orderedAdditionalItems.setTotalDays((int) time); 121 | double totalPrice = additionalItem.getDailyPrice() * time; 122 | 123 | return totalPrice; 124 | } 125 | 126 | private void checkIfOrderedAdditionalItemsId(int id) { 127 | OrderedAdditionalItems orderedAdditionalItems = this.orderedAdditionalItemsRepository.findById(id); 128 | if (orderedAdditionalItems == null) { 129 | throw new BusinessException("ID.NOT.FOUND"); 130 | } 131 | } 132 | 133 | private void checkIfAdditionalItemId(int id) { 134 | AdditionalItem additionalItem = this.additionalItemRepository.findById(id); 135 | if (additionalItem == null) { 136 | throw new BusinessException("ADDITIONAL.ID.NOT.FOUND"); 137 | } 138 | } 139 | 140 | private void checkIfExistRentalId(int id) { 141 | } 142 | } 143 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/additionalItems/CreateAddionalItemRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.additionalItems; 2 | 3 | import javax.validation.constraints.Min; 4 | import javax.validation.constraints.NotBlank; 5 | import javax.validation.constraints.NotEmpty; 6 | import javax.validation.constraints.NotNull; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.NoArgsConstructor; 11 | 12 | @Data 13 | @NoArgsConstructor 14 | @AllArgsConstructor 15 | public class CreateAddionalItemRequest { 16 | 17 | private int id; 18 | @NotBlank 19 | @NotNull 20 | @NotEmpty 21 | private String description; 22 | @NotBlank 23 | @NotNull 24 | @NotEmpty 25 | private String name; 26 | @Min(20) 27 | private double dailyPrice; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/additionalItems/DeleteAdditionalItemRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.additionalItems; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteAdditionalItemRequest { 11 | private int id; 12 | } 13 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/additionalItems/UpdateAdditionalItemRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.additionalItems; 2 | 3 | import javax.validation.constraints.Min; 4 | import javax.validation.constraints.NotBlank; 5 | import javax.validation.constraints.NotEmpty; 6 | import javax.validation.constraints.NotNull; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.NoArgsConstructor; 11 | 12 | @Data 13 | @NoArgsConstructor 14 | @AllArgsConstructor 15 | public class UpdateAdditionalItemRequest { 16 | 17 | private int id; 18 | @NotBlank 19 | @NotNull 20 | @NotEmpty 21 | private String description; 22 | @NotBlank 23 | @NotNull 24 | @NotEmpty 25 | private String name; 26 | @Min(20) 27 | private double dailyPrice; 28 | } 29 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/addresses/CreateDifferentAddressRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.addresses; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.NotEmpty; 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Size; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.NoArgsConstructor; 11 | 12 | @Data 13 | @AllArgsConstructor 14 | @NoArgsConstructor 15 | public class CreateDifferentAddressRequest { 16 | 17 | 18 | @NotNull 19 | @NotBlank 20 | @NotEmpty 21 | @Size(min=2,max=100) 22 | private String contactAddress; 23 | @NotBlank 24 | @NotNull 25 | @NotEmpty 26 | @Size(min=2,max=100) 27 | private String invoiceAddress; 28 | @NotNull 29 | private int customerId; 30 | } 31 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/addresses/CreateSameAddressRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.addresses; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.NotEmpty; 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Size; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.NoArgsConstructor; 11 | 12 | @Data 13 | @AllArgsConstructor 14 | @NoArgsConstructor 15 | public class CreateSameAddressRequest { 16 | 17 | @NotNull 18 | @NotBlank 19 | @NotEmpty 20 | @Size(min=2,max=100) 21 | private String contactAddress; 22 | @NotNull 23 | private int customerId; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/addresses/DeleteAddressRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.addresses; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class DeleteAddressRequest { 11 | private int id; 12 | } 13 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/addresses/UpdateDifferentAddressRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.addresses; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.NotEmpty; 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Size; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.NoArgsConstructor; 11 | 12 | @Data 13 | @AllArgsConstructor 14 | @NoArgsConstructor 15 | public class UpdateDifferentAddressRequest { 16 | @NotNull 17 | private int id; 18 | @NotNull 19 | @NotBlank 20 | @NotEmpty 21 | @Size(min = 2, max = 100) 22 | private String contactAddress; 23 | @NotBlank 24 | @NotNull 25 | @NotEmpty 26 | @Size(min = 2, max = 100) 27 | private String invoiceAddress; 28 | @NotNull 29 | private int customerId; 30 | } 31 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/addresses/UpdateSameAddressRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.addresses; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.NotEmpty; 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Size; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.NoArgsConstructor; 11 | @Data 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class UpdateSameAddressRequest { 15 | 16 | @NotNull 17 | private int id; 18 | @NotNull 19 | @NotBlank 20 | @NotEmpty 21 | @Size(min = 2, max = 100) 22 | private String contactAddress; 23 | 24 | @NotNull 25 | private int customerId; 26 | } 27 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/brands/CreateBrandRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.brands; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.Size; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Data; 8 | import lombok.NoArgsConstructor; 9 | 10 | @Data 11 | @NoArgsConstructor 12 | @AllArgsConstructor 13 | 14 | public class CreateBrandRequest { 15 | private int id; 16 | 17 | @NotBlank 18 | @Size(min=2,max=50) 19 | private String name; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/brands/DeleteBrandRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.brands; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteBrandRequest { 11 | private int id; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/brands/UpdateBrandRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.brands; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class UpdateBrandRequest { 11 | private int id; 12 | private String name; 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/cars/CreateCarRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.cars; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.NotEmpty; 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Size; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.NoArgsConstructor; 11 | 12 | @Data 13 | @NoArgsConstructor 14 | @AllArgsConstructor 15 | public class CreateCarRequest { 16 | @NotNull 17 | private int id; 18 | @NotNull 19 | @NotBlank 20 | @NotEmpty 21 | @Size(min=2,max=15) 22 | private String description; 23 | private double dailyPrice; 24 | private int brandId; 25 | private int colorId; 26 | private double kilometer; 27 | private String carPlate; 28 | private int maintenanceId; 29 | private int state; 30 | private int minFindeksScore; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/cars/DeleteCarRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.cars; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | 11 | public class DeleteCarRequest { 12 | private int id; 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/cars/UpdateCarRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.cars; 2 | 3 | 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @NoArgsConstructor 10 | @AllArgsConstructor 11 | public class UpdateCarRequest { 12 | private int id; 13 | private String description; 14 | private double dailyPrice; 15 | private int brandId; 16 | private int colorId; 17 | private double kilometer; 18 | private String carPlate; 19 | private int minFindeksScore; 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | } 30 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/colors/CreateColorRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.colors; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.Size; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Data; 8 | import lombok.NoArgsConstructor; 9 | 10 | @Data 11 | @NoArgsConstructor 12 | @AllArgsConstructor 13 | public class CreateColorRequest { 14 | 15 | private int id; 16 | @NotBlank 17 | @Size(min=2,max=50) 18 | private String name; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/colors/DeleteColorRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.colors; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteColorRequest { 11 | private int id; 12 | } 13 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/colors/UpdateColorRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.colors; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class UpdateColorRequest { 11 | private int id; 12 | private String name; 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/corporateCustomers/CreateCorporateCustomersRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.corporateCustomers; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.NotEmpty; 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Pattern; 7 | import javax.validation.constraints.Size; 8 | 9 | import lombok.AllArgsConstructor; 10 | import lombok.Data; 11 | import lombok.NoArgsConstructor; 12 | 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class CreateCorporateCustomersRequest { 17 | // @Pattern(regexp = "^(?=.{1,64}@)[\\p{L}0-9-]+(\\.[\\p{L}0-9-]+)@" 18 | // + "[^-][\\p{L}0-9-]+(\\.[\\p{L}0-9-]+)(\\.[\\p{L}]{2,})$", message="Write according to the rules name@domain.com") 19 | private String email; 20 | 21 | // @Pattern(regexp = "^(?=.[0-9])(?=.[a-z])(?=.[A-Z])(?=.[@#$%^&+=]).{8,}$", message = "Conditions do not meet") 22 | private String password; 23 | 24 | private String customerNumber; 25 | 26 | @NotBlank 27 | @NotEmpty 28 | @Size(min = 2, max = 50) 29 | private String companyName; 30 | 31 | @NotNull 32 | private String taxNumber; 33 | 34 | private String phoneNumber; 35 | } 36 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/corporateCustomers/DeleteCorporateCustomersRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.corporateCustomers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteCorporateCustomersRequest { 11 | 12 | private int id; 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/corporateCustomers/UpdateCorporateCustomersRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.corporateCustomers; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.NotEmpty; 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Size; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.NoArgsConstructor; 11 | 12 | @Data 13 | @NoArgsConstructor 14 | @AllArgsConstructor 15 | public class UpdateCorporateCustomersRequest { 16 | private int corporateId; 17 | @NotBlank 18 | @NotEmpty 19 | @Size(min = 2, max = 50) 20 | private String companyName; 21 | @NotNull 22 | private String taxNumber; 23 | 24 | private String email; 25 | 26 | private String password; 27 | private String phoneNumber; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/customers/CreateCustomerRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.customers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class CreateCustomerRequest { 11 | 12 | private String email; 13 | private String password; 14 | private String customerNumber; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/customers/DeleteCustomerRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.customers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteCustomerRequest { 11 | private int id; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/customers/UpdateCustomerRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.customers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class UpdateCustomerRequest { 11 | private int id; 12 | private String firstName; 13 | private String lastName; 14 | private String identity; 15 | private String eMail; 16 | private String password; 17 | private int birthYear; 18 | private int minfindeksScore; 19 | } 20 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/individualCustomers/CreateIndividualCustomersRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.individualCustomers; 2 | 3 | import javax.validation.constraints.NotNull; 4 | import javax.validation.constraints.Size; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Data; 8 | import lombok.NoArgsConstructor; 9 | 10 | @Data 11 | @NoArgsConstructor 12 | @AllArgsConstructor 13 | public class CreateIndividualCustomersRequest { 14 | @NotNull 15 | @Size(min = 2, max = 50) 16 | private String firstName; 17 | @NotNull 18 | @Size(min = 2, max = 50) 19 | private String lastName; 20 | // @Pattern(regexp = "[0-9]{11}", message = "Length must be 11") 21 | private String identity; 22 | // @Pattern(regexp = "^(?=.{1,64}@)[\\p{L}0-9-]+(\\.[\\p{L}0-9-]+)@" 23 | // + "[^-][\\p{L}0-9-]+(\\.[\\p{L}0-9-]+)(\\.[\\p{L}]{2,})$", message="Write according to the rules name@domain.com") 24 | private String email; 25 | //en az bir büyük harf, bir küçük harf ve sayıdan oluşan parola için 26 | // @Pattern(regexp = "^(?=.[0-9])(?=.[a-z])(?=.[A-Z])(?=.[@#$%^&+=]).{8,}$", message = "Conditions do not meet") 27 | private String password; 28 | @NotNull 29 | private int birthYear; 30 | @NotNull 31 | private int minfindeksScore; 32 | 33 | private String customerNumber; 34 | 35 | // @Pattern(regexp="^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$") 36 | private String phoneNumber; 37 | } 38 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/individualCustomers/DeleteIndividualCustomersRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.individualCustomers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteIndividualCustomersRequest { 11 | private int individualId; 12 | } 13 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/individualCustomers/UpdateIndividualCustomersRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.individualCustomers; 2 | 3 | import javax.validation.constraints.NotBlank; 4 | import javax.validation.constraints.NotEmpty; 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Pattern; 7 | import javax.validation.constraints.Size; 8 | 9 | import lombok.AllArgsConstructor; 10 | import lombok.Data; 11 | import lombok.NoArgsConstructor; 12 | 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class UpdateIndividualCustomersRequest { 17 | private int individualId; 18 | @NotBlank 19 | @NotEmpty 20 | @Size(min = 2, max = 50) 21 | private String firstName; 22 | @NotBlank 23 | @NotEmpty 24 | @Size(min = 2, max = 50) 25 | private String lastName; 26 | // @Pattern(regexp = "[0-9]{11}", message = "Length must be 11") 27 | private String identity; 28 | // @Pattern(regexp = "^(?=.{1,64}@)[\\p{L}0-9-]+(\\.[\\p{L}0-9-]+)@" 29 | // + "[^-][\\p{L}0-9-]+(\\.[\\p{L}0-9-]+)(\\.[\\p{L}]{2,})$", message="Write according to the rules name@domain.com") 30 | private String email; 31 | //en az bir büyük harf, bir küçük harf ve sayıdan oluşan parola için 32 | // @Pattern(regexp = "^(?=.[0-9])(?=.[a-z])(?=.[A-Z])(?=.[@#$%^&+=]).{8,}$", message = "Conditions do not meet") 33 | private String password; 34 | @NotNull 35 | private int birthYear; 36 | 37 | 38 | private String customerNumber; 39 | 40 | // @Pattern(regexp="^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$") 41 | private String phoneNumber; 42 | } 43 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/invoices/CreateInvoiceRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.invoices; 2 | 3 | import java.util.Date; 4 | 5 | import javax.validation.constraints.NotNull; 6 | import javax.validation.constraints.Size; 7 | 8 | import org.springframework.format.annotation.DateTimeFormat; 9 | 10 | import lombok.AllArgsConstructor; 11 | import lombok.Data; 12 | import lombok.NoArgsConstructor; 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class CreateInvoiceRequest { 17 | @NotNull 18 | @Size(min=4,max=10,message="Must be least 4") 19 | private String invoiceNumber; 20 | private int rentalId; 21 | @DateTimeFormat 22 | private Date invoiceDate; 23 | 24 | 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/invoices/DeleteInvoiceRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.invoices; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteInvoiceRequest { 11 | private int id; 12 | } 13 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/invoices/UpdateInvoiceRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.invoices; 2 | 3 | import java.util.Date; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | @Data 9 | @NoArgsConstructor 10 | @AllArgsConstructor 11 | public class UpdateInvoiceRequest { 12 | private int id; 13 | private String invoiceNumber; 14 | private int rentalId; 15 | private Date invoiceDate; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/maintenances/CreateMaintenanceRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.maintenances; 2 | 3 | import java.sql.Date; 4 | import java.time.LocalDate; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Data; 8 | import lombok.NoArgsConstructor; 9 | 10 | @Data 11 | @NoArgsConstructor 12 | @AllArgsConstructor 13 | public class CreateMaintenanceRequest { 14 | private int id; 15 | private Date dateSent; 16 | private Date dateReturned; 17 | private int carId; 18 | 19 | 20 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/maintenances/DeleteMaintenanceRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.maintenances; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteMaintenanceRequest { 11 | private int id; 12 | } 13 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/maintenances/UpdateMaintenanceRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.maintenances; 2 | 3 | import java.sql.Date; 4 | import java.time.LocalDate; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Data; 8 | import lombok.NoArgsConstructor; 9 | 10 | @Data 11 | @NoArgsConstructor 12 | @AllArgsConstructor 13 | public class UpdateMaintenanceRequest { 14 | private int id; 15 | private Date dateSent; 16 | private Date dateReturned; 17 | private int carId; 18 | private int state; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/orderedAdditionalItems/CreateOrderedAdditionalItemsRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.orderedAdditionalItems; 2 | 3 | import java.util.Date; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class CreateOrderedAdditionalItemsRequest { 13 | private int id; 14 | private double totalPrice; 15 | private int totalDays; 16 | private int additionalItemId; 17 | private Date pickupDate; 18 | private Date returnDate; 19 | private int rentalId; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/orderedAdditionalItems/DeleteOrderedAdditionalItemsRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.orderedAdditionalItems; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class DeleteOrderedAdditionalItemsRequest { 11 | private int id; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/orderedAdditionalItems/UpdateOrderedAdditionalItemsRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.orderedAdditionalItems; 2 | 3 | import java.util.Date; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class UpdateOrderedAdditionalItemsRequest { 13 | private int id; 14 | private double totalPrice; 15 | private int totalDays; 16 | private int additionalItemId; 17 | private Date pickupDate; 18 | private Date returnDate; 19 | private int rentalId; 20 | } 21 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/rentals/CreateRentalRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.rentals; 2 | 3 | import java.time.LocalDate; 4 | import java.util.Date; 5 | 6 | import javax.validation.constraints.Min; 7 | 8 | import com.kodlamaio.rentACar.business.response.rentals.GetAllRentalResponse; 9 | 10 | import lombok.AllArgsConstructor; 11 | import lombok.Data; 12 | import lombok.NoArgsConstructor; 13 | 14 | @Data 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | public class CreateRentalRequest { 18 | private int id; 19 | private int carId; 20 | private Date pickupDate; 21 | private Date returnDate; 22 | @Min(0) 23 | private int totalDays; 24 | private double totalPrice; 25 | private int pickUpCityId; 26 | private int returnCityId; 27 | private int customerId; 28 | } 29 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/rentals/DeleteRentalRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.rentals; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class DeleteRentalRequest { 11 | private int id; 12 | } 13 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/requests/rentals/UpdateRentalRequest.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.requests.rentals; 2 | 3 | import java.sql.Date; 4 | import java.time.LocalDate; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Data; 8 | import lombok.NoArgsConstructor; 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class UpdateRentalRequest { 13 | private int id; 14 | private int carId; 15 | private Date pickupDate; 16 | private Date returnDate; 17 | private int totalDays; 18 | private double totalPrice; 19 | private int pickUpCityId; 20 | private int returnCityId; 21 | private int customerId; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/additionalItems/GetAllAdditionalItemResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.additionalItems; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class GetAllAdditionalItemResponse { 11 | private int id; 12 | private double totalPrice; 13 | private int totalDays; 14 | private int additionalItemId; 15 | } 16 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/additionalItems/ReadAdditionalItemResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.additionalItems; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class ReadAdditionalItemResponse { 11 | private int id; 12 | private String description; 13 | private String name; 14 | private double dailyPrice; 15 | 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/addresses/GetAllAddressResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.addresses; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class GetAllAddressResponse { 11 | private int id; 12 | private String contactAddress; 13 | private String invoiceAddress; 14 | private int customerId; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/addresses/ReadAddressResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.addresses; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class ReadAddressResponse { 11 | private int id; 12 | private String contactAddress; 13 | private String invoiceAddress; 14 | private int customerId; 15 | } 16 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/brands/GetAllBrandResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.brands; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class GetAllBrandResponse { 11 | private int id; 12 | private String name; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/brands/ReadBrandResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.brands; 2 | 3 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class ReadBrandResponse { 13 | private int id; 14 | private String name; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/cars/GetAllCarResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.cars; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class GetAllCarResponse { 11 | private int id; 12 | private String description; 13 | private int minFindeksScore; 14 | } 15 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/cars/ReadCarResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.cars; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class ReadCarResponse { 11 | private int id; 12 | private String description; 13 | 14 | private double dailyPrice; 15 | private int brandId; 16 | private int colorId; 17 | private double kilometer; 18 | private String carPlate; 19 | private int maintenanceId; 20 | private int state; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/colors/GetAllColorResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.colors; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class GetAllColorResponse { 11 | private int id; 12 | private String name; 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/colors/ReadColorResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.colors; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class ReadColorResponse { 11 | private int id; 12 | private String name; 13 | } 14 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/corporateCustomers/GetAllCorporateCustomerResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.corporateCustomers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | @Data 7 | @NoArgsConstructor 8 | @AllArgsConstructor 9 | public class GetAllCorporateCustomerResponse { 10 | private int id; 11 | private String companyName; 12 | 13 | private String taxNumber; 14 | } 15 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/corporateCustomers/ReadCorporateCustomerResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.corporateCustomers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class ReadCorporateCustomerResponse { 11 | private int id; 12 | private String companyName; 13 | private String taxNumber; 14 | } 15 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/customers/GetAllCustomerResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.customers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | 11 | public class GetAllCustomerResponse { 12 | private int id; 13 | private String firstName; 14 | private String lastName; 15 | private String identity; 16 | private String eMail; 17 | private String password; 18 | private int birthYear; 19 | } 20 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/customers/ReadCustomerResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.customers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class ReadCustomerResponse { 11 | private int id; 12 | private String firstName; 13 | private String lastName; 14 | private String identity; 15 | private String eMail; 16 | private String password; 17 | private int birthYear; 18 | } 19 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/individualCustomers/GetAllIndividualCustomerResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.individualCustomers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | 11 | public class GetAllIndividualCustomerResponse { 12 | private int id; 13 | private String firstName; 14 | private String lastName; 15 | private String identity; 16 | private String email; 17 | private String password; 18 | private int birthYear; 19 | private int minfindeksScore; 20 | } 21 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/individualCustomers/ReadIndividualCustomerResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.individualCustomers; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class ReadIndividualCustomerResponse { 11 | private int id; 12 | private String firstName; 13 | private String lastName; 14 | private String identity; 15 | private String email; 16 | private String password; 17 | private int birthYear; 18 | private int minfindeksScore; 19 | } 20 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/invoices/GetAllInvoiceResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.invoices; 2 | 3 | import java.util.Date; 4 | import java.util.List; 5 | 6 | import com.kodlamaio.rentACar.business.requests.invoices.CreateInvoiceRequest; 7 | import com.kodlamaio.rentACar.entitites.concretes.AdditionalItem; 8 | 9 | import lombok.AllArgsConstructor; 10 | import lombok.Data; 11 | import lombok.NoArgsConstructor; 12 | 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class GetAllInvoiceResponse { 17 | private int id; 18 | private String invoiceNumber; 19 | private int rentalId; 20 | private int additionalId; 21 | private boolean state; 22 | private Date invoiceDate; 23 | private String carNumberPlate; 24 | private String carDescription; 25 | private List additionalItems; 26 | private String userFirstName; 27 | private double totalPrice; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/invoices/ReadInvoiceResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.invoices; 2 | 3 | import java.util.Date; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class ReadInvoiceResponse { 13 | private int id; 14 | private int rentalId; 15 | private int invoiceNumber; 16 | private String carNumberPlate; 17 | private String carDescription; 18 | private int additionalId; 19 | private String customerFirstName; 20 | private Date invoiceDate; 21 | private double totalPrice; 22 | } 23 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/maintenances/GetAllMaintenanceResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.maintenances; 2 | 3 | import java.sql.Date; 4 | 5 | import com.kodlamaio.rentACar.business.response.brands.GetAllBrandResponse; 6 | 7 | import lombok.AllArgsConstructor; 8 | import lombok.Data; 9 | import lombok.NoArgsConstructor; 10 | 11 | @Data 12 | @NoArgsConstructor 13 | @AllArgsConstructor 14 | public class GetAllMaintenanceResponse { 15 | private int id; 16 | private Date dateSent; 17 | private Date dateReturned; 18 | private int carId; 19 | } 20 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/maintenances/ReadMaintenanceResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.maintenances; 2 | 3 | 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @NoArgsConstructor 10 | @AllArgsConstructor 11 | public class ReadMaintenanceResponse { 12 | private int id; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/orderedAdditionalItemsResponse/GetAllOrderedAdditionalItemsResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse; 2 | 3 | import java.util.Date; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class GetAllOrderedAdditionalItemsResponse { 13 | private int id; 14 | private double totalPrice; 15 | private int totalDays; 16 | private int additionalItemId; 17 | private Date pickupDate; 18 | private Date returnDate; 19 | } 20 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/orderedAdditionalItemsResponse/ReadOrderedAdditionalItemsResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.orderedAdditionalItemsResponse; 2 | 3 | import java.util.Date; 4 | 5 | import javax.persistence.Column; 6 | 7 | import lombok.AllArgsConstructor; 8 | import lombok.Data; 9 | import lombok.NoArgsConstructor; 10 | 11 | @Data 12 | @NoArgsConstructor 13 | @AllArgsConstructor 14 | public class ReadOrderedAdditionalItemsResponse { 15 | private int id; 16 | private double totalPrice; 17 | private int totalDays; 18 | private int additionalItemId; 19 | private Date pickupDate; 20 | private Date returnDate; 21 | } 22 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/rentals/GetAllRentalResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.rentals; 2 | 3 | import java.time.LocalDate; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | 13 | public class GetAllRentalResponse { 14 | private int id; 15 | private int carId; 16 | private LocalDate pickupDate; 17 | private LocalDate returnDate; 18 | private int totalDays; 19 | private double totalPrice; 20 | } 21 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/business/response/rentals/ReadRentalResponse.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.business.response.rentals; 2 | 3 | import java.time.LocalDate; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class ReadRentalResponse { 13 | private int id; 14 | private int carId; 15 | private LocalDate pickupDate; 16 | private LocalDate returnDate; 17 | private int totalDays; 18 | private double totalPrice; 19 | } 20 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/adapters/FindeksServiceAdapter.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.adapters; 2 | 3 | import java.rmi.RemoteException; 4 | import java.util.HashMap; 5 | import java.util.Random; 6 | 7 | import org.springframework.stereotype.Service; 8 | 9 | import com.kodlamaio.rentACar.business.abstracts.FindeksScoreCheckService; 10 | 11 | @Service 12 | public class FindeksServiceAdapter implements FindeksScoreCheckService { 13 | 14 | Random random = new Random(); 15 | HashMap findeksScore; 16 | 17 | @Override 18 | public int checkIfFindeksScore(String tcNo) throws NumberFormatException, RemoteException { 19 | 20 | findeksScore = new HashMap(); 21 | int score = random.nextInt(1900) + 1; 22 | 23 | System.out.println(score); 24 | findeksScore.put(tcNo, score); // Hashmap içine put ile değer ekliyoruz. 25 | return score; 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/adapters/MernisServiceAdapter.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.adapters; 2 | 3 | import java.rmi.RemoteException; 4 | 5 | import org.springframework.stereotype.Service; 6 | 7 | import com.kodlamaio.rentACar.business.abstracts.CustomerCheckService; 8 | import com.kodlamaio.rentACar.business.requests.customers.CreateCustomerRequest; 9 | import com.kodlamaio.rentACar.business.requests.individualCustomers.CreateIndividualCustomersRequest; 10 | import com.kodlamaio.rentACar.business.requests.individualCustomers.UpdateIndividualCustomersRequest; 11 | import com.kodlamaio.rentACar.entitites.concretes.Customer; 12 | import com.kodlamaio.rentACar.entitites.concretes.IndividualCustomer; 13 | 14 | import tr.gov.nvi.tckimlik.WS.KPSPublicSoapProxy; 15 | 16 | @Service 17 | public class MernisServiceAdapter implements CustomerCheckService { 18 | 19 | @Override 20 | public boolean checkIfRealPerson(CreateIndividualCustomersRequest createIndividualCustomersRequest) throws NumberFormatException, RemoteException { 21 | KPSPublicSoapProxy kpsPublicSoapProxy = new KPSPublicSoapProxy(); 22 | 23 | return kpsPublicSoapProxy.TCKimlikNoDogrula(Long.parseLong(createIndividualCustomersRequest.getIdentity()), createIndividualCustomersRequest.getFirstName().toUpperCase(), 24 | createIndividualCustomersRequest.getLastName().toUpperCase(), createIndividualCustomersRequest.getBirthYear()); 25 | 26 | 27 | } 28 | 29 | @Override 30 | public boolean checkIfRealPerson(UpdateIndividualCustomersRequest updateIndividualCustomersRequest) 31 | throws NumberFormatException, RemoteException { 32 | KPSPublicSoapProxy kpsPublicSoapProxy = new KPSPublicSoapProxy(); 33 | 34 | return kpsPublicSoapProxy.TCKimlikNoDogrula(Long.parseLong(updateIndividualCustomersRequest.getIdentity()), updateIndividualCustomersRequest.getFirstName().toUpperCase(), 35 | updateIndividualCustomersRequest.getLastName().toUpperCase(), updateIndividualCustomersRequest.getBirthYear()); 36 | 37 | } 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/aspects/Logging.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.aspects; 2 | 3 | import org.aspectj.lang.ProceedingJoinPoint; 4 | import org.aspectj.lang.annotation.AfterReturning; 5 | import org.aspectj.lang.annotation.Around; 6 | import org.aspectj.lang.annotation.Aspect; 7 | import org.aspectj.lang.annotation.Before; 8 | import org.springframework.stereotype.Component; 9 | 10 | @Aspect 11 | @Component 12 | public class Logging { 13 | 14 | 15 | // @Before("execution(* com.kodlamaio.rentACar.business.concretes.*.getById())") 16 | // public void beforeLogging(ProceedingJoinPoint proceedingJoinPoint) { 17 | // try { 18 | // System.out.println("öncesinde kontrol et"); 19 | // proceedingJoinPoint.proceed(); 20 | // 21 | // } catch (Throwable e) { 22 | // System.out.println("hata verdiğinde kontrol et"); 23 | // 24 | // } 25 | // finally { 26 | // System.out.println("her türlü calisti"); 27 | // } 28 | // } 29 | 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/aspects/LoggingAspect.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.aspects; 2 | 3 | import java.io.BufferedWriter; 4 | import java.io.File; 5 | import java.io.FileWriter; 6 | import java.io.IOException; 7 | import java.time.LocalDate; 8 | 9 | import org.aspectj.lang.JoinPoint; 10 | import org.aspectj.lang.annotation.Aspect; 11 | import org.aspectj.lang.annotation.Before; 12 | import org.aspectj.lang.reflect.MethodSignature; 13 | import org.json.JSONException; 14 | import org.springframework.stereotype.Component; 15 | 16 | import com.fasterxml.jackson.databind.ObjectMapper; 17 | 18 | @Aspect 19 | @Component // classdan nesne üretme işini spring e bırakıyoruz 20 | public class LoggingAspect { 21 | //List builderList = new ArrayList(); 22 | 23 | // @Before("execution(* 24 | // com.kodlamaio.rentACar.business.concretes.BrandManager.*(..))") 25 | @Before("execution(* com.kodlamaio.rentACar.business.concretes.*.*(..))") 26 | public void beforeLog(JoinPoint joinPoint) throws JSONException, IOException { 27 | MethodSignature signature = (MethodSignature) joinPoint.getSignature(); 28 | StringBuilder builder = new StringBuilder(); 29 | ObjectMapper mapper = new ObjectMapper(); 30 | 31 | builder.append("\n{"); 32 | builder.append(("\n" + "\"date\":") + mapper.writeValueAsString(LocalDate.now().getYear() + "-"+LocalDate.now().getMonthValue() + "-" + LocalDate.now().getDayOfMonth())); 33 | 34 | builder.append("\n" + "\"className\":" + mapper.writeValueAsString(joinPoint.getTarget().getClass().getSimpleName())); 35 | builder.append("\n" + "\"methodName\":" + mapper.writeValueAsString(signature.getMethod().getName())); 36 | 37 | if (signature.getMethod().getName() != "getAll") { 38 | builder.append("\n" + "\"parameters:\":" + mapper.writeValueAsString(joinPoint.getArgs())); // java reflection 39 | 40 | } else { 41 | builder.append("\n" + "\"parameter:\":" + "null"); 42 | 43 | } 44 | builder.append("\n" +"}"); 45 | 46 | File file = new File("C:\\logs\\operations.json"); 47 | 48 | try(BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file,true)) ) { 49 | bufferedWriter.write(builder.toString()); 50 | } catch (Exception e) { 51 | 52 | }} 53 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/exceptions/BusinessException.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.exceptions; 2 | 3 | public class BusinessException extends RuntimeException{ 4 | 5 | public BusinessException(String message) { 6 | super(message); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/mapping/ModelMapperService.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.mapping; 2 | 3 | import org.modelmapper.ModelMapper; 4 | 5 | 6 | public interface ModelMapperService { 7 | 8 | ModelMapper forResponse(); 9 | ModelMapper forRequest(); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/mapping/ModelMapperServiceImpls.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.mapping; 2 | 3 | import org.modelmapper.ModelMapper; 4 | import org.modelmapper.convention.MatchingStrategies; 5 | import org.springframework.stereotype.Service; 6 | 7 | @Service 8 | public class ModelMapperServiceImpls implements ModelMapperService { 9 | 10 | private ModelMapper modelMapper; 11 | 12 | public ModelMapperServiceImpls(ModelMapper modelMapper) { 13 | 14 | this.modelMapper = modelMapper; 15 | } 16 | 17 | @Override 18 | public ModelMapper forResponse() { 19 | 20 | this.modelMapper.getConfiguration().setAmbiguityIgnored(true).setMatchingStrategy(MatchingStrategies.LOOSE); 21 | return this.modelMapper; 22 | } 23 | 24 | @Override 25 | public ModelMapper forRequest() { 26 | this.modelMapper.getConfiguration().setAmbiguityIgnored(true).setMatchingStrategy(MatchingStrategies.STANDARD); 27 | return this.modelMapper; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/results/DataResult.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.results; 2 | 3 | 4 | public class DataResult extends Result { 5 | 6 | private T data; 7 | public DataResult(T data, boolean success, String message) { 8 | super(success, message); 9 | this.data = data; 10 | } 11 | 12 | public DataResult(T data, boolean success) { 13 | super(success); 14 | this.data = data; 15 | } 16 | 17 | public T getData() { 18 | return this.data; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/results/ErrorDataResult.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.results; 2 | 3 | public class ErrorDataResult extends DataResult { 4 | public ErrorDataResult(T data, String message) { 5 | super(data, false ,message); 6 | } 7 | 8 | public ErrorDataResult(T data) { 9 | super(data,false); 10 | } 11 | 12 | public ErrorDataResult(String message) { 13 | super(null, false ,message); 14 | } 15 | 16 | public ErrorDataResult() { 17 | super(null, false); 18 | }} -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/results/ErrorResult.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.results; 2 | 3 | public class ErrorResult extends Result{ 4 | public ErrorResult() { 5 | super(false); 6 | } 7 | 8 | public ErrorResult(String message) { 9 | super(false,message); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/results/Result.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.results; 2 | 3 | 4 | public class Result { 5 | private boolean success; 6 | private String message; 7 | 8 | public Result(boolean success) { 9 | this.success = success; 10 | } 11 | 12 | public Result(boolean success,String message) { 13 | this(success); 14 | this.message = message; 15 | } 16 | 17 | public boolean isSuccess() { 18 | return this.success; 19 | } 20 | 21 | public String getMessage() { 22 | return this.message; 23 | } 24 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/results/SuccessDataResult.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.results; 2 | 3 | 4 | public class SuccessDataResult extends DataResult { 5 | 6 | public SuccessDataResult(T data, String message) { 7 | super(data, true ,message); 8 | } 9 | 10 | public SuccessDataResult(T data) { 11 | super(data,true); 12 | } 13 | 14 | public SuccessDataResult(String message) { 15 | super(null, true ,message); 16 | } 17 | 18 | public SuccessDataResult() { 19 | super(null, true); 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/core/utilities/results/SuccessResult.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.core.utilities.results; 2 | public class SuccessResult extends Result{ 3 | public SuccessResult() { 4 | super(true); 5 | } 6 | 7 | public SuccessResult(String message) { 8 | super(true,message); 9 | } 10 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/AdditionalItemRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.business.requests.additionalItems.CreateAddionalItemRequest; 6 | import com.kodlamaio.rentACar.core.utilities.results.Result; 7 | import com.kodlamaio.rentACar.entitites.concretes.AdditionalItem; 8 | 9 | public interface AdditionalItemRepository extends JpaRepository{ 10 | 11 | AdditionalItem findById(int id); 12 | AdditionalItem findByName(String name); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/AddressRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.entitites.concretes.Address; 6 | 7 | public interface AddressRepository extends JpaRepository{ 8 | 9 | Address findById(int id); 10 | } 11 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/BrandRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 6 | 7 | public interface BrandRepository extends JpaRepository { 8 | 9 | Brand findById(int id); 10 | Brand findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/CarRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | import com.kodlamaio.rentACar.entitites.concretes.Car; 8 | import com.kodlamaio.rentACar.entitites.concretes.Rental; 9 | 10 | public interface CarRepository extends JpaRepository{ 11 | 12 | List findByBrandId(int brandId); 13 | Car findById(int id); 14 | Car findByCarPlate(String carPlate); 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/ColorRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.entitites.concretes.Color; 6 | 7 | public interface ColorRepository extends JpaRepository { 8 | 9 | Color findByName(String name); 10 | Color findById(int id); 11 | } 12 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/CorporateCustomerRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.entitites.concretes.CorporateCustomer; 6 | import com.kodlamaio.rentACar.entitites.concretes.IndividualCustomer; 7 | 8 | public interface CorporateCustomerRepository extends JpaRepository{ 9 | CorporateCustomer findById(int id); 10 | CorporateCustomer findByEmail(String email); 11 | CorporateCustomer findByTaxNumber(String taxNumber); 12 | CorporateCustomer findByCompanyName(String companyName); 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/CustomerRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.entitites.concretes.Brand; 6 | import com.kodlamaio.rentACar.entitites.concretes.Customer; 7 | import com.kodlamaio.rentACar.entitites.concretes.IndividualCustomer; 8 | 9 | public interface CustomerRepository extends JpaRepository { 10 | 11 | 12 | 13 | 14 | } 15 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/IndividualCustomerRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.business.requests.individualCustomers.CreateIndividualCustomersRequest; 6 | import com.kodlamaio.rentACar.entitites.concretes.IndividualCustomer; 7 | 8 | public interface IndividualCustomerRepository extends JpaRepository{ 9 | 10 | IndividualCustomer findById(int id); 11 | 12 | IndividualCustomer findByIdentity(String identity); 13 | 14 | IndividualCustomer findByEmail(String email); 15 | 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/InvoiceRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | import com.kodlamaio.rentACar.entitites.concretes.AdditionalItem; 8 | import com.kodlamaio.rentACar.entitites.concretes.Invoice; 9 | 10 | public interface InvoiceRepository extends JpaRepository { 11 | 12 | Invoice findByInvoiceNumber(String invoiceNumber); 13 | List findByRentalId(int id); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/MaintenanceRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.entitites.concretes.Maintenance; 6 | 7 | public interface MaintenanceRepository extends JpaRepository{ 8 | 9 | Maintenance findById(int id); 10 | } 11 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/OrderedAdditionalItemsRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | import com.kodlamaio.rentACar.entitites.concretes.OrderedAdditionalItems; 8 | import com.kodlamaio.rentACar.entitites.concretes.AdditionalItem; 9 | 10 | public interface OrderedAdditionalItemsRepository extends JpaRepository{ 11 | 12 | List findByRentalId(int id); 13 | OrderedAdditionalItems findById(int id); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/dataAccess/abstracts/RentalRepository.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.dataAccess.abstracts; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | 5 | import com.kodlamaio.rentACar.entitites.concretes.Rental; 6 | 7 | public interface RentalRepository extends JpaRepository { 8 | 9 | Rental findById(int id); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/AdditionalItem.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.List; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.OneToMany; 11 | import javax.persistence.Table; 12 | 13 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 14 | 15 | import lombok.AllArgsConstructor; 16 | import lombok.Data; 17 | import lombok.NoArgsConstructor; 18 | 19 | @Data 20 | @AllArgsConstructor 21 | @NoArgsConstructor 22 | @Entity 23 | @Table(name = "additionalitems") 24 | public class AdditionalItem { 25 | @Id 26 | @GeneratedValue(strategy = GenerationType.IDENTITY) 27 | @Column(name = "id") 28 | private int id; 29 | 30 | @Column(name = "description") 31 | private String description; 32 | 33 | @Column(name = "name") 34 | private String name; 35 | 36 | @Column(name = "dailyPrice") 37 | private double dailyPrice; 38 | 39 | @OneToMany(mappedBy = "additionalItem") 40 | List orderedAdditionalItems; 41 | 42 | } 43 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/Address.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import javax.persistence.Column; 4 | import javax.persistence.Entity; 5 | import javax.persistence.GeneratedValue; 6 | import javax.persistence.GenerationType; 7 | import javax.persistence.Id; 8 | import javax.persistence.JoinColumn; 9 | import javax.persistence.ManyToOne; 10 | import javax.persistence.Table; 11 | 12 | import lombok.AllArgsConstructor; 13 | import lombok.Data; 14 | import lombok.NoArgsConstructor; 15 | 16 | @Data 17 | @AllArgsConstructor 18 | @NoArgsConstructor 19 | @Entity 20 | @Table(name="addresses") 21 | public class Address { 22 | @Id 23 | @GeneratedValue(strategy = GenerationType.IDENTITY) 24 | 25 | @Column(name="id") 26 | private int id; 27 | 28 | @Column(name="contactAddress") 29 | private String contactAddress; 30 | 31 | @Column(name="invoiceAddress") 32 | private String invoiceAddress; 33 | 34 | @ManyToOne 35 | @JoinColumn(name="customer_id") 36 | private Customer customer; 37 | } 38 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/Brand.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.List; 4 | 5 | import javax.persistence.CascadeType; 6 | import javax.persistence.Column; 7 | import javax.persistence.Entity; 8 | import javax.persistence.GeneratedValue; 9 | import javax.persistence.GenerationType; 10 | import javax.persistence.Id; 11 | import javax.persistence.JoinColumn; 12 | import javax.persistence.JoinTable; 13 | import javax.persistence.OneToMany; 14 | import javax.persistence.Table; 15 | 16 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 17 | 18 | import lombok.AllArgsConstructor; 19 | import lombok.Builder; 20 | import lombok.Data; 21 | import lombok.NoArgsConstructor; 22 | 23 | @Data 24 | @Builder 25 | @NoArgsConstructor 26 | @AllArgsConstructor 27 | @Entity 28 | //@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler", "cars" }) //map lemeden çalışınca gerek yok.sonsuz döngüden çıkmadığı zaman kullanılır. 29 | @Table(name = "brands") 30 | 31 | public class Brand { 32 | @Id() 33 | 34 | @GeneratedValue(strategy = GenerationType.IDENTITY) 35 | 36 | @Column(name = "id") 37 | private int id; 38 | 39 | @Column(name = "name") 40 | private String name; 41 | 42 | @OneToMany(mappedBy = "brand") 43 | List cars; 44 | } 45 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/Car.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.List; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.JoinColumn; 11 | import javax.persistence.ManyToOne; 12 | import javax.persistence.MapsId; 13 | import javax.persistence.OneToMany; 14 | import javax.persistence.Table; 15 | 16 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 17 | 18 | import lombok.AllArgsConstructor; 19 | import lombok.Builder; 20 | import lombok.Data; 21 | import lombok.NoArgsConstructor; 22 | 23 | @Data 24 | @Builder 25 | @Entity 26 | @AllArgsConstructor 27 | @NoArgsConstructor 28 | 29 | @Table(name = "cars") 30 | public class Car { 31 | @Id 32 | @GeneratedValue(strategy = GenerationType.IDENTITY) 33 | 34 | @Column(name = "id") 35 | private int id; 36 | @Column(name = "description") 37 | private String description; 38 | 39 | @Column(name = "dailyPrice") 40 | private double dailyPrice; 41 | 42 | @Column(name = "minFindeksScore") 43 | private int minFindeksScore; 44 | 45 | @ManyToOne 46 | @JoinColumn(name = "brand_id") 47 | private Brand brand; 48 | 49 | @ManyToOne 50 | @JoinColumn(name = "color_id") 51 | private Color color; 52 | 53 | @OneToMany(mappedBy = "car") 54 | private List maintenances; 55 | 56 | @OneToMany(mappedBy = "car") 57 | private List rentals; 58 | 59 | @Column(name = "kilometer") 60 | private double kilometer; 61 | 62 | @Column(name = "carPlate") 63 | private String carPlate; 64 | 65 | @Column(name = "state") 66 | private int state; 67 | } 68 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/City.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.List; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.OneToMany; 11 | import javax.persistence.Table; 12 | 13 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 14 | 15 | import lombok.AllArgsConstructor; 16 | import lombok.Data; 17 | import lombok.NoArgsConstructor; 18 | 19 | @Data 20 | @NoArgsConstructor 21 | @AllArgsConstructor 22 | @Entity 23 | @Table(name = "cities") 24 | public class City { 25 | @Id 26 | @GeneratedValue(strategy = GenerationType.IDENTITY) 27 | @Column(name = "id") 28 | private int id; 29 | @Column(name = "cityName") 30 | private String cityName; 31 | 32 | @OneToMany(mappedBy = "pickCity") 33 | private List pickRentals; 34 | 35 | @OneToMany(mappedBy = "returnCity") 36 | private List returnRentals; 37 | 38 | 39 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/Color.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.List; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.OneToMany; 11 | import javax.persistence.Table; 12 | 13 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 14 | 15 | import lombok.AllArgsConstructor; 16 | import lombok.Data; 17 | import lombok.NoArgsConstructor; 18 | 19 | @Data 20 | @NoArgsConstructor 21 | @AllArgsConstructor 22 | @Entity 23 | @Table(name = "colors") 24 | public class Color { 25 | @Id 26 | @GeneratedValue(strategy = GenerationType.IDENTITY) 27 | @Column(name = "id") 28 | private int id; 29 | @Column(name = "name") 30 | private String name; 31 | 32 | @OneToMany(mappedBy = "color") 33 | List cars; 34 | } 35 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/CorporateCustomer.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import javax.persistence.Column; 4 | import javax.persistence.Entity; 5 | import javax.persistence.PrimaryKeyJoinColumn; 6 | import javax.persistence.Table; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.EqualsAndHashCode; 11 | import lombok.NoArgsConstructor; 12 | 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | @Entity 17 | @EqualsAndHashCode(callSuper = false) 18 | @PrimaryKeyJoinColumn(name = "corporateId", referencedColumnName = "customerId") 19 | @Table(name = "corporateCustomers") 20 | public class CorporateCustomer extends Customer { 21 | 22 | @Column(name = "corporateId", insertable = false, updatable = false) 23 | private int corporateId; 24 | 25 | @Column(name="taxNumber") 26 | private String taxNumber; 27 | 28 | @Column(name="companyName") 29 | private String companyName; 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/Customer.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.List; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.OneToMany; 8 | import javax.persistence.PrimaryKeyJoinColumn; 9 | import javax.persistence.Table; 10 | 11 | import lombok.AllArgsConstructor; 12 | import lombok.Data; 13 | import lombok.EqualsAndHashCode; 14 | import lombok.NoArgsConstructor; 15 | 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | @Entity 20 | @EqualsAndHashCode(callSuper = false) 21 | @PrimaryKeyJoinColumn(name = "customerId",referencedColumnName = "id") 22 | @Table(name = "customers") 23 | 24 | public class Customer extends User{ 25 | 26 | @Column(name = "customerId",insertable = false,updatable = false) 27 | private int customerId; 28 | 29 | @Column(name="customerNumber") 30 | private String customerNumber; 31 | 32 | @OneToMany(mappedBy = "customer") 33 | private List
addresses; 34 | 35 | @OneToMany(mappedBy = "customer") 36 | private List rentals; 37 | 38 | } 39 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/IndividualCustomer.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import javax.persistence.Column; 4 | import javax.persistence.Entity; 5 | import javax.persistence.PrimaryKeyJoinColumn; 6 | import javax.persistence.Table; 7 | 8 | import lombok.AllArgsConstructor; 9 | import lombok.Data; 10 | import lombok.EqualsAndHashCode; 11 | import lombok.NoArgsConstructor; 12 | 13 | @Data 14 | @AllArgsConstructor 15 | @NoArgsConstructor 16 | @Entity 17 | @EqualsAndHashCode(callSuper = false) 18 | @PrimaryKeyJoinColumn(name = "individualId", referencedColumnName = "customerId") 19 | @Table(name = "individualCustomers") 20 | public class IndividualCustomer extends Customer{ 21 | 22 | @Column(name = "individualId",insertable = false,updatable = false) 23 | private int individualId; 24 | 25 | @Column(name = "firstName") 26 | private String firstName; 27 | 28 | @Column(name = "lastName") 29 | private String lastName; 30 | 31 | @Column(name = "Identity") 32 | private String identity; 33 | 34 | @Column(name = "birthYear") 35 | private int birthYear; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/Invoice.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.Date; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.JoinColumn; 11 | import javax.persistence.ManyToOne; 12 | import javax.persistence.Table; 13 | 14 | import lombok.AllArgsConstructor; 15 | import lombok.Data; 16 | import lombok.NoArgsConstructor; 17 | 18 | @Data 19 | @AllArgsConstructor 20 | @NoArgsConstructor 21 | @Entity 22 | @Table(name = "invoices") 23 | public class Invoice { 24 | 25 | @Id 26 | @GeneratedValue(strategy = GenerationType.IDENTITY) 27 | 28 | @Column(name = "id") 29 | private int id; 30 | 31 | @Column(name = "invoiceNumber") 32 | private String invoiceNumber; 33 | 34 | @Column(name = "state") 35 | private int state; 36 | 37 | @Column(name = "invoiceDate") 38 | private Date invoiceDate; 39 | 40 | @Column(name = "sumTotalPrice") 41 | private double sumTotalPrice; 42 | 43 | @ManyToOne 44 | @JoinColumn(name="rentalId") 45 | private Rental rental; 46 | 47 | } 48 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/Maintenance.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.sql.Date; 4 | import java.time.LocalDate; 5 | 6 | import javax.persistence.Column; 7 | import javax.persistence.Entity; 8 | import javax.persistence.GeneratedValue; 9 | import javax.persistence.GenerationType; 10 | import javax.persistence.Id; 11 | import javax.persistence.JoinColumn; 12 | import javax.persistence.ManyToOne; 13 | import javax.persistence.Table; 14 | 15 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 16 | 17 | import lombok.AllArgsConstructor; 18 | import lombok.Data; 19 | import lombok.NoArgsConstructor; 20 | 21 | @Data 22 | @NoArgsConstructor 23 | @AllArgsConstructor 24 | @Entity 25 | @Table(name = "maintenances") 26 | public class Maintenance { 27 | @Id() 28 | 29 | @GeneratedValue(strategy = GenerationType.IDENTITY) 30 | 31 | @Column(name="id") 32 | private int id; 33 | 34 | @Column(name="dateSent") 35 | private Date dateSent; 36 | 37 | @Column(name="dateReturned") 38 | private Date dateReturned; 39 | 40 | @ManyToOne() 41 | @JoinColumn(name="car_id") 42 | private Car car; 43 | 44 | } 45 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/OrderedAdditionalItems.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.Date; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.JoinColumn; 11 | import javax.persistence.ManyToOne; 12 | import javax.persistence.Table; 13 | 14 | import lombok.AllArgsConstructor; 15 | import lombok.Data; 16 | import lombok.NoArgsConstructor; 17 | 18 | @Data 19 | @NoArgsConstructor 20 | @AllArgsConstructor 21 | @Entity 22 | @Table(name = "orderedAdditionalItems") 23 | public class OrderedAdditionalItems { 24 | @Id 25 | @GeneratedValue(strategy = GenerationType.IDENTITY) 26 | 27 | @Column(name = "id") 28 | private int id; 29 | 30 | @Column(name = "pickupDate") 31 | private Date pickupDate; 32 | 33 | @Column(name = "returnDate") 34 | private Date returnDate; 35 | 36 | @Column(name = "totalPrice") 37 | private double totalPrice; 38 | 39 | @Column(name = "totalDays") 40 | private int totalDays; 41 | 42 | @ManyToOne 43 | @JoinColumn(name = "additional_item_id") 44 | private AdditionalItem additionalItem; 45 | 46 | @ManyToOne 47 | @JoinColumn(name = "rental_id") 48 | private Rental rental; 49 | 50 | 51 | 52 | } 53 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/Rental.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import java.util.Date; 4 | import java.util.List; 5 | 6 | import javax.persistence.Column; 7 | import javax.persistence.Entity; 8 | import javax.persistence.GeneratedValue; 9 | import javax.persistence.GenerationType; 10 | import javax.persistence.Id; 11 | import javax.persistence.JoinColumn; 12 | import javax.persistence.ManyToOne; 13 | import javax.persistence.OneToMany; 14 | import javax.persistence.Table; 15 | 16 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 17 | 18 | import lombok.AllArgsConstructor; 19 | import lombok.Data; 20 | import lombok.NoArgsConstructor; 21 | 22 | @Data 23 | @NoArgsConstructor 24 | @AllArgsConstructor 25 | @Entity 26 | 27 | @Table(name = "rentals") 28 | public class Rental { 29 | @Id 30 | @GeneratedValue(strategy = GenerationType.IDENTITY) 31 | 32 | @Column(name="id") 33 | private int id; 34 | 35 | @ManyToOne 36 | @JoinColumn(name="car_id") 37 | private Car car; 38 | 39 | @Column(name="pickupDate") 40 | private Date pickupDate; 41 | 42 | @Column(name="returnDate") 43 | private Date returnDate; 44 | 45 | @Column(name="totalDays") 46 | private int totalDays; 47 | 48 | @Column(name="totalPrice") 49 | private double totalPrice; 50 | 51 | @ManyToOne 52 | @JoinColumn(name="pickUpCity_id") 53 | private City pickCity; 54 | 55 | @ManyToOne 56 | @JoinColumn(name="returnCity_id") 57 | private City returnCity; 58 | 59 | @ManyToOne 60 | @JoinColumn(name = "customer_id") 61 | private Customer customer; 62 | 63 | 64 | @OneToMany(mappedBy = "rental") 65 | private Listinvoices; 66 | 67 | 68 | 69 | } 70 | -------------------------------------------------------------------------------- /rentACar/src/main/java/com/kodlamaio/rentACar/entitites/concretes/User.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar.entitites.concretes; 2 | 3 | import javax.persistence.Column; 4 | import javax.persistence.Entity; 5 | import javax.persistence.GeneratedValue; 6 | import javax.persistence.GenerationType; 7 | import javax.persistence.Id; 8 | import javax.persistence.Inheritance; 9 | import javax.persistence.InheritanceType; 10 | import javax.persistence.Table; 11 | 12 | import lombok.AllArgsConstructor; 13 | import lombok.Data; 14 | import lombok.NoArgsConstructor; 15 | 16 | @Data 17 | @NoArgsConstructor 18 | @AllArgsConstructor 19 | @Entity 20 | @Inheritance(strategy = InheritanceType.JOINED) 21 | @Table(name="users") 22 | public abstract class User { 23 | @Id 24 | @GeneratedValue(strategy =GenerationType.IDENTITY) 25 | 26 | @Column(name="id") 27 | private int id; 28 | 29 | @Column(name="email") 30 | private String email; 31 | 32 | @Column(name="password") 33 | private String password; 34 | 35 | @Column(name="phoneNumber") 36 | private String phoneNumber; 37 | 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /rentACar/src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublic.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KPSPublic.java 3 | * 4 | * This file was auto-generated from WSDL 5 | * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 6 | */ 7 | 8 | package tr.gov.nvi.tckimlik.WS; 9 | 10 | public interface KPSPublic extends javax.xml.rpc.Service { 11 | public java.lang.String getKPSPublicSoapAddress(); 12 | 13 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap() throws javax.xml.rpc.ServiceException; 14 | 15 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException; 16 | } 17 | -------------------------------------------------------------------------------- /rentACar/src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublicLocator.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KPSPublicLocator.java 3 | * 4 | * This file was auto-generated from WSDL 5 | * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 6 | */ 7 | 8 | package tr.gov.nvi.tckimlik.WS; 9 | 10 | public class KPSPublicLocator extends org.apache.axis.client.Service implements tr.gov.nvi.tckimlik.WS.KPSPublic { 11 | 12 | public KPSPublicLocator() { 13 | } 14 | 15 | 16 | public KPSPublicLocator(org.apache.axis.EngineConfiguration config) { 17 | super(config); 18 | } 19 | 20 | public KPSPublicLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException { 21 | super(wsdlLoc, sName); 22 | } 23 | 24 | // Use to get a proxy class for KPSPublicSoap 25 | private java.lang.String KPSPublicSoap_address = "https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx"; 26 | 27 | public java.lang.String getKPSPublicSoapAddress() { 28 | return KPSPublicSoap_address; 29 | } 30 | 31 | // The WSDD service name defaults to the port name. 32 | private java.lang.String KPSPublicSoapWSDDServiceName = "KPSPublicSoap"; 33 | 34 | public java.lang.String getKPSPublicSoapWSDDServiceName() { 35 | return KPSPublicSoapWSDDServiceName; 36 | } 37 | 38 | public void setKPSPublicSoapWSDDServiceName(java.lang.String name) { 39 | KPSPublicSoapWSDDServiceName = name; 40 | } 41 | 42 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap() throws javax.xml.rpc.ServiceException { 43 | java.net.URL endpoint; 44 | try { 45 | endpoint = new java.net.URL(KPSPublicSoap_address); 46 | } 47 | catch (java.net.MalformedURLException e) { 48 | throw new javax.xml.rpc.ServiceException(e); 49 | } 50 | return getKPSPublicSoap(endpoint); 51 | } 52 | 53 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException { 54 | try { 55 | tr.gov.nvi.tckimlik.WS.KPSPublicSoapStub _stub = new tr.gov.nvi.tckimlik.WS.KPSPublicSoapStub(portAddress, this); 56 | _stub.setPortName(getKPSPublicSoapWSDDServiceName()); 57 | return _stub; 58 | } 59 | catch (org.apache.axis.AxisFault e) { 60 | return null; 61 | } 62 | } 63 | 64 | public void setKPSPublicSoapEndpointAddress(java.lang.String address) { 65 | KPSPublicSoap_address = address; 66 | } 67 | 68 | /** 69 | * For the given interface, get the stub implementation. 70 | * If this service has no port for the given interface, 71 | * then ServiceException is thrown. 72 | */ 73 | public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException { 74 | try { 75 | if (tr.gov.nvi.tckimlik.WS.KPSPublicSoap.class.isAssignableFrom(serviceEndpointInterface)) { 76 | tr.gov.nvi.tckimlik.WS.KPSPublicSoapStub _stub = new tr.gov.nvi.tckimlik.WS.KPSPublicSoapStub(new java.net.URL(KPSPublicSoap_address), this); 77 | _stub.setPortName(getKPSPublicSoapWSDDServiceName()); 78 | return _stub; 79 | } 80 | } 81 | catch (java.lang.Throwable t) { 82 | throw new javax.xml.rpc.ServiceException(t); 83 | } 84 | throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName())); 85 | } 86 | 87 | /** 88 | * For the given interface, get the stub implementation. 89 | * If this service has no port for the given interface, 90 | * then ServiceException is thrown. 91 | */ 92 | public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException { 93 | if (portName == null) { 94 | return getPort(serviceEndpointInterface); 95 | } 96 | java.lang.String inputPortName = portName.getLocalPart(); 97 | if ("KPSPublicSoap".equals(inputPortName)) { 98 | return getKPSPublicSoap(); 99 | } 100 | else { 101 | java.rmi.Remote _stub = getPort(serviceEndpointInterface); 102 | ((org.apache.axis.client.Stub) _stub).setPortName(portName); 103 | return _stub; 104 | } 105 | } 106 | 107 | public javax.xml.namespace.QName getServiceName() { 108 | return new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "KPSPublic"); 109 | } 110 | 111 | private java.util.HashSet ports = null; 112 | 113 | public java.util.Iterator getPorts() { 114 | if (ports == null) { 115 | ports = new java.util.HashSet(); 116 | ports.add(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "KPSPublicSoap")); 117 | } 118 | return ports.iterator(); 119 | } 120 | 121 | /** 122 | * Set the endpoint address for the specified port name. 123 | */ 124 | public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException { 125 | 126 | if ("KPSPublicSoap".equals(portName)) { 127 | setKPSPublicSoapEndpointAddress(address); 128 | } 129 | else 130 | { // Unknown Port Name 131 | throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName); 132 | } 133 | } 134 | 135 | /** 136 | * Set the endpoint address for the specified port name. 137 | */ 138 | public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException { 139 | setEndpointAddress(portName.getLocalPart(), address); 140 | } 141 | 142 | } 143 | -------------------------------------------------------------------------------- /rentACar/src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublicSoap.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KPSPublicSoap.java 3 | * 4 | * This file was auto-generated from WSDL 5 | * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 6 | */ 7 | 8 | package tr.gov.nvi.tckimlik.WS; 9 | 10 | public interface KPSPublicSoap extends java.rmi.Remote { 11 | public boolean TCKimlikNoDogrula(long TCKimlikNo, java.lang.String ad, java.lang.String soyad, int dogumYili) throws java.rmi.RemoteException; 12 | } 13 | -------------------------------------------------------------------------------- /rentACar/src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublicSoapProxy.java: -------------------------------------------------------------------------------- 1 | package tr.gov.nvi.tckimlik.WS; 2 | 3 | public class KPSPublicSoapProxy implements tr.gov.nvi.tckimlik.WS.KPSPublicSoap { 4 | private String _endpoint = null; 5 | private tr.gov.nvi.tckimlik.WS.KPSPublicSoap kPSPublicSoap = null; 6 | 7 | public KPSPublicSoapProxy() { 8 | _initKPSPublicSoapProxy(); 9 | } 10 | 11 | public KPSPublicSoapProxy(String endpoint) { 12 | _endpoint = endpoint; 13 | _initKPSPublicSoapProxy(); 14 | } 15 | 16 | private void _initKPSPublicSoapProxy() { 17 | try { 18 | kPSPublicSoap = (new tr.gov.nvi.tckimlik.WS.KPSPublicLocator()).getKPSPublicSoap(); 19 | if (kPSPublicSoap != null) { 20 | if (_endpoint != null) 21 | ((javax.xml.rpc.Stub)kPSPublicSoap)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint); 22 | else 23 | _endpoint = (String)((javax.xml.rpc.Stub)kPSPublicSoap)._getProperty("javax.xml.rpc.service.endpoint.address"); 24 | } 25 | 26 | } 27 | catch (javax.xml.rpc.ServiceException serviceException) {} 28 | } 29 | 30 | public String getEndpoint() { 31 | return _endpoint; 32 | } 33 | 34 | public void setEndpoint(String endpoint) { 35 | _endpoint = endpoint; 36 | if (kPSPublicSoap != null) 37 | ((javax.xml.rpc.Stub)kPSPublicSoap)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint); 38 | 39 | } 40 | 41 | public tr.gov.nvi.tckimlik.WS.KPSPublicSoap getKPSPublicSoap() { 42 | if (kPSPublicSoap == null) 43 | _initKPSPublicSoapProxy(); 44 | return kPSPublicSoap; 45 | } 46 | 47 | public boolean TCKimlikNoDogrula(long TCKimlikNo, java.lang.String ad, java.lang.String soyad, int dogumYili) throws java.rmi.RemoteException{ 48 | if (kPSPublicSoap == null) 49 | _initKPSPublicSoapProxy(); 50 | return kPSPublicSoap.TCKimlikNoDogrula(TCKimlikNo, ad, soyad, dogumYili); 51 | } 52 | 53 | 54 | } -------------------------------------------------------------------------------- /rentACar/src/main/java/tr/gov/nvi/tckimlik/WS/KPSPublicSoapStub.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KPSPublicSoapStub.java 3 | * 4 | * This file was auto-generated from WSDL 5 | * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 6 | */ 7 | 8 | package tr.gov.nvi.tckimlik.WS; 9 | 10 | public class KPSPublicSoapStub extends org.apache.axis.client.Stub implements tr.gov.nvi.tckimlik.WS.KPSPublicSoap { 11 | private java.util.Vector cachedSerClasses = new java.util.Vector(); 12 | private java.util.Vector cachedSerQNames = new java.util.Vector(); 13 | private java.util.Vector cachedSerFactories = new java.util.Vector(); 14 | private java.util.Vector cachedDeserFactories = new java.util.Vector(); 15 | 16 | static org.apache.axis.description.OperationDesc [] _operations; 17 | 18 | static { 19 | _operations = new org.apache.axis.description.OperationDesc[1]; 20 | _initOperationDesc1(); 21 | } 22 | 23 | private static void _initOperationDesc1(){ 24 | org.apache.axis.description.OperationDesc oper; 25 | org.apache.axis.description.ParameterDesc param; 26 | oper = new org.apache.axis.description.OperationDesc(); 27 | oper.setName("TCKimlikNoDogrula"); 28 | param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "TCKimlikNo"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"), long.class, false, false); 29 | oper.addParameter(param); 30 | param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "Ad"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false); 31 | param.setOmittable(true); 32 | oper.addParameter(param); 33 | param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "Soyad"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false); 34 | param.setOmittable(true); 35 | oper.addParameter(param); 36 | param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "DogumYili"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false); 37 | oper.addParameter(param); 38 | oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean")); 39 | oper.setReturnClass(boolean.class); 40 | oper.setReturnQName(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "TCKimlikNoDogrulaResult")); 41 | oper.setStyle(org.apache.axis.constants.Style.WRAPPED); 42 | oper.setUse(org.apache.axis.constants.Use.LITERAL); 43 | _operations[0] = oper; 44 | 45 | } 46 | 47 | public KPSPublicSoapStub() throws org.apache.axis.AxisFault { 48 | this(null); 49 | } 50 | 51 | public KPSPublicSoapStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault { 52 | this(service); 53 | super.cachedEndpoint = endpointURL; 54 | } 55 | 56 | public KPSPublicSoapStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault { 57 | if (service == null) { 58 | super.service = new org.apache.axis.client.Service(); 59 | } else { 60 | super.service = service; 61 | } 62 | ((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2"); 63 | } 64 | 65 | protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException { 66 | try { 67 | org.apache.axis.client.Call _call = super._createCall(); 68 | if (super.maintainSessionSet) { 69 | _call.setMaintainSession(super.maintainSession); 70 | } 71 | if (super.cachedUsername != null) { 72 | _call.setUsername(super.cachedUsername); 73 | } 74 | if (super.cachedPassword != null) { 75 | _call.setPassword(super.cachedPassword); 76 | } 77 | if (super.cachedEndpoint != null) { 78 | _call.setTargetEndpointAddress(super.cachedEndpoint); 79 | } 80 | if (super.cachedTimeout != null) { 81 | _call.setTimeout(super.cachedTimeout); 82 | } 83 | if (super.cachedPortName != null) { 84 | _call.setPortName(super.cachedPortName); 85 | } 86 | java.util.Enumeration keys = super.cachedProperties.keys(); 87 | while (keys.hasMoreElements()) { 88 | java.lang.String key = (java.lang.String) keys.nextElement(); 89 | _call.setProperty(key, super.cachedProperties.get(key)); 90 | } 91 | return _call; 92 | } 93 | catch (java.lang.Throwable _t) { 94 | throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t); 95 | } 96 | } 97 | 98 | public boolean TCKimlikNoDogrula(long TCKimlikNo, java.lang.String ad, java.lang.String soyad, int dogumYili) throws java.rmi.RemoteException { 99 | if (super.cachedEndpoint == null) { 100 | throw new org.apache.axis.NoEndPointException(); 101 | } 102 | org.apache.axis.client.Call _call = createCall(); 103 | _call.setOperation(_operations[0]); 104 | _call.setUseSOAPAction(true); 105 | _call.setSOAPActionURI("http://tckimlik.nvi.gov.tr/WS/TCKimlikNoDogrula"); 106 | _call.setEncodingStyle(null); 107 | _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE); 108 | _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE); 109 | _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); 110 | _call.setOperationName(new javax.xml.namespace.QName("http://tckimlik.nvi.gov.tr/WS", "TCKimlikNoDogrula")); 111 | 112 | setRequestHeaders(_call); 113 | setAttachments(_call); 114 | try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {new java.lang.Long(TCKimlikNo), ad, soyad, new java.lang.Integer(dogumYili)}); 115 | 116 | if (_resp instanceof java.rmi.RemoteException) { 117 | throw (java.rmi.RemoteException)_resp; 118 | } 119 | else { 120 | extractAttachments(_call); 121 | try { 122 | return ((java.lang.Boolean) _resp).booleanValue(); 123 | } catch (java.lang.Exception _exception) { 124 | return ((java.lang.Boolean) org.apache.axis.utils.JavaUtils.convert(_resp, boolean.class)).booleanValue(); 125 | } 126 | } 127 | } catch (org.apache.axis.AxisFault axisFaultException) { 128 | throw axisFaultException; 129 | } 130 | } 131 | 132 | } 133 | -------------------------------------------------------------------------------- /rentACar/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect 2 | spring.jpa.hibernate.ddl-auto=update 3 | spring.jpa.hibernate.show-sql=true 4 | spring.datasource.url=jdbc:postgresql://localhost:5432/rentacardbcasgem 5 | spring.datasource.username=postgres 6 | spring.datasource.password=12345 7 | spring.jpa.properties.javax.persistence.validation.mode = none 8 | -------------------------------------------------------------------------------- /rentACar/src/test/java/com/kodlamaio/rentACar/RentACarApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.kodlamaio.rentACar; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class RentACarApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | --------------------------------------------------------------------------------