├── .deepsource.toml ├── Database ├── Backup │ └── JobFinderAPI.bak ├── StoerdProcedures │ └── StoredProcedures.sql └── Views │ └── Views.sql ├── README.md └── src ├── .vs ├── JobFinder │ ├── DesignTimeBuild │ │ └── .dtbcache.v2 │ ├── FileContentIndex │ │ ├── 39693023-f7d1-4e5f-b1c5-79449ea76c5c.vsidx │ │ ├── 56e697c8-ca37-40fb-92e2-429f9cd10441.vsidx │ │ ├── 89a2281f-fcfc-4d03-bec5-69dd980ad201.vsidx │ │ ├── b487a031-9761-4183-acc8-29a50db03e07.vsidx │ │ └── ecd6baaa-ee0d-48f1-9d24-a4729cc44945.vsidx │ ├── config │ │ └── applicationhost.config │ └── v17 │ │ ├── .futdcache.v2 │ │ └── .suo └── ProjectEvaluation │ ├── jobfinder.metadata.v7.bin │ └── jobfinder.projects.v7.bin ├── Application ├── Abstractions │ ├── ICommand.cs │ ├── ICommandHandler.cs │ ├── IQuery.cs │ └── IQueryHandler.cs ├── Application.csproj ├── Behaviors │ └── ValidationPipelineBehavior.cs ├── DTOs │ ├── AdminDTOs │ │ ├── AdminLogoutDTO.cs │ │ ├── CreateAdminDTO.cs │ │ ├── LoginAdminDTO.cs │ │ ├── ReadAdminDTO.cs │ │ └── UpdateAdminDTO.cs │ ├── ApplicantDTOs │ │ ├── ConfirmEmailDTO.cs │ │ ├── LoginApplicantDTO.cs │ │ ├── PartialUpdateApplicantDTO.cs │ │ ├── ReadApplicantDTO.cs │ │ ├── ReadApplicantWithJobsDTO.cs │ │ ├── RegisterApplicantDTO.cs │ │ └── UpdateApplicantDTO.cs │ ├── ApplicantSkillDTO │ │ ├── CreateSkillDTO.cs │ │ └── ReadSkillDTO.cs │ ├── ApplicationDTOs │ │ └── CreateApplicationDTO.cs │ ├── CompanyDTOs │ │ ├── LoginCompanyDTO.cs │ │ ├── ReadCompanyDTO.cs │ │ ├── ReadCompanyWithJobDTO.cs │ │ ├── ReadJobApplicantsDTO.cs │ │ ├── ReadJobOfCompanyDTO.cs │ │ ├── RegisterCompanyDTO.cs │ │ └── UpdateCompanyDTO.cs │ ├── EmailDTOs │ │ ├── ConfirmUpdateEmailDTO.cs │ │ ├── ResetPasswordDTO.cs │ │ ├── SendResetPasswordEmailDTO.cs │ │ └── UpdateEmailDTO.cs │ ├── EmployerDTOs │ │ ├── LoginEmployerDTO.cs │ │ ├── ReadEmployerDTO.cs │ │ └── RegisterEmployerDTO.cs │ ├── ExperienceDTOs │ │ ├── CreateExperienceDTO.cs │ │ ├── ReadExperienceDTO.cs │ │ ├── ReadExperienceWithApplicantDTO.cs │ │ └── UpdateExperienceDTO.cs │ ├── JobDTOs │ │ ├── CreateJobDTO.cs │ │ ├── ReadJobDTO.cs │ │ └── UpdateJobDTO.cs │ ├── ResumeDTO │ │ ├── DeleteResumeDTO.cs │ │ ├── GetResumeDTO.cs │ │ └── UploadResumeDTO.cs │ └── SkillDTOs │ │ ├── CreateSkillDTO.cs │ │ ├── ReadSkillDTO.cs │ │ └── UpdateSkillDTO.cs ├── DapperQueries │ ├── AdminQueries │ │ ├── AdminQuery.cs │ │ └── IAdminQuery.cs │ ├── ApplicantQueries │ │ ├── ApplicantQuery.cs │ │ └── IApplicantQuery.cs │ ├── ApplicantResumeQueries │ │ ├── ApplicantResume.cs │ │ └── IApplicantResume.cs │ ├── ApplicantSkillQueries │ │ ├── ApplicantSkillQuery.cs │ │ └── IApplicantSkillQuery.cs │ ├── CompanyQueries │ │ ├── CompanyQuery.cs │ │ └── ICompanyQuery.cs │ ├── DapperDbContext.cs │ ├── EmployerQueries │ │ ├── EmployerQuery.cs │ │ └── IEmployerQuery.cs │ ├── ExperienceQueries │ │ ├── ExperienceQuery.cs │ │ └── IExperienceQuery.cs │ ├── JobQueries │ │ ├── IJobQuery.cs │ │ └── JobQuery.cs │ ├── QueryBase │ │ └── IQueryBase.cs │ ├── ResumeQueries │ │ ├── IResumeQuery.cs │ │ └── ResumeQuery.cs │ └── SKillQueries │ │ ├── ISkillQuery.cs │ │ └── SkillQuery.cs ├── DependencyInjection │ └── ServiceRegistration.cs ├── EmailServices │ ├── EmailService.cs │ └── IEmailService.cs ├── Features │ ├── Commands │ │ ├── AdminCommands │ │ │ ├── AdminLogin │ │ │ │ ├── AdminLoginCommand.cs │ │ │ │ ├── AdminLoginCommandHandler.cs │ │ │ │ └── AdminLoginValidation.cs │ │ │ ├── AdminLogout │ │ │ │ ├── AdminLogoutCommand.cs │ │ │ │ ├── AdminLogoutCommandHandler.cs │ │ │ │ └── AdminLogoutValidation.cs │ │ │ ├── CreateAdmin │ │ │ │ ├── CreateAdminCommand.cs │ │ │ │ ├── CreateAdminCommandHandler.cs │ │ │ │ └── CreateAdminValidation.cs │ │ │ ├── DeleteAdmin │ │ │ │ ├── DeleteAdminCommand.cs │ │ │ │ ├── DeleteAdminCommandHandler.cs │ │ │ │ └── DeleteAdminValidation.cs │ │ │ ├── PartialUpdate │ │ │ │ ├── AdminPartialUpdateCommand.cs │ │ │ │ ├── AdminPartialUpdateCommandHandler.cs │ │ │ │ └── AdminPartialUpdateValidation.cs │ │ │ └── UpdateAdmin │ │ │ │ ├── UpdateAdminCommand.cs │ │ │ │ ├── UpdateAdminCommandHandler.cs │ │ │ │ └── UpdateAdminValidation.cs │ │ ├── ApplicantCommands │ │ │ ├── ApplicantLogin │ │ │ │ ├── ApplicantLoginCommand.cs │ │ │ │ ├── ApplicantLoginCommandHandler.cs │ │ │ │ └── ApplicantLoginCommandValidation.cs │ │ │ ├── ApplicantRegister │ │ │ │ ├── ApplicantRegisterCommand.cs │ │ │ │ ├── ApplicantRegisterCommandHandler.cs │ │ │ │ └── ApplicantRegisterValidation.cs │ │ │ ├── CreateExperience │ │ │ │ ├── CreateExperienceCommand.cs │ │ │ │ ├── CreateExperienceCommandHandler.cs │ │ │ │ └── CreateExperienceValidation.cs │ │ │ ├── DeleteExperience │ │ │ │ ├── DeleteExperienceCommand.cs │ │ │ │ ├── DeleteExperienceCommandHandler.cs │ │ │ │ └── DeleteExperienceValidation.cs │ │ │ ├── DeleteSkill │ │ │ │ ├── DeleteSkillCommand.cs │ │ │ │ ├── DeleteSkillCommandHandler.cs │ │ │ │ └── DeleteSkillValidation.cs │ │ │ ├── PartialUpdate │ │ │ │ ├── PartialUpdateApplicantCommand.cs │ │ │ │ ├── PartialUpdateApplicantCommandHandler.cs │ │ │ │ └── PartialUpdateApplicantValidation.cs │ │ │ ├── UpdateApplicant │ │ │ │ ├── UpdateApplicantCommand.cs │ │ │ │ ├── UpdateApplicantCommandHandler.cs │ │ │ │ └── UpdateApplicantValidation.cs │ │ │ └── UpdateExperience │ │ │ │ ├── UpdateExperienceCommand.cs │ │ │ │ ├── UpdateExperienceCommandHandler.cs │ │ │ │ └── UpdateExperienceValidation.cs │ │ ├── ApplicantSkills │ │ │ ├── CreateSkillCommand.cs │ │ │ ├── CreateSkillCommandHandler.cs │ │ │ └── CreateSkillValidation.cs │ │ ├── CompanyCommands │ │ │ ├── CompanyLogin │ │ │ │ ├── CompanyLoginCommand.cs │ │ │ │ ├── CompanyLoginCommandHandler.cs │ │ │ │ └── CompanyLoginValidation.cs │ │ │ ├── CompanyRegistration │ │ │ │ ├── CompanyRegistrationCommand.cs │ │ │ │ ├── CompanyRegistrationCommandHandler.cs │ │ │ │ └── CompanyRegistrationValidation.cs │ │ │ ├── DeleteCompany │ │ │ │ ├── DeleteCompanyCommand.cs │ │ │ │ ├── DeleteCompanyCommandHandler.cs │ │ │ │ └── DeleteCompanyValidation.cs │ │ │ ├── PartialUpdate │ │ │ │ ├── CompanyPartialUpdateCommand.cs │ │ │ │ ├── CompanyPartialUpdateCommandHandler.cs │ │ │ │ └── CompanyPartialUpdateValidation.cs │ │ │ └── UpdateCompany │ │ │ │ ├── UpdateCompanyCommand.cs │ │ │ │ ├── UpdateCompanyCommandHandler.cs │ │ │ │ └── UpdateCompanyValidation.cs │ │ ├── EmailCommands │ │ │ ├── ConfirmEmail │ │ │ │ ├── ConfirmEmailCommand.cs │ │ │ │ ├── ConfirmEmailCommandHandler.cs │ │ │ │ └── ConfirmEmailValidation.cs │ │ │ ├── ConfirmUpdatedEmail │ │ │ │ ├── ConfirmUpdatedEmailCommand.cs │ │ │ │ ├── ConfirmUpdatedEmailCommandHandler.cs │ │ │ │ └── ConfirmUpdatedEmailValidation.cs │ │ │ ├── ResetPassword │ │ │ │ ├── ResetPasswordCommand.cs │ │ │ │ ├── ResetPasswordCommandHandler.cs │ │ │ │ └── ResetPasswordValidation.cs │ │ │ ├── SendResetPasswordEmail │ │ │ │ ├── SendResetPasswordCommand.cs │ │ │ │ ├── SendResetPasswordCommandHandler.cs │ │ │ │ └── SendResetPasswordValidation.cs │ │ │ └── UpdateEmail │ │ │ │ ├── UpdateEmailCommand.cs │ │ │ │ ├── UpdateEmailCommandHandler.cs │ │ │ │ └── UpdateEmailValidation.cs │ │ ├── EmployerCommands │ │ │ ├── DeleteEmployer │ │ │ │ ├── DeleteEmployerCommand.cs │ │ │ │ ├── DeleteEmployerCommandHander.cs │ │ │ │ └── DeleteEmployerValidation.cs │ │ │ ├── EmployerLogin │ │ │ │ ├── EmployerLoginCommand.cs │ │ │ │ ├── EmployerLoginCommandHandler.cs │ │ │ │ └── EmployerLoginValidation.cs │ │ │ └── EmployerRegister │ │ │ │ ├── EmployerRegisterCommand.cs │ │ │ │ ├── EmployerRegisterCommandHandler.cs │ │ │ │ └── EmployerRegisterValidation.cs │ │ ├── JobApplicationCommands │ │ │ └── CreateJobApplication │ │ │ │ ├── CreateApplicationCommand.cs │ │ │ │ ├── CreateApplicationCommandHandler.cs │ │ │ │ └── CreateApplicationValidation.cs │ │ ├── JobCommands │ │ │ ├── CreateJob │ │ │ │ ├── CreateJobCommand.cs │ │ │ │ ├── CreateJobCommandHandler.cs │ │ │ │ └── CreateJobCommandValidation.cs │ │ │ ├── DeleteJob │ │ │ │ ├── DeleteJobCommand.cs │ │ │ │ ├── DeleteJobCommandHandler.cs │ │ │ │ └── DeleteJobValidation.cs │ │ │ ├── PartialUpdate │ │ │ │ ├── JopPartialUpdateCommand.cs │ │ │ │ ├── JopPartialUpdateCommandHandler.cs │ │ │ │ └── JopPartialUpdateValidation.cs │ │ │ └── UpdateJob │ │ │ │ ├── UpdateJobCommand.cs │ │ │ │ ├── UpdateJobCommandHandler.cs │ │ │ │ └── UpdateJobValidation.cs │ │ ├── ResumeCommands │ │ │ ├── DeleteResume │ │ │ │ ├── DeleteResumeCommand.cs │ │ │ │ ├── DeleteResumeCommandHandler.cs │ │ │ │ └── DeleteResumeValidation.cs │ │ │ └── UploadResume │ │ │ │ ├── UploadResumeCommand.cs │ │ │ │ ├── UploadResumeCommandHandler.cs │ │ │ │ └── UploadResumeValidation.cs │ │ └── SkillCommands │ │ │ ├── CreateMultiSkills │ │ │ ├── CreateMultiSkillsCommand.cs │ │ │ ├── CreateMultiSkillsCommandHandler.cs │ │ │ └── CreateMultiSkillsCommandValidation.cs │ │ │ ├── CreateSkill │ │ │ ├── CreateSkillCommand.cs │ │ │ ├── CreateSkillCommandHandler.cs │ │ │ └── CreateSkillValidation.cs │ │ │ ├── DeleteSkill │ │ │ ├── DeleteSkillCommand.cs │ │ │ ├── DeleteSkillCommandHandler.cs │ │ │ └── DeleteSkillValidation.cs │ │ │ ├── PartialUpdate │ │ │ ├── SkillPartialUpdateCommand.cs │ │ │ ├── SkillPartialUpdateCommandHandler.cs │ │ │ └── SkillPartialUpdateValidation.cs │ │ │ └── UpdateSkill │ │ │ ├── UpdateSkillCommand.cs │ │ │ ├── UpdateSkillCommandHandler.cs │ │ │ └── UpdateSkillValidation.cs │ └── Queries │ │ ├── AdminQueries │ │ ├── GetAdmin │ │ │ ├── GetAdminQuery.cs │ │ │ ├── GetAdminQueryHandler.cs │ │ │ └── GetAdminResponse.cs │ │ ├── GetAllAdmins │ │ │ ├── GetAllAdminsQuery.cs │ │ │ ├── GetAllAdminsQueryHandler.cs │ │ │ └── GetAllAdminsResponse.cs │ │ └── GetAllAdminsWithPaging │ │ │ ├── GetAllAdminsWithPagingQuery.cs │ │ │ ├── GetAllAdminsWithPagingQueryHandler.cs │ │ │ └── GetAllAdminsWithPagingResponse.cs │ │ ├── ApplicantQueries │ │ ├── GetAllApplicants │ │ │ ├── GetAllApplicantsQuery.cs │ │ │ └── GetAllApplicantsQueryHandler.cs │ │ ├── GetApplicantJobs │ │ │ ├── GetApplicantJobsQuery.cs │ │ │ └── GetApplicantJobsQueryHandler.cs │ │ └── GetApplicantSkills │ │ │ ├── GetApplicantSkillQuery.cs │ │ │ ├── GetApplicantSkillQueryHandler.cs │ │ │ └── GetApplicantSkillResponse.cs │ │ ├── CompanyQueries │ │ ├── FindCompany │ │ │ ├── FindCompanyQuery.cs │ │ │ ├── FindCompanyQueryHandler.cs │ │ │ └── FindCompanyResponse.cs │ │ ├── GetAllCompanies │ │ │ ├── GetAllCompaniesQuery.cs │ │ │ ├── GetAllCompaniesQueryHandler.cs │ │ │ └── GetAllCompaniesResponse.cs │ │ ├── GetAllCompaniesWithJobs │ │ │ ├── GetAllCompaniesWithJobsQuery.cs │ │ │ ├── GetAllCompaniesWithJobsQueryHandler.cs │ │ │ └── GetAllCompaniesWithJobsResponse.cs │ │ └── GetJobApplicants │ │ │ ├── GetJobApplicantsQuery.cs │ │ │ └── GetJobApplicantsQueryHandler.cs │ │ ├── EmployerQueries │ │ └── GetEmployerById │ │ │ ├── GetEmployerByIdQuery.cs │ │ │ ├── GetEmployerByIdQueryHandler.cs │ │ │ └── GetEmployerByIdResponse.cs │ │ ├── JobQueries │ │ ├── FindJob │ │ │ ├── FindJobQuery.cs │ │ │ ├── FindJobQueryHandler.cs │ │ │ └── FindJobResponse.cs │ │ ├── GetAllJobs │ │ │ ├── GetAllJobsQuery.cs │ │ │ ├── GetAllJobsQueryHandler.cs │ │ │ └── GetAllJobsResponse.cs │ │ └── GetAllWithPaging │ │ │ ├── GetAllJobsWithPagingQuery.cs │ │ │ ├── GetAllJobsWithPagingQueryHandler.cs │ │ │ └── GetAllJobsWithPagingResponse.cs │ │ ├── ResumeQueries │ │ └── GetResume │ │ │ ├── GetResumeQuery.cs │ │ │ ├── GetResumeQueryHandler.cs │ │ │ └── GetResumeResponse.cs │ │ └── SkillQueries │ │ ├── FindSkill │ │ ├── FindSkillQuery.cs │ │ ├── FindSkillQueryHandler.cs │ │ └── FindSkillResponse.cs │ │ ├── GetAll │ │ ├── GetAllSkillQuery.cs │ │ ├── GetAllSkillQueryHandler.cs │ │ └── GetAllSkillsResponse.cs │ │ ├── GetAllWithPaging │ │ ├── GetAllSkillsWithPagingQuery.cs │ │ ├── GetAllSkillsWithPagingQueryHandler.cs │ │ └── GetAllSkillsWithPagingResponse.cs │ │ └── GetById │ │ ├── GetSkillByIdQuery.cs │ │ ├── GetSkillByIdQueryHandler.cs │ │ └── GetSkillByIdResponse.cs ├── Interfaces │ ├── Repositories │ │ ├── IApplicantSkillRepository.cs │ │ ├── IApplicationRepository.cs │ │ ├── ICompanyJobRepository.cs │ │ ├── ICompanyRepository.cs │ │ ├── IExperienceRepository.cs │ │ ├── IGenericRepository.cs │ │ ├── IJobRepository.cs │ │ ├── IResumeRepository.cs │ │ └── ISkillRepository.cs │ ├── TokenProvider │ │ └── ITokenGenerator.cs │ └── UnitOfWork │ │ └── IUnitOfWork.cs ├── Templates │ ├── EmailConfirmationTemplate.cs │ ├── EmailRegistrationTemplete.cs │ └── ResetPaSwordTemplete.cs ├── bin │ └── Debug │ │ └── net8.0 │ │ ├── Application.deps.json │ │ ├── Application.dll │ │ ├── Application.pdb │ │ ├── Domain.dll │ │ └── Domain.pdb └── obj │ ├── Application.csproj.nuget.dgspec.json │ ├── Application.csproj.nuget.g.props │ ├── Application.csproj.nuget.g.targets │ ├── Debug │ └── net8.0 │ │ ├── .NETCoreApp,Version=v8.0.AssemblyAttributes.cs │ │ ├── 09645fa9-9de7-4ea6-8731-730f9388df92_Application.pdb │ │ ├── Application.AssemblyInfo.cs │ │ ├── Application.AssemblyInfoInputs.cache │ │ ├── Application.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── Application.GlobalUsings.g.cs │ │ ├── Application.assets.cache │ │ ├── Application.csproj.AssemblyReference.cache │ │ ├── Application.csproj.BuildWithSkipAnalyzers │ │ ├── Application.csproj.CopyComplete │ │ ├── Application.csproj.CoreCompileInputs.cache │ │ ├── Application.csproj.FileListAbsolute.txt │ │ ├── Application.dll │ │ ├── Application.pdb │ │ ├── Application.sourcelink.json │ │ ├── ref │ │ └── Application.dll │ │ └── refint │ │ └── Application.dll │ ├── project.assets.json │ └── project.nuget.cache ├── Domain ├── Common │ └── IdentityUsers │ │ ├── Admin.cs │ │ ├── Applicant.cs │ │ ├── ApplicationUser.cs │ │ ├── Company.cs │ │ └── Employer.cs ├── Domain.csproj ├── Enums │ ├── ApplicationRoles │ │ └── RolesEnum.cs │ └── SkillLevels │ │ └── Level.cs ├── Models │ ├── ApplicantJob.cs │ ├── ApplicantSkill.cs │ ├── CompanyJob.cs │ ├── Experience.cs │ ├── Job.cs │ ├── JobSkill.cs │ ├── Resume.cs │ └── Skill.cs ├── Settings │ ├── EmailSettings.cs │ ├── IdentitySettings.cs │ └── JWTSettings.cs ├── Shared │ ├── Error.cs │ ├── IValidationResult.cs │ ├── Result.cs │ ├── ResultT.cs │ ├── ValidationResult.cs │ └── ValidationResultT.cs ├── bin │ └── Debug │ │ └── net8.0 │ │ ├── Domain.deps.json │ │ ├── Domain.dll │ │ └── Domain.pdb └── obj │ ├── Debug │ └── net8.0 │ │ ├── .NETCoreApp,Version=v8.0.AssemblyAttributes.cs │ │ ├── Domain.AssemblyInfo.cs │ │ ├── Domain.AssemblyInfoInputs.cache │ │ ├── Domain.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── Domain.GlobalUsings.g.cs │ │ ├── Domain.assets.cache │ │ ├── Domain.csproj.AssemblyReference.cache │ │ ├── Domain.csproj.BuildWithSkipAnalyzers │ │ ├── Domain.csproj.CoreCompileInputs.cache │ │ ├── Domain.csproj.FileListAbsolute.txt │ │ ├── Domain.dll │ │ ├── Domain.pdb │ │ ├── Domain.sourcelink.json │ │ ├── ref │ │ └── Domain.dll │ │ └── refint │ │ └── Domain.dll │ ├── Domain.csproj.nuget.dgspec.json │ ├── Domain.csproj.nuget.g.props │ ├── Domain.csproj.nuget.g.targets │ ├── project.assets.json │ └── project.nuget.cache ├── JobFinder.sln ├── Persistence ├── Contexts │ └── ApplicationDbContext.cs ├── JWTTokenProvider │ └── TokenGenerator.cs ├── Migrations │ ├── 20231229045220_CreateTables.Designer.cs │ ├── 20231229045220_CreateTables.cs │ ├── 20231229045338_InsertApplicationRoles.Designer.cs │ ├── 20231229045338_InsertApplicationRoles.cs │ ├── 20231229134832_AddCompanyHasJobRelationship.Designer.cs │ ├── 20231229134832_AddCompanyHasJobRelationship.cs │ ├── 20240106214614_CreateAdminTable.Designer.cs │ ├── 20240106214614_CreateAdminTable.cs │ ├── 20240109181914_CreateExperienceTable.Designer.cs │ ├── 20240109181914_CreateExperienceTable.cs │ └── ApplicationDbContextModelSnapshot.cs ├── ModelConfigurations │ ├── AdminConfiguration.cs │ ├── ApplicantConfiguration.cs │ ├── ApplicantJobConfiguration.cs │ ├── ApplicantSkillConfiguration.cs │ ├── ApplicationUserConfiguration.cs │ ├── CompanyConfiguration.cs │ ├── CompanyJobConfiguration.cs │ ├── EmployerConfiguration.cs │ ├── ExperienceConfiguration.cs │ ├── JobConfiguration.cs │ ├── JobSkillConfiguration.cs │ └── SkillConfiguration.cs ├── Persistence.csproj ├── Repositories │ ├── ApplicantSkillRepository.cs │ ├── ApplicationRepository.cs │ ├── CompanyJobRepository.cs │ ├── CompanyRepository.cs │ ├── ExperienceRepository.cs │ ├── GenericRepository.cs │ ├── JobRepository.cs │ ├── ResumeRepository.cs │ └── SkillRepository.cs ├── ServiceRegistration.cs ├── UnitOfWork │ └── UnitOfWork.cs ├── bin │ └── Debug │ │ └── net8.0 │ │ ├── Application.dll │ │ ├── Application.pdb │ │ ├── Domain.dll │ │ ├── Domain.pdb │ │ ├── Persistence.deps.json │ │ ├── Persistence.dll │ │ ├── Persistence.pdb │ │ └── Persistence.runtimeconfig.json └── obj │ ├── Debug │ └── net8.0 │ │ ├── .NETCoreApp,Version=v8.0.AssemblyAttributes.cs │ │ ├── Persistence.AssemblyInfo.cs │ │ ├── Persistence.AssemblyInfoInputs.cache │ │ ├── Persistence.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── Persistence.GlobalUsings.g.cs │ │ ├── Persistence.assets.cache │ │ ├── Persistence.csproj.AssemblyReference.cache │ │ ├── Persistence.csproj.BuildWithSkipAnalyzers │ │ ├── Persistence.csproj.CopyComplete │ │ ├── Persistence.csproj.CoreCompileInputs.cache │ │ ├── Persistence.csproj.FileListAbsolute.txt │ │ ├── Persistence.dll │ │ ├── Persistence.genruntimeconfig.cache │ │ ├── Persistence.pdb │ │ ├── Persistence.sourcelink.json │ │ ├── ref │ │ └── Persistence.dll │ │ └── refint │ │ └── Persistence.dll │ ├── Persistence.csproj.nuget.dgspec.json │ ├── Persistence.csproj.nuget.g.props │ ├── Persistence.csproj.nuget.g.targets │ ├── project.assets.json │ └── project.nuget.cache └── Presentation ├── Controllers ├── AdminController.cs ├── ApiController.cs ├── ApplicantController.cs ├── ApplicationController.cs ├── CompanyController.cs ├── EmailController.cs ├── EmployerController.cs ├── JobController.cs ├── ResumeController.cs └── SkillController.cs ├── Filters └── ResumeValidatorAttribute.cs ├── Presentation.csproj ├── Presentation.csproj.user ├── Presentation.http ├── Program.cs ├── Properties └── launchSettings.json ├── appsettings.Development.json ├── appsettings.json ├── bin └── Debug │ └── net8.0 │ ├── Application.dll │ ├── Application.pdb │ ├── Azure.Core.dll │ ├── Azure.Identity.dll │ ├── BouncyCastle.Cryptography.dll │ ├── Dapper.dll │ ├── Domain.dll │ ├── Domain.pdb │ ├── FluentValidation.DependencyInjectionExtensions.dll │ ├── FluentValidation.dll │ ├── Humanizer.dll │ ├── MailKit.dll │ ├── MediatR.Contracts.dll │ ├── MediatR.dll │ ├── Microsoft.AspNetCore.Authentication.JwtBearer.dll │ ├── Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll │ ├── Microsoft.AspNetCore.JsonPatch.dll │ ├── Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll │ ├── Microsoft.Bcl.AsyncInterfaces.dll │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.dll │ ├── Microsoft.CodeAnalysis.CSharp.dll │ ├── Microsoft.CodeAnalysis.Workspaces.dll │ ├── Microsoft.CodeAnalysis.dll │ ├── Microsoft.Data.SqlClient.dll │ ├── Microsoft.EntityFrameworkCore.Abstractions.dll │ ├── Microsoft.EntityFrameworkCore.Design.dll │ ├── Microsoft.EntityFrameworkCore.InMemory.dll │ ├── Microsoft.EntityFrameworkCore.Relational.dll │ ├── Microsoft.EntityFrameworkCore.SqlServer.dll │ ├── Microsoft.EntityFrameworkCore.dll │ ├── Microsoft.Extensions.DependencyModel.dll │ ├── Microsoft.Identity.Client.Extensions.Msal.dll │ ├── Microsoft.Identity.Client.dll │ ├── Microsoft.IdentityModel.Abstractions.dll │ ├── Microsoft.IdentityModel.JsonWebTokens.dll │ ├── Microsoft.IdentityModel.Logging.dll │ ├── Microsoft.IdentityModel.Protocols.OpenIdConnect.dll │ ├── Microsoft.IdentityModel.Protocols.dll │ ├── Microsoft.IdentityModel.Tokens.dll │ ├── Microsoft.OpenApi.dll │ ├── Microsoft.SqlServer.Server.dll │ ├── Microsoft.Win32.SystemEvents.dll │ ├── MimeKit.dll │ ├── Mono.TextTemplating.dll │ ├── Newtonsoft.Json.Bson.dll │ ├── Newtonsoft.Json.dll │ ├── Persistence.dll │ ├── Persistence.pdb │ ├── Presentation.deps.json │ ├── Presentation.dll │ ├── Presentation.exe │ ├── Presentation.pdb │ ├── Presentation.runtimeconfig.json │ ├── Swashbuckle.AspNetCore.Swagger.dll │ ├── Swashbuckle.AspNetCore.SwaggerGen.dll │ ├── Swashbuckle.AspNetCore.SwaggerUI.dll │ ├── System.CodeDom.dll │ ├── System.Composition.AttributedModel.dll │ ├── System.Composition.Convention.dll │ ├── System.Composition.Hosting.dll │ ├── System.Composition.Runtime.dll │ ├── System.Composition.TypedParts.dll │ ├── System.Configuration.ConfigurationManager.dll │ ├── System.Data.SqlClient.dll │ ├── System.Drawing.Common.dll │ ├── System.IdentityModel.Tokens.Jwt.dll │ ├── System.Memory.Data.dll │ ├── System.Runtime.Caching.dll │ ├── System.Security.Cryptography.ProtectedData.dll │ ├── System.Security.Permissions.dll │ ├── System.Windows.Extensions.dll │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── cs │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── de │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── es │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── fr │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── it │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── ja │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── ko │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── pl │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── pt-BR │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── ru │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── runtimes │ ├── unix │ │ └── lib │ │ │ ├── net6.0 │ │ │ ├── Microsoft.Data.SqlClient.dll │ │ │ └── System.Drawing.Common.dll │ │ │ └── netcoreapp2.1 │ │ │ └── System.Data.SqlClient.dll │ ├── win-arm │ │ └── native │ │ │ └── Microsoft.Data.SqlClient.SNI.dll │ ├── win-arm64 │ │ └── native │ │ │ ├── Microsoft.Data.SqlClient.SNI.dll │ │ │ └── sni.dll │ ├── win-x64 │ │ └── native │ │ │ ├── Microsoft.Data.SqlClient.SNI.dll │ │ │ └── sni.dll │ ├── win-x86 │ │ └── native │ │ │ ├── Microsoft.Data.SqlClient.SNI.dll │ │ │ └── sni.dll │ └── win │ │ └── lib │ │ ├── net6.0 │ │ ├── Microsoft.Data.SqlClient.dll │ │ ├── Microsoft.Win32.SystemEvents.dll │ │ ├── System.Drawing.Common.dll │ │ ├── System.Runtime.Caching.dll │ │ ├── System.Security.Cryptography.ProtectedData.dll │ │ └── System.Windows.Extensions.dll │ │ └── netcoreapp2.1 │ │ └── System.Data.SqlClient.dll │ ├── tr │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ ├── zh-Hans │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll │ └── zh-Hant │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll │ ├── Microsoft.CodeAnalysis.CSharp.resources.dll │ ├── Microsoft.CodeAnalysis.Workspaces.resources.dll │ └── Microsoft.CodeAnalysis.resources.dll └── obj ├── Debug └── net8.0 │ ├── .NETCoreApp,Version=v8.0.AssemblyAttributes.cs │ ├── Presentation.AssemblyInfo.cs │ ├── Presentation.AssemblyInfoInputs.cache │ ├── Presentation.GeneratedMSBuildEditorConfig.editorconfig │ ├── Presentation.GlobalUsings.g.cs │ ├── Presentation.MvcApplicationPartsAssemblyInfo.cache │ ├── Presentation.MvcApplicationPartsAssemblyInfo.cs │ ├── Presentation.assets.cache │ ├── Presentation.csproj.AssemblyReference.cache │ ├── Presentation.csproj.BuildWithSkipAnalyzers │ ├── Presentation.csproj.CopyComplete │ ├── Presentation.csproj.CoreCompileInputs.cache │ ├── Presentation.csproj.FileListAbsolute.txt │ ├── Presentation.dll │ ├── Presentation.genruntimeconfig.cache │ ├── Presentation.pdb │ ├── Presentation.sourcelink.json │ ├── apphost.exe │ ├── d3221b85-3f08-40a0-a570-67d5d643d444_Presentation.pdb │ ├── ref │ └── Presentation.dll │ ├── refint │ └── Presentation.dll │ ├── staticwebassets.build.json │ └── staticwebassets │ ├── msbuild.build.Presentation.props │ ├── msbuild.buildMultiTargeting.Presentation.props │ └── msbuild.buildTransitive.Presentation.props ├── Presentation.csproj.nuget.dgspec.json ├── Presentation.csproj.nuget.g.props ├── Presentation.csproj.nuget.g.targets ├── project.assets.json └── project.nuget.cache /.deepsource.toml: -------------------------------------------------------------------------------- 1 | version = 1 2 | 3 | [[analyzers]] 4 | name = "csharp" -------------------------------------------------------------------------------- /Database/Backup/JobFinderAPI.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/Database/Backup/JobFinderAPI.bak -------------------------------------------------------------------------------- /src/.vs/JobFinder/DesignTimeBuild/.dtbcache.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/.vs/JobFinder/DesignTimeBuild/.dtbcache.v2 -------------------------------------------------------------------------------- /src/.vs/JobFinder/FileContentIndex/39693023-f7d1-4e5f-b1c5-79449ea76c5c.vsidx: -------------------------------------------------------------------------------- 1 | CDGG '3 -------------------------------------------------------------------------------- /src/.vs/JobFinder/FileContentIndex/56e697c8-ca37-40fb-92e2-429f9cd10441.vsidx: -------------------------------------------------------------------------------- 1 | CDGG '3 -------------------------------------------------------------------------------- /src/.vs/JobFinder/FileContentIndex/89a2281f-fcfc-4d03-bec5-69dd980ad201.vsidx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/.vs/JobFinder/FileContentIndex/89a2281f-fcfc-4d03-bec5-69dd980ad201.vsidx -------------------------------------------------------------------------------- /src/.vs/JobFinder/FileContentIndex/b487a031-9761-4183-acc8-29a50db03e07.vsidx: -------------------------------------------------------------------------------- 1 | CDGG '3 -------------------------------------------------------------------------------- /src/.vs/JobFinder/FileContentIndex/ecd6baaa-ee0d-48f1-9d24-a4729cc44945.vsidx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/.vs/JobFinder/FileContentIndex/ecd6baaa-ee0d-48f1-9d24-a4729cc44945.vsidx -------------------------------------------------------------------------------- /src/.vs/JobFinder/v17/.futdcache.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/.vs/JobFinder/v17/.futdcache.v2 -------------------------------------------------------------------------------- /src/.vs/JobFinder/v17/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/.vs/JobFinder/v17/.suo -------------------------------------------------------------------------------- /src/.vs/ProjectEvaluation/jobfinder.metadata.v7.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/.vs/ProjectEvaluation/jobfinder.metadata.v7.bin -------------------------------------------------------------------------------- /src/.vs/ProjectEvaluation/jobfinder.projects.v7.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/.vs/ProjectEvaluation/jobfinder.projects.v7.bin -------------------------------------------------------------------------------- /src/Application/Abstractions/ICommand.cs: -------------------------------------------------------------------------------- 1 | using Domain.Shared; 2 | using MediatR; 3 | 4 | namespace Application.Abstractions; 5 | 6 | public interface ICommand : IRequest 7 | { 8 | } 9 | 10 | public interface ICommand : IRequest> 11 | { 12 | } -------------------------------------------------------------------------------- /src/Application/Abstractions/ICommandHandler.cs: -------------------------------------------------------------------------------- 1 | using Domain.Shared; 2 | using MediatR; 3 | 4 | namespace Application.Abstractions; 5 | 6 | public interface ICommandHandler 7 | : IRequestHandler 8 | where TCommand : ICommand 9 | { 10 | } 11 | 12 | public interface ICommandHandler 13 | : IRequestHandler> 14 | where TCommand : ICommand 15 | { 16 | } -------------------------------------------------------------------------------- /src/Application/Abstractions/IQuery.cs: -------------------------------------------------------------------------------- 1 | using Domain.Shared; 2 | using MediatR; 3 | 4 | namespace Application.Abstractions; 5 | 6 | public interface IQuery : IRequest 7 | { 8 | } 9 | 10 | public interface IQuery : IRequest> 11 | { 12 | } -------------------------------------------------------------------------------- /src/Application/Abstractions/IQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Domain.Shared; 2 | using MediatR; 3 | 4 | namespace Application.Abstractions; 5 | 6 | public interface IQueryHandler 7 | : IRequestHandler> 8 | where TQuery : IQuery 9 | { 10 | } -------------------------------------------------------------------------------- /src/Application/DTOs/AdminDTOs/AdminLogoutDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.AdminDTOs; 2 | 3 | public record AdminLogoutDTO 4 | (int Id, string Token); -------------------------------------------------------------------------------- /src/Application/DTOs/AdminDTOs/CreateAdminDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.AdminDTOs; 2 | 3 | public record CreateAdminDTO 4 | (string Email, string Password, string ConfirmPassword, string FirstName, string LastName); -------------------------------------------------------------------------------- /src/Application/DTOs/AdminDTOs/LoginAdminDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.AdminDTOs; 2 | 3 | public record LoginAdminDTO 4 | (string Email, string Password); -------------------------------------------------------------------------------- /src/Application/DTOs/AdminDTOs/ReadAdminDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.AdminDTOs; 2 | 3 | public record ReadAdminDTO 4 | (int Id, string AdminName); -------------------------------------------------------------------------------- /src/Application/DTOs/AdminDTOs/UpdateAdminDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.AdminDTOs; 2 | 3 | public record UpdateAdminDTO 4 | (int Id, string FirstName, string LastName); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantDTOs/ConfirmEmailDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ApplicantDTOs; 2 | 3 | public record ConfirmEmailDTO 4 | (string Email, string Token); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantDTOs/LoginApplicantDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ApplicantDTOs; 2 | 3 | public record LoginApplicantDTO 4 | (string Email, string Password); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantDTOs/PartialUpdateApplicantDTO.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.JsonPatch; 2 | 3 | namespace Application.DTOs.ApplicantDTOs; 4 | 5 | public record PartialUpdateApplicantDTO 6 | (string Email, JsonPatchDocument ApplicantPD); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantDTOs/ReadApplicantDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ApplicantDTOs; 2 | 3 | public record ReadApplicantDTO 4 | (int Id, string FirstName, string LastName); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantDTOs/ReadApplicantWithJobsDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ApplicantDTOs; 2 | 3 | public class ReadApplicantWithJobsDTO 4 | { 5 | public int Id { get; init; } 6 | public string FirstName { get; init; } = null!; 7 | public string LastName { get; init; } = null!; 8 | 9 | public List Jobs { get; set; } = new(); 10 | } 11 | 12 | public sealed record ReadApplicantJobDTO 13 | (int Id, string Title, string JobDescription, string Name, string CompanyDescription, int EmployerId, string EmployerName, DateTime AppliedAt, bool IsReviewed); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantDTOs/RegisterApplicantDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ApplicantDTOs; 2 | 3 | public record RegisterApplicantDTO 4 | (string FirstName, string LastName, string Email, string Password, string ConfirmPassword); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantDTOs/UpdateApplicantDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ApplicantDTOs; 2 | 3 | public record UpdateApplicantDTO 4 | (string FirstName, string LastName); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantSkillDTO/CreateSkillDTO.cs: -------------------------------------------------------------------------------- 1 | using Domain.Enums.SkillLevels; 2 | 3 | namespace Application.DTOs.ApplicantSkillDTO; 4 | 5 | public record CreateSkillDTO 6 | (string Name, string Description, Level Level, int ApplicantId); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicantSkillDTO/ReadSkillDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ApplicantSkillDTO; 2 | 3 | public record ReadSkillDTO 4 | (int SkillId, int ApplicantId); -------------------------------------------------------------------------------- /src/Application/DTOs/ApplicationDTOs/CreateApplicationDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ApplicationDTOs; 2 | 3 | public record CreateApplicationDTO 4 | (int JobId, int ApplicantId); -------------------------------------------------------------------------------- /src/Application/DTOs/CompanyDTOs/LoginCompanyDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.CompanyDTOs; 2 | 3 | public record LoginCompanyDTO 4 | (string Email, string Password); -------------------------------------------------------------------------------- /src/Application/DTOs/CompanyDTOs/ReadCompanyDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.CompanyDTOs; 2 | 3 | public record ReadCompanyDTO 4 | (int ID, string Name, string Description, string Country, string City, string Address, string Email); -------------------------------------------------------------------------------- /src/Application/DTOs/CompanyDTOs/ReadCompanyWithJobDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.CompanyDTOs; 2 | 3 | public class ReadCompanyWithJobDTO 4 | { 5 | public int Id { get; set; } 6 | public string Name { get; set; } = null!; 7 | public string Description { get; set; } = null!; 8 | public string Country { get; set; } = null!; 9 | public string City { get; set; } = null!; 10 | public string Address { get; set; } = null!; 11 | public string Email { get; set; } = null!; 12 | public IEnumerable Jobs { get; set; } = []; 13 | } -------------------------------------------------------------------------------- /src/Application/DTOs/CompanyDTOs/ReadJobApplicantsDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.CompanyDTOs; 2 | 3 | public record ReadJobApplicantsDTO 4 | { 5 | public int CompanyId { get; init; } 6 | public string CompanyName { get; init; } = ""; 7 | public int JobId { get; init; } 8 | public string Title { get; init; } = ""; 9 | public List Applicants { get; init; } = []; 10 | } 11 | 12 | public record JobApplicantDto 13 | (int ApplicantId, string FirstName, string LastName); -------------------------------------------------------------------------------- /src/Application/DTOs/CompanyDTOs/ReadJobOfCompanyDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.CompanyDTOs; 2 | 3 | public class ReadJobOfCompanyDTO 4 | { 5 | public int JobId { get; set; } 6 | public string Title { get; set; } = string.Empty; 7 | public string JobDescription { get; set; } = string.Empty; 8 | public string EmployerName { get; set; } = string.Empty; 9 | } -------------------------------------------------------------------------------- /src/Application/DTOs/CompanyDTOs/RegisterCompanyDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.CompanyDTOs; 2 | 3 | public record RegisterCompanyDTO 4 | (string Name, string Email, string Password, string ConfirmPassword, string Address, string City, string Country); -------------------------------------------------------------------------------- /src/Application/DTOs/CompanyDTOs/UpdateCompanyDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.CompanyDTOs; 2 | 3 | public record UpdateCompanyDTO 4 | (string Name, string Address, string City, string Country); -------------------------------------------------------------------------------- /src/Application/DTOs/EmailDTOs/ConfirmUpdateEmailDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.EmailDTOs; 2 | 3 | public record ConfirmUpdateEmailDTO 4 | (string OldEmail, string Email, string Token); -------------------------------------------------------------------------------- /src/Application/DTOs/EmailDTOs/ResetPasswordDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.EmailDTOs; 2 | 3 | public record ResetPasswordDTO 4 | (string Email, string OldPassword, string Password, string ConfirmPassword, string Token); -------------------------------------------------------------------------------- /src/Application/DTOs/EmailDTOs/SendResetPasswordEmailDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.EmailDTOs; 2 | 3 | public sealed record SendResetPasswordEmailDTO 4 | (string Email); -------------------------------------------------------------------------------- /src/Application/DTOs/EmailDTOs/UpdateEmailDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.EmailDTOs; 2 | 3 | public record UpdateEmailDTO 4 | (string Email, string NewEmail, string ConfirmNewEmail, string Password); -------------------------------------------------------------------------------- /src/Application/DTOs/EmployerDTOs/LoginEmployerDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.EmployerDTOs; 2 | 3 | public record LoginEmployerDTO 4 | (string Email, string Password); -------------------------------------------------------------------------------- /src/Application/DTOs/EmployerDTOs/ReadEmployerDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.EmployerDTOs; 2 | public record ReadEmployerDTO 3 | (string EmployerName, string Email, string Name, string Description); -------------------------------------------------------------------------------- /src/Application/DTOs/EmployerDTOs/RegisterEmployerDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.EmployerDTOs; 2 | 3 | public sealed record RegisterEmployerDTO 4 | (string Email, string Password, string ConfirmPassword, string FirstName, string LastName, int CompanyId); -------------------------------------------------------------------------------- /src/Application/DTOs/ExperienceDTOs/CreateExperienceDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ExperienceDTOs; 2 | 3 | public record CreateExperienceDTO 4 | ( 5 | string Title, string Company, string Location, DateTime StartDate, DateTime EndDate, 6 | string Description, bool IsCurrent, int ApplicantId 7 | ); -------------------------------------------------------------------------------- /src/Application/DTOs/ExperienceDTOs/ReadExperienceDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ExperienceDTOs; 2 | 3 | public record ReadExperienceDTO 4 | (int Id, string Title, string CompanyName, string Position, string Description, DateTime StartDate, DateTime EndDate); -------------------------------------------------------------------------------- /src/Application/DTOs/ExperienceDTOs/ReadExperienceWithApplicantDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ExperienceDTOs; 2 | 3 | public sealed record ReadExperienceWithApplicantDTO 4 | (int Id, string Title, string Company, string Location, string Description, DateTime StartDate, DateTime EndDate, bool IsCurrent, int ApplicantId, string ApplicantName); -------------------------------------------------------------------------------- /src/Application/DTOs/ExperienceDTOs/UpdateExperienceDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ExperienceDTOs; 2 | 3 | public record UpdateExperienceDTO 4 | (string Title, string Company, string Location, string Description, DateTime StartDate, DateTime EndDate, bool IsCurrent); -------------------------------------------------------------------------------- /src/Application/DTOs/JobDTOs/CreateJobDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.JobDTOs; 2 | 3 | public record CreateJobDTO 4 | (string Title, string Description, int EmployerId, int CompanyId); -------------------------------------------------------------------------------- /src/Application/DTOs/JobDTOs/ReadJobDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.JobDTOs; 2 | 3 | public record ReadJobDTO 4 | (int Id, string Title, string Description, int CompanyId, string CompanyName, int EmployerId, string EmployerName); -------------------------------------------------------------------------------- /src/Application/DTOs/JobDTOs/UpdateJobDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.JobDTOs; 2 | 3 | public record UpdateJobDTO 4 | (int Id, string Title, string Description, int EmployerId); -------------------------------------------------------------------------------- /src/Application/DTOs/ResumeDTO/DeleteResumeDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ResumeDTO; 2 | 3 | public record DeleteResumeDTO 4 | (int ApplicantId, int ResumeId); -------------------------------------------------------------------------------- /src/Application/DTOs/ResumeDTO/GetResumeDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.ResumeDTO; 2 | 3 | public record GetResumeDTO 4 | (byte[] Content, string Extension, string FileName); -------------------------------------------------------------------------------- /src/Application/DTOs/ResumeDTO/UploadResumeDTO.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Http; 2 | 3 | namespace Application.DTOs.ResumeDTO; 4 | 5 | public record UploadResumeDTO 6 | (int ApplicantId, IFormFile Resume); -------------------------------------------------------------------------------- /src/Application/DTOs/SkillDTOs/CreateSkillDTO.cs: -------------------------------------------------------------------------------- 1 | using Domain.Enums.SkillLevels; 2 | 3 | namespace Application.DTOs.SkillDTOs; 4 | 5 | public record CreateSkillDTO 6 | (string Name, string Description, Level Level); -------------------------------------------------------------------------------- /src/Application/DTOs/SkillDTOs/ReadSkillDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.SkillDTOs; 2 | 3 | public record ReadSkillDTO 4 | (int Id, string Name, string Description, int Level); -------------------------------------------------------------------------------- /src/Application/DTOs/SkillDTOs/UpdateSkillDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DTOs.SkillDTOs; 2 | 3 | public record UpdateSkillDTO 4 | (string Name, string Description); -------------------------------------------------------------------------------- /src/Application/DapperQueries/AdminQueries/IAdminQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DapperQueries.QueryBase; 2 | using Application.DTOs.AdminDTOs; 3 | 4 | namespace Application.DapperQueries.AdminQueries; 5 | 6 | public interface IAdminQuery : IQueryBase 7 | { 8 | Task> GetAllWithPaging(int pageSize, int pageNumber); 9 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/ApplicantQueries/IApplicantQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DapperQueries.QueryBase; 2 | using Application.DTOs.ApplicantDTOs; 3 | 4 | namespace Application.DapperQueries.ApplicantQueries; 5 | 6 | public interface IApplicantQuery : IQueryBase 7 | { 8 | Task GetApplicantWithJobs(int Id); 9 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/ApplicantResumeQueries/ApplicantResume.cs: -------------------------------------------------------------------------------- 1 | using Application.DTOs.ResumeDTO; 2 | using Dapper; 3 | 4 | namespace Application.DapperQueries.ApplicantResumeQueries; 5 | 6 | public class ApplicantResume(DapperDbContext context) 7 | : IApplicantResume 8 | { 9 | private readonly DapperDbContext _context = context; 10 | 11 | public async Task GetResume(int applicantId) 12 | { 13 | using var connection = _context.CreateConnection(); 14 | var sql = "EXEC FindApplicantResume @ApplicantId"; 15 | var result = await connection.QueryFirstOrDefaultAsync(sql, new { ApplicantId = applicantId }); 16 | return result!; 17 | } 18 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/ApplicantResumeQueries/IApplicantResume.cs: -------------------------------------------------------------------------------- 1 | using Application.DTOs.ResumeDTO; 2 | 3 | namespace Application.DapperQueries.ApplicantResumeQueries; 4 | 5 | public interface IApplicantResume 6 | { 7 | Task GetResume(int applicantId); 8 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/ApplicantSkillQueries/ApplicantSkillQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DTOs.ApplicantSkillDTO; 2 | using Dapper; 3 | 4 | namespace Application.DapperQueries.ApplicantSkillQueries; 5 | 6 | public class ApplicantSkillQuery(DapperDbContext context) 7 | : IApplicantSkillQuery 8 | { 9 | private readonly DapperDbContext _context = context; 10 | 11 | public async Task GetApplicantSkill(int applicantId, int skillId) 12 | { 13 | using var connection = _context.CreateConnection(); 14 | var sql = "EXEC FindApplicantSkill @SkillId, @ApplicantId"; 15 | var result = await connection.QueryFirstOrDefaultAsync(sql, new { SkillId = skillId, ApplicantId = applicantId }); 16 | return result; 17 | } 18 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/ApplicantSkillQueries/IApplicantSkillQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DTOs.ApplicantSkillDTO; 2 | 3 | namespace Application.DapperQueries.ApplicantSkillQueries; 4 | 5 | public interface IApplicantSkillQuery 6 | { 7 | Task GetApplicantSkill(int applicantId, int skillId); 8 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/CompanyQueries/ICompanyQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DapperQueries.QueryBase; 2 | using Application.DTOs.CompanyDTOs; 3 | 4 | namespace Application.DapperQueries.CompanyQueries; 5 | 6 | public interface ICompanyQuery : IQueryBase 7 | { 8 | Task> FindCompany(string filter); 9 | 10 | Task> FindCompanyWithJobs(string filter); 11 | 12 | Task> GetAllCompaniesWithJobs(); 13 | 14 | Task> GetJobApplicant(int companyId, int jobId); 15 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/DapperDbContext.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.Configuration; 2 | using System.Data; 3 | using System.Data.SqlClient; 4 | 5 | namespace Application.DapperQueries; 6 | 7 | public class DapperDbContext 8 | { 9 | private readonly string _connectionString; 10 | private readonly IConfiguration _configuration; 11 | 12 | public DapperDbContext(IConfiguration configuration) 13 | { 14 | _configuration = configuration; 15 | _connectionString = configuration.GetConnectionString("JobFinderAPI") ?? 16 | throw new("Connection string not found"); 17 | } 18 | 19 | public IDbConnection CreateConnection() 20 | { 21 | return new SqlConnection(_configuration.GetConnectionString("JobFinderAPI")); 22 | } 23 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/EmployerQueries/EmployerQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DTOs.EmployerDTOs; 2 | using Dapper; 3 | 4 | namespace Application.DapperQueries.EmployerQueries; 5 | 6 | public class EmployerQuery(DapperDbContext context) 7 | : IEmployerQuery 8 | { 9 | private readonly DapperDbContext _context = context; 10 | 11 | public async Task Get(int Id) 12 | { 13 | using var connection = _context.CreateConnection(); 14 | var sql = "EXEC FINDEMPLOYERBYID @Id"; 15 | var employer = await connection.QueryFirstOrDefaultAsync(sql, new { Id }); 16 | return employer; 17 | } 18 | 19 | public async Task> GetAll() 20 | { 21 | using var connection = _context.CreateConnection(); 22 | var sql = "SELEC * FROM GETALLEMPLOYERS"; 23 | var employerList = await connection.QueryAsync(sql); 24 | return employerList.AsQueryable(); 25 | } 26 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/EmployerQueries/IEmployerQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DapperQueries.QueryBase; 2 | using Application.DTOs.EmployerDTOs; 3 | 4 | namespace Application.DapperQueries.EmployerQueries; 5 | 6 | public interface IEmployerQuery : IQueryBase 7 | { 8 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/ExperienceQueries/IExperienceQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DTOs.ExperienceDTOs; 2 | 3 | namespace Application.DapperQueries.ExperienceQueries; 4 | 5 | public interface IExperienceQuery 6 | { 7 | Task> GetApplicantExperiences(int applicantId); 8 | 9 | Task GetApplicantExperience(int applicantId, int experienceId); 10 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/JobQueries/IJobQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DapperQueries.QueryBase; 2 | using Application.DTOs.JobDTOs; 3 | using Domain.Models; 4 | 5 | namespace Application.DapperQueries.JobQueries; 6 | 7 | public interface IJobQuery : IQueryBase 8 | { 9 | Task> FindJob(string Filter); 10 | 11 | Task GetToDelete(int Id); 12 | 13 | Task GetToUpdate(int Id); 14 | 15 | Task> GetWithPaging(int pageSize, int pageNumber, string filter = ""); 16 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/QueryBase/IQueryBase.cs: -------------------------------------------------------------------------------- 1 | namespace Application.DapperQueries.QueryBase; 2 | 3 | public interface IQueryBase where T : class 4 | { 5 | Task Get(int Id); 6 | 7 | Task> GetAll(); 8 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/ResumeQueries/IResumeQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DapperQueries.QueryBase; 2 | using Application.DTOs.ResumeDTO; 3 | 4 | namespace Application.DapperQueries.ResumeQueries; 5 | 6 | public interface IResumeQuery : IQueryBase 7 | { 8 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/ResumeQueries/ResumeQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DTOs.ResumeDTO; 2 | using Dapper; 3 | 4 | namespace Application.DapperQueries.ResumeQueries; 5 | 6 | public class ResumeQuery(DapperDbContext context) 7 | : IResumeQuery 8 | { 9 | private readonly DapperDbContext _context = context; 10 | 11 | public async Task Get(int Id) 12 | { 13 | using var connection = _context.CreateConnection(); 14 | var sql = "SELECT Content, Extension, FileName FROM Resume WHERE Id = @Id"; 15 | var result = await connection.QueryFirstOrDefaultAsync(sql, new { Id }); 16 | return result; 17 | } 18 | 19 | public Task> GetAll() 20 | { 21 | throw new NotImplementedException(); 22 | } 23 | } -------------------------------------------------------------------------------- /src/Application/DapperQueries/SKillQueries/ISkillQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.DapperQueries.QueryBase; 2 | using Application.DTOs.SkillDTOs; 3 | using Domain.Models; 4 | 5 | namespace Application.DapperQueries.SKillQueries; 6 | 7 | public interface ISkillQuery : IQueryBase 8 | { 9 | Task> GetApplicantSkill(int applicantId); 10 | 11 | Task> FindSkill(string filter); 12 | 13 | Task> GetAllWithPaging(int pageSize, int pageNumber, string Filter = "", string SortOrder = ""); 14 | } -------------------------------------------------------------------------------- /src/Application/EmailServices/IEmailService.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Http; 2 | 3 | namespace Application.EmailServices; 4 | 5 | public interface IEmailService 6 | { 7 | Task SendEmailAsync(string to, string subject, string content, IList attachments = default!); 8 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/AdminLogin/AdminLoginCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.AdminCommands.ApplicantLogin; 4 | 5 | public sealed record AdminLoginCommand 6 | (string Email, string Password) 7 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/AdminLogin/AdminLoginValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.AdminCommands.ApplicantLogin; 4 | 5 | public class AdminLoginValidation : AbstractValidator 6 | { 7 | public AdminLoginValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty().WithMessage("Email is required") 11 | .EmailAddress().WithMessage("Email is not valid"); 12 | 13 | RuleFor(x => x.Password) 14 | .NotEmpty().WithMessage("Password is required"); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/AdminLogout/AdminLogoutCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.AdminCommands.AdminLogout; 4 | 5 | public sealed record AdminLogoutCommand 6 | (int AdminId, string AdminToken) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/AdminLogout/AdminLogoutValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.AdminCommands.AdminLogout; 4 | 5 | internal class AdminLogoutValidation : AbstractValidator 6 | { 7 | public AdminLogoutValidation() 8 | { 9 | RuleFor(x => x.AdminId) 10 | .NotEmpty() 11 | .NotNull() 12 | .GreaterThan(0); 13 | 14 | RuleFor(x => x.AdminToken) 15 | .NotEmpty() 16 | .NotNull(); 17 | } 18 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/CreateAdmin/CreateAdminCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.AdminCommands.CreateAdmin; 4 | 5 | public record CreateAdminCommand 6 | (string Email, string Password, string ConfirmPassword, string FirstName, string LastName) 7 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/CreateAdmin/CreateAdminValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.AdminCommands.CreateAdmin; 4 | 5 | public class CreateAdminValidation : AbstractValidator 6 | { 7 | public CreateAdminValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty() 11 | .EmailAddress(); 12 | 13 | RuleFor(x => x.Password) 14 | .NotEmpty() 15 | .MinimumLength(8); 16 | 17 | RuleFor(x => x.ConfirmPassword) 18 | .Equal(x => x.Password); 19 | 20 | RuleFor(x => x.FirstName) 21 | .NotEmpty() 22 | .MinimumLength(2); 23 | 24 | RuleFor(x => x.LastName) 25 | .NotEmpty() 26 | .MinimumLength(2); 27 | } 28 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/DeleteAdmin/DeleteAdminCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.AdminCommands.DeleteAdmin; 4 | 5 | public sealed record DeleteAdminCommand 6 | (int Id) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/DeleteAdmin/DeleteAdminValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.AdminCommands.DeleteAdmin; 4 | 5 | public class DeleteAdminValidation : AbstractValidator 6 | { 7 | public DeleteAdminValidation() 8 | { 9 | RuleFor(x => x.Id) 10 | .GreaterThan(0) 11 | .WithMessage("Id must be greater than 0"); 12 | } 13 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/PartialUpdate/AdminPartialUpdateCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Microsoft.AspNetCore.JsonPatch; 3 | 4 | namespace Application.Features.Commands.AdminCommands.PartialUpdate; 5 | 6 | public sealed record AdminPartialUpdateCommand 7 | (string Email, JsonPatchDocument AdminPD) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/PartialUpdate/AdminPartialUpdateValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.AdminCommands.PartialUpdate; 4 | 5 | public class AdminPartialUpdateValidation : AbstractValidator 6 | { 7 | public AdminPartialUpdateValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty().WithMessage("{PropertyName} is required.") 11 | .NotNull() 12 | .EmailAddress().WithMessage("{PropertyName} must be a valid email address."); 13 | 14 | RuleFor(x => x.AdminPD) 15 | .NotEmpty().WithMessage("{PropertyName} is required.") 16 | .NotNull(); 17 | } 18 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/AdminCommands/UpdateAdmin/UpdateAdminCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.AdminCommands.UpdateAdmin; 4 | 5 | public sealed record UpdateAdminCommand 6 | (int Id, string FirstName, string LastName) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/ApplicantLogin/ApplicantLoginCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.ApplicantLogin; 4 | 5 | public sealed record ApplicantLoginCommand 6 | (string Email, string Password) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/ApplicantLogin/ApplicantLoginCommandValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.ApplicantLogin; 4 | 5 | public class ApplicantLoginCommandValidation : AbstractValidator 6 | { 7 | public ApplicantLoginCommandValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty() 11 | .EmailAddress(); 12 | 13 | RuleFor(x => x.Password) 14 | .NotEmpty(); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/ApplicantRegister/ApplicantRegisterCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.ApplicantRegister; 4 | 5 | public sealed record ApplicantRegisterCommand 6 | (string Email, string Password, string ConfirmPassword, string FirstName, string LastName, string Origin) 7 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/CreateExperience/CreateExperienceCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.CreateExperience; 4 | 5 | public sealed record CreateExperienceCommand 6 | ( 7 | string Title, string Company, string Location, DateTime StartDate, 8 | DateTime EndDate, string Description, bool IsCurrent, int ApplicantId 9 | ) 10 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/DeleteExperience/DeleteExperienceCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.DeleteExperience; 4 | 5 | public sealed record DeleteExperienceCommand 6 | (int ApplicantId, int ExperinceId) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/DeleteExperience/DeleteExperienceValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.DeleteExperience; 4 | 5 | public class DeleteExperienceValidation : AbstractValidator 6 | { 7 | public DeleteExperienceValidation() 8 | { 9 | RuleFor(x => x.ApplicantId) 10 | .NotEmpty().WithMessage("{PropertyName} is required.") 11 | .GreaterThan(0).WithMessage("{PropertyName} is required."); 12 | 13 | RuleFor(x => x.ExperinceId) 14 | .NotEmpty().WithMessage("{PropertyName} is required.") 15 | .GreaterThan(0).WithMessage("{PropertyName} is required."); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/DeleteSkill/DeleteSkillCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.DeleteSkill; 4 | 5 | public sealed record DeleteApplicantSkillCommand 6 | (int SkillId, int ApplicantId) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/DeleteSkill/DeleteSkillValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.DeleteSkill; 4 | 5 | public class DeleteSkillValidation : AbstractValidator 6 | { 7 | public DeleteSkillValidation() 8 | { 9 | RuleFor(p => p.SkillId) 10 | .NotEmpty().WithMessage("{PropertyName} is required.") 11 | .NotNull(); 12 | 13 | RuleFor(p => p.ApplicantId) 14 | .NotEmpty().WithMessage("{PropertyName} is required.") 15 | .NotNull(); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/PartialUpdate/PartialUpdateApplicantCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Microsoft.AspNetCore.JsonPatch; 3 | 4 | namespace Application.Features.Commands.ApplicantCommands.PartialUpdate; 5 | 6 | public sealed record PartialUpdateApplicantCommand 7 | (string Email, JsonPatchDocument ApplicantPD) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/PartialUpdate/PartialUpdateApplicantValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.PartialUpdate; 4 | 5 | public class PartialUpdateApplicantValidation : AbstractValidator 6 | { 7 | public PartialUpdateApplicantValidation() 8 | { 9 | RuleFor(x => x.ApplicantPD).NotNull(); 10 | RuleFor(x => x.Email).NotNull().EmailAddress(); 11 | } 12 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/UpdateApplicant/UpdateApplicantCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.UpdateApplicant; 4 | 5 | public sealed record UpdateApplicantCommand 6 | (int Id, string FirstName, string LastName) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/UpdateApplicant/UpdateApplicantValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.UpdateApplicant; 4 | 5 | public class UpdateApplicantValidation : AbstractValidator 6 | { 7 | public UpdateApplicantValidation() 8 | { 9 | RuleFor(x => x.Id) 10 | .NotEmpty().WithMessage("Id is required") 11 | .GreaterThan(0).WithMessage("Id must be greater than 0"); 12 | 13 | RuleFor(x => x.FirstName) 14 | .NotEmpty().WithMessage("First name is required") 15 | .MinimumLength(2).WithMessage("First name must be at least 2 characters"); 16 | 17 | RuleFor(x => x.LastName) 18 | .NotEmpty().WithMessage("Last name is required") 19 | .MinimumLength(2).WithMessage("Last name must be at least 2 characters"); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantCommands/UpdateExperience/UpdateExperienceCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ApplicantCommands.UpdateExperience; 4 | 5 | public sealed record UpdateExperienceCommand 6 | (int ApplicantId, int ExperienceId, string Title, string CompanyName, string Location, string Description, DateTime StartDate, DateTime EndDate) 7 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantSkills/CreateSkillCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ApplicantSkills; 4 | 5 | public sealed record CreateSkillCommand 6 | (int ApplicantId, int SkillId) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ApplicantSkills/CreateSkillValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.ApplicantSkills; 4 | 5 | public class CreateSkillValidation : AbstractValidator 6 | { 7 | public CreateSkillValidation() 8 | { 9 | RuleFor(x => x.ApplicantId) 10 | .GreaterThan(0) 11 | .WithMessage("Applicant Id must be greater than 0"); 12 | 13 | RuleFor(x => x.SkillId) 14 | .GreaterThan(0) 15 | .WithMessage("Skill Id must be greater than 0"); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/CompanyCommands/CompanyLogin/CompanyLoginCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.CompanyCommands.CompanyLogin; 4 | 5 | public sealed record CompanyLoginCommand 6 | (string Email, string Password) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/CompanyCommands/CompanyLogin/CompanyLoginValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.CompanyCommands.CompanyLogin; 4 | 5 | public class CompanyLoginValidation : AbstractValidator 6 | { 7 | public CompanyLoginValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty().WithMessage("Email is required"); 11 | 12 | RuleFor(x => x.Password) 13 | .NotEmpty().WithMessage("Password is required") 14 | .MinimumLength(6).WithMessage("Password must be at least 6 characters"); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/CompanyCommands/CompanyRegistration/CompanyRegistrationCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.CompanyCommands.CompanyRegistration; 4 | 5 | public sealed record CompanyRegistrationCommand 6 | (string Name, string Email, string Password, string ConfirmPassword, string Address, string City, string Country) 7 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/CompanyCommands/DeleteCompany/DeleteCompanyCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.CompanyCommands.DeleteCompany; 4 | 5 | public sealed record DeleteCompanyCommand 6 | (int Id) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/CompanyCommands/DeleteCompany/DeleteCompanyValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.CompanyCommands.DeleteCompany; 4 | 5 | public class DeleteCompanyValidation : AbstractValidator 6 | { 7 | public DeleteCompanyValidation() 8 | { 9 | RuleFor(x => x.Id) 10 | .NotEmpty().WithMessage("Id is required.") 11 | .GreaterThan(0).WithMessage("Id Should be Greater than Zero."); 12 | } 13 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/CompanyCommands/PartialUpdate/CompanyPartialUpdateCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Microsoft.AspNetCore.JsonPatch; 3 | 4 | namespace Application.Features.Commands.CompanyCommands.PartialUpdate; 5 | 6 | public sealed record CompanyPartialUpdateCommand 7 | (string Email, JsonPatchDocument CompanyPD) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/CompanyCommands/PartialUpdate/CompanyPartialUpdateValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.CompanyCommands.PartialUpdate; 4 | 5 | public class CompanyPartialUpdateValidation : AbstractValidator 6 | { 7 | public CompanyPartialUpdateValidation() 8 | { 9 | RuleFor(x => x.Email).NotEmpty().EmailAddress(); 10 | RuleFor(x => x.CompanyPD).NotNull(); 11 | } 12 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/CompanyCommands/UpdateCompany/UpdateCompanyCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.CompanyCommands.UpdateCompany; 4 | 5 | public sealed record UpdateCompanyCommand 6 | (int Id, string Name, string Address, string City, string Country) 7 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/ConfirmEmail/ConfirmEmailCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.EmailCommands.ComfirmEmail; 4 | 5 | public sealed record ConfirmEmailCommand 6 | (string Email, string Token) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/ConfirmEmail/ConfirmEmailValidation.cs: -------------------------------------------------------------------------------- 1 | using Application.Features.Commands.EmailCommands.ComfirmEmail; 2 | using FluentValidation; 3 | 4 | namespace Application.Features.Commands.EmailCommands.ConfirmEmail; 5 | 6 | public class ConfirmEmailValidation : AbstractValidator 7 | { 8 | public ConfirmEmailValidation() 9 | { 10 | RuleFor(x => x.Email) 11 | .NotEmpty() 12 | .EmailAddress(); 13 | 14 | RuleFor(x => x.Token) 15 | .NotEmpty(); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/ConfirmUpdatedEmail/ConfirmUpdatedEmailCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.EmailCommands.ConfirmUpdatedEmail; 4 | 5 | public sealed record ConfirmUpdatedEmailCommand 6 | (string OldEmail, string Email, string Token) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/ConfirmUpdatedEmail/ConfirmUpdatedEmailValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.EmailCommands.ConfirmUpdatedEmail; 4 | 5 | public class ConfirmUpdatedEmailValidation : AbstractValidator 6 | { 7 | public ConfirmUpdatedEmailValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty() 11 | .EmailAddress(); 12 | 13 | RuleFor(x => x.Token) 14 | .NotEmpty(); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/ResetPassword/ResetPasswordCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.EmailCommands.ResetPassword; 4 | 5 | public sealed record ResetPasswordCommand 6 | (string Email, string OldPassword, string Password, string ConfirmPassword, string Token) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/ResetPassword/ResetPasswordValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.EmailCommands.ResetPassword; 4 | 5 | public class ResetPasswordValidation : AbstractValidator 6 | { 7 | public ResetPasswordValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty() 11 | .EmailAddress().WithMessage("Email is not valid"); 12 | 13 | RuleFor(x => x.Password) 14 | .NotEmpty() 15 | .MinimumLength(8).WithMessage("Password must be at least 8 characters long"); 16 | 17 | RuleFor(x => x.ConfirmPassword) 18 | .NotEmpty() 19 | .Equal(x => x.Password).WithMessage("Passwords do not match"); 20 | 21 | RuleFor(x => x.OldPassword) 22 | .NotEmpty(); 23 | 24 | RuleFor(x => x.Token) 25 | .NotEmpty(); 26 | } 27 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/SendResetPasswordEmail/SendResetPasswordCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.EmailCommands.SendResetPasswordEmail; 4 | 5 | public sealed record SendResetPasswordCommand 6 | (string Email) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/SendResetPasswordEmail/SendResetPasswordValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.EmailCommands.SendResetPasswordEmail; 4 | 5 | internal class SendResetPasswordValidation : AbstractValidator 6 | { 7 | public SendResetPasswordValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty() 11 | .EmailAddress().WithMessage("Email is not valid"); 12 | } 13 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/UpdateEmail/UpdateEmailCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.EmailCommands.UpdateEmail; 4 | 5 | public sealed record UpdateEmailCommand 6 | (string Email, string NewEmail, string ConfirmNewEmail, string Password) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmailCommands/UpdateEmail/UpdateEmailValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.EmailCommands.UpdateEmail; 4 | 5 | public class UpdateEmailValidation : AbstractValidator 6 | { 7 | public UpdateEmailValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty() 11 | .EmailAddress(); 12 | 13 | RuleFor(x => x.NewEmail) 14 | .NotEmpty() 15 | .EmailAddress(); 16 | 17 | RuleFor(x => x.ConfirmNewEmail) 18 | .NotEmpty() 19 | .EmailAddress() 20 | .Equal(x => x.NewEmail); 21 | 22 | RuleFor(x => x.Password) 23 | .NotEmpty(); 24 | } 25 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmployerCommands/DeleteEmployer/DeleteEmployerCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.EmployerCommands.DeleteEmployer; 4 | 5 | public sealed record DeleteEmployerCommand 6 | (int Id) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmployerCommands/DeleteEmployer/DeleteEmployerValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.EmployerCommands.DeleteEmployer; 4 | 5 | public class DeleteEmployerValidation : AbstractValidator 6 | { 7 | public DeleteEmployerValidation() 8 | { 9 | RuleFor(x => x.Id) 10 | .GreaterThan(0) 11 | .WithMessage("Id must be greater than 0"); 12 | } 13 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmployerCommands/EmployerLogin/EmployerLoginCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.EmployerCommands.EmployerLogin; 4 | 5 | public sealed record EmployerLoginCommand 6 | (string Email, string Password) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmployerCommands/EmployerLogin/EmployerLoginValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.EmployerCommands.EmployerLogin; 4 | 5 | public class EmployerLoginValidation : AbstractValidator 6 | { 7 | public EmployerLoginValidation() 8 | { 9 | RuleFor(x => x.Email) 10 | .NotEmpty() 11 | .EmailAddress().WithErrorCode("Invalid Email Address"); 12 | 13 | RuleFor(x => x.Password) 14 | .NotEmpty(); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/EmployerCommands/EmployerRegister/EmployerRegisterCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.EmployerCommands.EmployerRegister; 4 | 5 | public sealed record EmployerRegisterCommand 6 | (string Email, string Password, string ConfirmPassword, string FirstName, string LastName, int CompanyId) 7 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobApplicationCommands/CreateJobApplication/CreateApplicationCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.JobApplicationCommands.CreateJobApplication; 4 | 5 | public sealed record CreateApplicationCommand 6 | (int JobId, int ApplicantId) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobApplicationCommands/CreateJobApplication/CreateApplicationValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.JobApplicationCommands.CreateJobApplication; 4 | 5 | public class CreateApplicationValidation : AbstractValidator 6 | { 7 | public CreateApplicationValidation() 8 | { 9 | RuleFor(x => x.JobId) 10 | .GreaterThan(0) 11 | .WithMessage("JobId must be greater than 0"); 12 | 13 | RuleFor(x => x.ApplicantId) 14 | .GreaterThan(0) 15 | .WithMessage("ApplicantId must be greater than 0"); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobCommands/CreateJob/CreateJobCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.JobCommands.CreateJob; 4 | 5 | public sealed record CreateJobCommand 6 | (string Title, string Description, int EmployerId, int CompanyId) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobCommands/CreateJob/CreateJobCommandValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.JobCommands.CreateJob; 4 | 5 | public class CreateJobCommandValidation : AbstractValidator 6 | { 7 | public CreateJobCommandValidation() 8 | { 9 | RuleFor(x => x.Title) 10 | .NotEmpty() 11 | .MaximumLength(100); 12 | 13 | RuleFor(x => x.Description) 14 | .NotEmpty() 15 | .MaximumLength(500); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobCommands/DeleteJob/DeleteJobCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.JobCommands.DeleteJob; 4 | 5 | public sealed record DeleteJobCommand 6 | (int JobId) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobCommands/DeleteJob/DeleteJobValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.JobCommands.DeleteJob; 4 | 5 | public class DeleteJobValidation : AbstractValidator 6 | { 7 | public DeleteJobValidation() 8 | { 9 | RuleFor(v => v.JobId).NotEmpty().WithMessage("Id is required"); 10 | } 11 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobCommands/PartialUpdate/JopPartialUpdateCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Microsoft.AspNetCore.JsonPatch; 3 | 4 | namespace Application.Features.Commands.JobCommands.PartialUpdate; 5 | 6 | public record JopPartialUpdateCommand 7 | (int Id, JsonPatchDocument JobPD) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobCommands/PartialUpdate/JopPartialUpdateValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.JobCommands.PartialUpdate; 4 | 5 | internal class JopPartialUpdateValidation : AbstractValidator 6 | { 7 | public JopPartialUpdateValidation() 8 | { 9 | RuleFor(x => x.Id).GreaterThan(0); 10 | RuleFor(x => x.JobPD).NotNull(); 11 | } 12 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobCommands/UpdateJob/UpdateJobCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.JobCommands.UpdateJob; 4 | 5 | public sealed record UpdateJobCommand 6 | (int Id, string Title, string Description, int EmployerId) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/JobCommands/UpdateJob/UpdateJobValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.JobCommands.UpdateJob; 4 | 5 | public class UpdateJobValidation : AbstractValidator 6 | { 7 | public UpdateJobValidation() 8 | { 9 | RuleFor(x => x.Id) 10 | .NotEmpty() 11 | .WithMessage("Id is required."); 12 | 13 | RuleFor(x => x.Title) 14 | .NotEmpty() 15 | .WithMessage("Title is required.") 16 | .MaximumLength(50) 17 | .WithMessage("Title must not exceed 50 characters."); 18 | 19 | RuleFor(x => x.Description) 20 | .NotEmpty() 21 | .WithMessage("Description is required.") 22 | .MaximumLength(500) 23 | .WithMessage("Description must not exceed 500 characters."); 24 | } 25 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/ResumeCommands/DeleteResume/DeleteResumeCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.ResumeCommands.DeleteResume; 4 | 5 | public sealed record DeleteResumeCommand 6 | (int ApplicantId, int ResumeId) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ResumeCommands/DeleteResume/DeleteResumeValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.ResumeCommands.DeleteResume; 4 | 5 | public class DeleteResumeValidation : AbstractValidator 6 | { 7 | public DeleteResumeValidation() 8 | { 9 | RuleFor(x => x.ApplicantId) 10 | .GreaterThan(0) 11 | .WithMessage("ApplicantId must be greater than 0"); 12 | 13 | RuleFor(x => x.ResumeId) 14 | .GreaterThan(0) 15 | .WithMessage("ResumeId must be greater than 0"); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/ResumeCommands/UploadResume/UploadResumeCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Microsoft.AspNetCore.Http; 3 | 4 | namespace Application.Features.Commands.ResumeCommands.UploadResume; 5 | 6 | public record UploadResumeCommand 7 | (int ApplicantId, IFormFile Resume) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/ResumeCommands/UploadResume/UploadResumeValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.ResumeCommands.UploadResume; 4 | 5 | public class UploadResumeValidation : AbstractValidator 6 | { 7 | public UploadResumeValidation() 8 | { 9 | RuleFor(x => x.ApplicantId) 10 | .GreaterThan(0) 11 | .WithMessage("ApplicantId must be greater than 0"); 12 | 13 | RuleFor(x => x.Resume) 14 | .NotNull() 15 | .WithMessage("Resume must not be null"); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/CreateMultiSkills/CreateMultiSkillsCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DTOs.SkillDTOs; 3 | 4 | namespace Application.Features.Commands.SkillCommands.CreateMultiSkills; 5 | 6 | public record CreateMultiSkillsCommand 7 | (IEnumerable Skills) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/CreateSkill/CreateSkillCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Domain.Enums.SkillLevels; 3 | 4 | namespace Application.Features.Commands.SkillCommands.CreateSkill; 5 | 6 | public sealed record CreateSkillCommand(string Name, string Description, Level Level) 7 | : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/CreateSkill/CreateSkillValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.SkillCommands.CreateSkill; 4 | 5 | public class CreateSkillValidation : AbstractValidator 6 | { 7 | public CreateSkillValidation() 8 | { 9 | RuleFor(x => x.Name) 10 | .NotEmpty().WithMessage("Name is required.") 11 | .MaximumLength(50).WithMessage("Name must not exceed 50 characters."); 12 | 13 | RuleFor(x => x.Description) 14 | .NotEmpty().WithMessage("Description is required.") 15 | .MaximumLength(500).WithMessage("Description must not exceed 500 characters."); 16 | 17 | RuleFor(x => x.Level) 18 | .IsInEnum().WithMessage("Level must be a valid SkillLevel."); 19 | } 20 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/DeleteSkill/DeleteSkillCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.SkillCommands.DeleteSkill; 4 | 5 | public sealed record DeleteSkillCommand 6 | (int Id) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/DeleteSkill/DeleteSkillValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.SkillCommands.DeleteSkill; 4 | 5 | public class DeleteSkillValidation : AbstractValidator 6 | { 7 | public DeleteSkillValidation() 8 | { 9 | RuleFor(x => x.Id) 10 | .NotEmpty().WithMessage("{PropertyName} is required.") 11 | .GreaterThan(0).WithMessage("{PropertyName} must be greater than 0."); 12 | } 13 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/PartialUpdate/SkillPartialUpdateCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Microsoft.AspNetCore.JsonPatch; 3 | 4 | namespace Application.Features.Commands.SkillCommands.PartialUpdate; 5 | 6 | public sealed record SkillPartialUpdateCommand 7 | (int Id, JsonPatchDocument SkillPD) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/PartialUpdate/SkillPartialUpdateValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.SkillCommands.PartialUpdate; 4 | 5 | public class SkillPartialUpdateValidation : AbstractValidator 6 | { 7 | public SkillPartialUpdateValidation() 8 | { 9 | RuleFor(x => x.Id) 10 | .NotEmpty().WithMessage("Id is required") 11 | .NotNull(); 12 | 13 | RuleFor(x => x.SkillPD) 14 | .NotEmpty().WithMessage("Skill Patch Document is required") 15 | .NotNull(); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/UpdateSkill/UpdateSkillCommand.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Commands.SkillCommands.UpdateSkill; 4 | 5 | public sealed record UpdateSkillCommand 6 | (int Id, string Name, string Description) : ICommand; -------------------------------------------------------------------------------- /src/Application/Features/Commands/SkillCommands/UpdateSkill/UpdateSkillValidation.cs: -------------------------------------------------------------------------------- 1 | using FluentValidation; 2 | 3 | namespace Application.Features.Commands.SkillCommands.UpdateSkill; 4 | 5 | public class UpdateSkillValidation : AbstractValidator 6 | { 7 | public UpdateSkillValidation() 8 | { 9 | RuleFor(x => x.Id) 10 | .NotEmpty().WithMessage("Id is required") 11 | .GreaterThan(0).WithMessage("Id must be greater than 0"); 12 | 13 | RuleFor(x => x.Name) 14 | .NotEmpty().WithMessage("Name is required") 15 | .MinimumLength(3).WithMessage("Name must be at least 3 characters long"); 16 | 17 | RuleFor(x => x.Description) 18 | .NotEmpty().WithMessage("Description is required") 19 | .MinimumLength(3).WithMessage("Description must be at least 3 characters long"); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/AdminQueries/GetAdmin/GetAdminQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.AdminQueries.GetAdmin; 4 | 5 | public sealed record GetAdminQuery 6 | (int Id) : IQuery; -------------------------------------------------------------------------------- /src/Application/Features/Queries/AdminQueries/GetAdmin/GetAdminQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.AdminQueries; 3 | using Domain.Shared; 4 | 5 | namespace Application.Features.Queries.AdminQueries.GetAdmin; 6 | 7 | public sealed class GetAdminQueryHandler(IAdminQuery adminQuery) 8 | : IQueryHandler 9 | { 10 | private readonly IAdminQuery _adminQuery = adminQuery; 11 | 12 | public async Task> Handle(GetAdminQuery request, CancellationToken cancellationToken) 13 | { 14 | var adminExists = await adminQuery.Get(request.Id); 15 | 16 | return adminExists is null 17 | ? Result.Fail($"Admin with id {request.Id} does not exist") 18 | : Result.Ok(new GetAdminResponse(adminExists.Id, adminExists.AdminName)); 19 | } 20 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/AdminQueries/GetAdmin/GetAdminResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.AdminQueries.GetAdmin; 2 | 3 | public sealed record GetAdminResponse 4 | (int Id, string AdminName); -------------------------------------------------------------------------------- /src/Application/Features/Queries/AdminQueries/GetAllAdmins/GetAllAdminsQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.AdminQueries.GetAllAdmins; 4 | 5 | public sealed record GetAllAdminsQuery 6 | () : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/AdminQueries/GetAllAdmins/GetAllAdminsQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.AdminQueries; 3 | using Domain.Shared; 4 | 5 | namespace Application.Features.Queries.AdminQueries.GetAllAdmins; 6 | 7 | public sealed class GetAllAdminsQueryHandler(IAdminQuery adminQuery) 8 | : IQueryHandler> 9 | { 10 | private readonly IAdminQuery _adminQuery = adminQuery; 11 | 12 | public async Task>> Handle(GetAllAdminsQuery request, CancellationToken cancellationToken) 13 | { 14 | var adminlist = await _adminQuery.GetAll(); 15 | var adminlistResponse = adminlist.Select(admin => new GetAllAdminsResponse(admin.Id, admin.AdminName)); 16 | return Result.Ok(adminlistResponse); 17 | } 18 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/AdminQueries/GetAllAdmins/GetAllAdminsResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.AdminQueries.GetAllAdmins; 2 | 3 | public sealed record GetAllAdminsResponse 4 | (int Id, string AdminName); -------------------------------------------------------------------------------- /src/Application/Features/Queries/AdminQueries/GetAllAdminsWithPaging/GetAllAdminsWithPagingQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.AdminQueries.GetAllAdminsWithPaging; 4 | 5 | public sealed record GetAllAdminsWithPagingQuery 6 | (int PageNumber, int PageSize) 7 | : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/AdminQueries/GetAllAdminsWithPaging/GetAllAdminsWithPagingResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.AdminQueries.GetAllAdminsWithPaging; 2 | 3 | public sealed record GetAllAdminsWithPagingResponse 4 | (int Id, string AdminName); -------------------------------------------------------------------------------- /src/Application/Features/Queries/ApplicantQueries/GetAllApplicants/GetAllApplicantsQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DTOs.ApplicantDTOs; 3 | 4 | namespace Application.Features.Queries.ApplicantQueries.GetAllApplicants; 5 | 6 | public sealed record GetAllApplicantsQuery 7 | : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/ApplicantQueries/GetAllApplicants/GetAllApplicantsQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.ApplicantQueries; 3 | using Application.DTOs.ApplicantDTOs; 4 | using Domain.Shared; 5 | 6 | namespace Application.Features.Queries.ApplicantQueries.GetAllApplicants; 7 | 8 | public sealed class GetAllApplicantsQueryHandler(IApplicantQuery applicantQuery) 9 | : IQueryHandler> 10 | { 11 | private readonly IApplicantQuery _applicantQuery = applicantQuery; 12 | 13 | public async Task>> Handle(GetAllApplicantsQuery request, CancellationToken cancellationToken) 14 | { 15 | var applicants = await _applicantQuery.GetAll(); 16 | 17 | if (applicants is null) 18 | return Result.Fail>("No applicants exist"); 19 | 20 | return Result.Ok(applicants); 21 | } 22 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/ApplicantQueries/GetApplicantJobs/GetApplicantJobsQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DTOs.ApplicantDTOs; 3 | 4 | namespace Application.Features.Queries.ApplicantQueries.GetApplicantJobs; 5 | 6 | public sealed record GetApplicantJobsQuery 7 | (int Id) : IQuery; -------------------------------------------------------------------------------- /src/Application/Features/Queries/ApplicantQueries/GetApplicantSkills/GetApplicantSkillQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.ApplicantQueries.GetApplicantSkills; 4 | 5 | public record GetApplicantSkillQuery 6 | (int ApplicantId) : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/ApplicantQueries/GetApplicantSkills/GetApplicantSkillResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.ApplicantQueries.GetApplicantSkills; 2 | 3 | public sealed record GetApplicantSkillResponse 4 | (int Id, string Name, string Description, int Level); -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/FindCompany/FindCompanyQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.CompanyQueries.FindCompany; 4 | 5 | public record FindCompanyQuery(string Filter) : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/FindCompany/FindCompanyQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.CompanyQueries; 3 | using Domain.Shared; 4 | 5 | namespace Application.Features.Queries.CompanyQueries.FindCompany; 6 | 7 | public sealed class FindCompanyQueryHandler(ICompanyQuery companyQuery) 8 | : IQueryHandler> 9 | { 10 | private readonly ICompanyQuery _companyQuery = companyQuery; 11 | 12 | public async Task>> Handle(FindCompanyQuery request, CancellationToken cancellationToken) 13 | { 14 | var companies = await _companyQuery.FindCompany(request.Filter); 15 | 16 | var result = companies.Select(company => 17 | new FindCompanyResponse 18 | (company.ID, company.Name, company.Email, company.Address, company.City, company.Country)); 19 | 20 | return Result.Ok(result); 21 | } 22 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/FindCompany/FindCompanyResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.CompanyQueries.FindCompany; 2 | 3 | public record FindCompanyResponse 4 | (int Id, string Name, string Email, string Address, string City, string Country); -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/GetAllCompanies/GetAllCompaniesQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.CompanyQueries.GetAllCompanies; 4 | 5 | public sealed record GetAllCompaniesQuery() : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/GetAllCompanies/GetAllCompaniesResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.CompanyQueries.GetAllCompanies; 2 | 3 | public record GetAllCompaniesResponse 4 | (int ID, string Name, string Description, string Country, string City, string Address, string Email); -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/GetAllCompaniesWithJobs/GetAllCompaniesWithJobsQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.CompanyQueries.GetAllCompaniesWithJobs; 4 | 5 | public sealed record GetAllCompaniesWithJobsQuery() 6 | : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/GetAllCompaniesWithJobs/GetAllCompaniesWithJobsResponse.cs: -------------------------------------------------------------------------------- 1 | using Application.DTOs.CompanyDTOs; 2 | 3 | namespace Application.Features.Queries.CompanyQueries.GetAllCompaniesWithJobs; 4 | 5 | public record GetAllCompaniesWithJobsResponse 6 | (int Id, string Name, string Description, string Country, string City, string Address, string Email, IEnumerable Jobs); -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/GetJobApplicants/GetJobApplicantsQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DTOs.CompanyDTOs; 3 | 4 | namespace Application.Features.Queries.CompanyQueries.GetJobApplicants; 5 | 6 | public sealed record GetJobApplicantsQuery 7 | (int CompanyId, int JobId) : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/CompanyQueries/GetJobApplicants/GetJobApplicantsQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.CompanyQueries; 3 | using Application.DTOs.CompanyDTOs; 4 | using Domain.Shared; 5 | 6 | namespace Application.Features.Queries.CompanyQueries.GetJobApplicants; 7 | 8 | public sealed class GetJobApplicantsQueryHandler(ICompanyQuery companyQuery) 9 | : IQueryHandler> 10 | { 11 | private readonly ICompanyQuery _companyQuery = companyQuery; 12 | 13 | public async Task>> Handle(GetJobApplicantsQuery request, CancellationToken cancellationToken) 14 | { 15 | var result = await _companyQuery.GetJobApplicant(request.CompanyId, request.JobId); 16 | 17 | return result.Any() 18 | ? Result.Ok(result) 19 | : Result.Fail>("No Applications Found"); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/EmployerQueries/GetEmployerById/GetEmployerByIdQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.EmployerQueries.GetEmployerById; 4 | 5 | public sealed record GetEmployerByIdQuery 6 | (int Id) : IQuery; -------------------------------------------------------------------------------- /src/Application/Features/Queries/EmployerQueries/GetEmployerById/GetEmployerByIdResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.EmployerQueries.GetEmployerById; 2 | 3 | public record GetEmployerByIdResponse 4 | (string EmployerName, string Email, string Name, string Description); -------------------------------------------------------------------------------- /src/Application/Features/Queries/JobQueries/FindJob/FindJobQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.JobQueries.FindJob; 4 | 5 | public sealed record FindJobQuery(string Filter) : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/JobQueries/FindJob/FindJobQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.JobQueries; 3 | using Domain.Shared; 4 | 5 | namespace Application.Features.Queries.JobQueries.FindJob; 6 | 7 | public class FindJobQueryHandler(IJobQuery jobQuery) : 8 | IQueryHandler> 9 | { 10 | private readonly IJobQuery _jobQuery = jobQuery; 11 | 12 | public async Task>> Handle(FindJobQuery request, CancellationToken cancellationToken) 13 | { 14 | var jobs = await _jobQuery.FindJob(request.Filter); 15 | var result = jobs.Select(job => 16 | new FindJobResponse 17 | (job.Id, job.Title, job.Description, job.CompanyId, job.CompanyName, job.EmployerId, job.EmployerName)); 18 | 19 | return Result.Ok(result); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/JobQueries/FindJob/FindJobResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.JobQueries.FindJob; 2 | 3 | public sealed record FindJobResponse 4 | (int Id, string Title, string Description, int CompanyId, string CompanyName, int EmployerId, string EmployerName); -------------------------------------------------------------------------------- /src/Application/Features/Queries/JobQueries/GetAllJobs/GetAllJobsQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.JobQueries.GetAllJobs; 4 | 5 | public sealed record GetAllJobsQuery : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/JobQueries/GetAllJobs/GetAllJobsQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.JobQueries; 3 | using Domain.Shared; 4 | 5 | namespace Application.Features.Queries.JobQueries.GetAllJobs; 6 | 7 | public sealed class GetAllJobsQueryHandler(IJobQuery jobQuery) : 8 | IQueryHandler> 9 | { 10 | private readonly IJobQuery _jobQuery = jobQuery; 11 | 12 | public async Task>> Handle(GetAllJobsQuery request, CancellationToken cancellationToken) 13 | { 14 | var jobs = await _jobQuery.GetAll(); 15 | var result = jobs.Select(job => 16 | new GetAllJobsResponse 17 | (job.Id, job.Title, job.Description, job.CompanyId, job.CompanyName, job.EmployerId, job.EmployerName)); 18 | 19 | return Result.Ok(result); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/JobQueries/GetAllJobs/GetAllJobsResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.JobQueries.GetAllJobs; 2 | 3 | public sealed record GetAllJobsResponse 4 | (int Id, string Title, string Description, int CompanyId, string CompanyName, int EmployerId, string EmployerName); -------------------------------------------------------------------------------- /src/Application/Features/Queries/JobQueries/GetAllWithPaging/GetAllJobsWithPagingQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.JobQueries.GetAllWithPaging; 4 | 5 | public sealed record GetAllJobsWithPagingQuery 6 | (int PageSize, int PageNumber, string Filter = "") 7 | : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/JobQueries/GetAllWithPaging/GetAllJobsWithPagingResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.JobQueries.GetAllWithPaging; 2 | 3 | public sealed record GetAllJobsWithPagingResponse 4 | (int Id, string Title, string Description, int CompanyId, string CompanyName, int EmployerId, string EmployerName); -------------------------------------------------------------------------------- /src/Application/Features/Queries/ResumeQueries/GetResume/GetResumeQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.ResumeQueries.GetResume; 4 | 5 | public record GetResumeQuery(int ApplicantId) : IQuery; -------------------------------------------------------------------------------- /src/Application/Features/Queries/ResumeQueries/GetResume/GetResumeResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Application.Features.Queries.ResumeQueries.GetResume; 2 | 3 | public record GetResumeResponse 4 | (byte[] Content, string Extension, string FileName); -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/FindSkill/FindSkillQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.SkillQueries.FindSkill; 4 | 5 | public sealed record FindSkillQuery 6 | (string Filter) : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/FindSkill/FindSkillQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.SKillQueries; 3 | using Domain.Shared; 4 | 5 | namespace Application.Features.Queries.SkillQueries.FindSkill; 6 | 7 | public sealed class FindSkillQueryHandler(ISkillQuery skillQuery) 8 | : IQueryHandler> 9 | { 10 | private readonly ISkillQuery _skillQuery = skillQuery; 11 | 12 | public async Task>> Handle(FindSkillQuery request, CancellationToken cancellationToken) 13 | { 14 | var skillResults = await _skillQuery.FindSkill(request.Filter); 15 | 16 | var skillResponse = skillResults.Select(skill => new FindSkillResponse(skill.Id, skill.Name, skill.Description, skill.Level)); 17 | 18 | return Result.Ok(skillResponse); 19 | } 20 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/FindSkill/FindSkillResponse.cs: -------------------------------------------------------------------------------- 1 | using Domain.Enums.SkillLevels; 2 | 3 | namespace Application.Features.Queries.SkillQueries.FindSkill; 4 | 5 | public sealed record FindSkillResponse 6 | (int Id, string Name, string Description, Level Level); -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/GetAll/GetAllSkillQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.SkillQueries.GetAll; 4 | 5 | public sealed class GetAllSkillQuery 6 | () : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/GetAll/GetAllSkillQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.SKillQueries; 3 | using Domain.Shared; 4 | 5 | namespace Application.Features.Queries.SkillQueries.GetAll; 6 | 7 | public sealed class GetAllSkillQueryHandler(ISkillQuery skillQuery) 8 | : IQueryHandler> 9 | { 10 | private readonly ISkillQuery _skillQuery = skillQuery; 11 | 12 | public async Task>> Handle(GetAllSkillQuery request, CancellationToken cancellationToken) 13 | { 14 | var skillList = await _skillQuery.GetAll(); 15 | 16 | var result = skillList.Select(skill => 17 | new GetAllSkillsResponse(skill.Id, skill.Name, skill.Description, skill.Level)); 18 | 19 | return Result.Ok(result); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/GetAll/GetAllSkillsResponse.cs: -------------------------------------------------------------------------------- 1 | using Domain.Enums.SkillLevels; 2 | 3 | namespace Application.Features.Queries.SkillQueries.GetAll; 4 | 5 | public sealed record GetAllSkillsResponse 6 | (int Id, string Name, string Description, Level Level); -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/GetAllWithPaging/GetAllSkillsWithPagingQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.SkillQueries.GetAllWithPaging; 4 | 5 | public sealed record GetAllSkillsWithPagingQuery 6 | (int PageNumber, int PageSize, string Filter = "", string SortOrder = "") 7 | : IQuery>; -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/GetAllWithPaging/GetAllSkillsWithPagingResponse.cs: -------------------------------------------------------------------------------- 1 | using Domain.Enums.SkillLevels; 2 | 3 | namespace Application.Features.Queries.SkillQueries.GetAllWithPaging; 4 | 5 | public sealed record GetAllSkillsWithPagingResponse 6 | (int Id, string Name, string Description, Level Level); -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/GetById/GetSkillByIdQuery.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | 3 | namespace Application.Features.Queries.SkillQueries.GetById; 4 | 5 | public sealed record GetSkillByIdQuery 6 | (int Id) : IQuery; -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/GetById/GetSkillByIdQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using Application.Abstractions; 2 | using Application.DapperQueries.SKillQueries; 3 | using Domain.Shared; 4 | 5 | namespace Application.Features.Queries.SkillQueries.GetById; 6 | 7 | public sealed class GetSkillByIdQueryHandler(ISkillQuery skillQuery) 8 | : IQueryHandler 9 | { 10 | private readonly ISkillQuery _skillQuery = skillQuery; 11 | 12 | public async Task> Handle(GetSkillByIdQuery request, CancellationToken cancellationToken) 13 | { 14 | var skill = await _skillQuery.Get(request.Id); 15 | if (skill is null) 16 | return Result.Fail("Skill not found"); 17 | 18 | return Result.Ok(new GetSkillByIdResponse(skill.Id, skill.Name, skill.Description, skill.Level)); 19 | } 20 | } -------------------------------------------------------------------------------- /src/Application/Features/Queries/SkillQueries/GetById/GetSkillByIdResponse.cs: -------------------------------------------------------------------------------- 1 | using Domain.Enums.SkillLevels; 2 | 3 | namespace Application.Features.Queries.SkillQueries.GetById; 4 | 5 | public sealed record GetSkillByIdResponse 6 | (int Id, string Name, string Description, Level Level); -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/IApplicantSkillRepository.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface IApplicantSkillRepository : IGenericRepository 6 | { 7 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/IApplicationRepository.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface IApplicationRepository : IGenericRepository 6 | { 7 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/ICompanyJobRepository.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface ICompanyJobRepository : IGenericRepository 6 | { 7 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/ICompanyRepository.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface ICompanyRepository 6 | { 7 | Task GetByIdAsync(int id); 8 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/IExperienceRepository.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface IExperienceRepository : IGenericRepository 6 | { 7 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/IGenericRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Linq.Expressions; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface IGenericRepository where T : class 6 | { 7 | Task GetByIdAsync(int id); 8 | 9 | Task> GetAllAsync(); 10 | 11 | Task> GetAsync(Expression> expression); 12 | 13 | Task AddAsync(T entity); 14 | 15 | void UpdateAsync(T entity); 16 | 17 | Task DeleteAsync(T entity); 18 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/IJobRepository.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface IJobRepository : IGenericRepository 6 | { 7 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/IResumeRepository.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface IResumeRepository : IGenericRepository 6 | { 7 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/Repositories/ISkillRepository.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Application.Interfaces.Repositories; 4 | 5 | public interface ISkillRepository : IGenericRepository 6 | { 7 | Task AddRangeAsync(IEnumerable skills); 8 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/TokenProvider/ITokenGenerator.cs: -------------------------------------------------------------------------------- 1 | using System.Security.Claims; 2 | 3 | namespace Application.Interfaces.TokenProvider; 4 | 5 | public interface ITokenGenerator 6 | { 7 | string GenerateToken(List claims); 8 | } -------------------------------------------------------------------------------- /src/Application/Interfaces/UnitOfWork/IUnitOfWork.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | 3 | namespace Application.Interfaces.UnitOfWork; 4 | 5 | public interface IUnitOfWork : IDisposable 6 | { 7 | public IJobRepository JobRepository { get; } 8 | public ICompanyJobRepository CompanyJobRepository { get; } 9 | public ICompanyRepository CompanyRepository { get; } 10 | public IApplicationRepository ApplicationRepository { get; } 11 | public IResumeRepository ResumeRepository { get; } 12 | public ISkillRepository SkillRepository { get; } 13 | public IApplicantSkillRepository ApplicantSkillRepository { get; } 14 | public IExperienceRepository ExperienceRepository { get; } 15 | 16 | Task CommitAsync(); 17 | } -------------------------------------------------------------------------------- /src/Application/bin/Debug/net8.0/Application.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/bin/Debug/net8.0/Application.dll -------------------------------------------------------------------------------- /src/Application/bin/Debug/net8.0/Application.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/bin/Debug/net8.0/Application.pdb -------------------------------------------------------------------------------- /src/Application/bin/Debug/net8.0/Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/bin/Debug/net8.0/Domain.dll -------------------------------------------------------------------------------- /src/Application/bin/Debug/net8.0/Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/bin/Debug/net8.0/Domain.pdb -------------------------------------------------------------------------------- /src/Application/obj/Application.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] 5 | -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/09645fa9-9de7-4ea6-8731-730f9388df92_Application.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/09645fa9-9de7-4ea6-8731-730f9388df92_Application.pdb -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 2700861d600ab994f4a335553e6c92398b9a61a9f46977894db1d6752344462f 2 | -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net8.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property.EnforceExtendedAnalyzerRules = 9 | build_property._SupportedPlatformList = Linux,macOS,Windows 10 | build_property.RootNamespace = Application 11 | build_property.ProjectDir = C:\Users\Eng Cocu\Desktop\JobFinderAPI\src\Application\ 12 | build_property.EnableComHosting = 13 | build_property.EnableGeneratedComInterfaceComImportInterop = 14 | -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/Application.assets.cache -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/Application.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.csproj.BuildWithSkipAnalyzers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/Application.csproj.BuildWithSkipAnalyzers -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/Application.csproj.CopyComplete -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 3cb2c294a15a46b501fcf625585a4de5c1c8bdaa6ee04d161a209fdebf51ff9b 2 | -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/Application.dll -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/Application.pdb -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/Application.sourcelink.json: -------------------------------------------------------------------------------- 1 | {"documents":{"C:\\Users\\Eng Cocu\\Desktop\\JobFinderAPI\\*":"https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/0bf43e5b70b31205e3c31f4c7573787c7765b3c6/*"}} -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/ref/Application.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/ref/Application.dll -------------------------------------------------------------------------------- /src/Application/obj/Debug/net8.0/refint/Application.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Application/obj/Debug/net8.0/refint/Application.dll -------------------------------------------------------------------------------- /src/Domain/Common/IdentityUsers/Admin.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Common.IdentityUsers; 2 | 3 | public class Admin : ApplicationUser 4 | { 5 | #region Properties 6 | 7 | public string FirstName { get; set; } = string.Empty; 8 | 9 | public string LastName { get; set; } = string.Empty; 10 | 11 | #endregion Properties 12 | } -------------------------------------------------------------------------------- /src/Domain/Common/IdentityUsers/Applicant.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Domain.Common.IdentityUsers; 4 | 5 | public class Applicant : ApplicationUser 6 | { 7 | #region properties 8 | 9 | public string FirstName { get; set; } = string.Empty; 10 | public string LastName { get; set; } = string.Empty; 11 | 12 | #endregion properties 13 | 14 | #region relationships 15 | 16 | public ICollection Resumes { get; set; } = []; 17 | public ICollection Jobs { get; set; } = []; 18 | public ICollection JobsSkill { get; set; } = []; 19 | public ICollection Experiences { get; set; } = []; 20 | 21 | #endregion relationships 22 | } -------------------------------------------------------------------------------- /src/Domain/Common/IdentityUsers/ApplicationUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | 3 | namespace Domain.Common.IdentityUsers; 4 | 5 | public class ApplicationUser : IdentityUser 6 | { 7 | #region Properties 8 | 9 | public string Address { get; set; } = string.Empty; 10 | 11 | public string City { get; set; } = string.Empty; 12 | public string Country { get; set; } = string.Empty; 13 | 14 | public string ZipCode { get; set; } = string.Empty; 15 | 16 | #endregion Properties 17 | } -------------------------------------------------------------------------------- /src/Domain/Common/IdentityUsers/Company.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Domain.Common.IdentityUsers; 4 | 5 | public class Company : ApplicationUser 6 | { 7 | #region Properties 8 | 9 | public string Name { get; set; } = string.Empty; 10 | public string Description { get; set; } = string.Empty; 11 | 12 | #endregion Properties 13 | 14 | #region Relationships 15 | 16 | public ICollection Employers { get; set; } = []; 17 | 18 | public ICollection CompanyJobs { get; set; } = []; 19 | 20 | #endregion Relationships 21 | } -------------------------------------------------------------------------------- /src/Domain/Common/IdentityUsers/Employer.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | 3 | namespace Domain.Common.IdentityUsers; 4 | 5 | public class Employer : ApplicationUser 6 | { 7 | #region properties 8 | 9 | public string FirstName { get; set; } = string.Empty; 10 | public string LastName { get; set; } = string.Empty; 11 | 12 | #endregion properties 13 | 14 | #region relationships 15 | 16 | public int CompanyId { get; set; } 17 | public Company? Company { get; set; } 18 | 19 | public ICollection Jobs { get; set; } = []; 20 | 21 | #endregion relationships 22 | } -------------------------------------------------------------------------------- /src/Domain/Domain.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net8.0 5 | enable 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Domain/Enums/ApplicationRoles/RolesEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Enums.ApplicationRoles; 2 | 3 | public enum RolesEnum 4 | { 5 | Admin, 6 | Company, 7 | Applicant, 8 | Employer 9 | } -------------------------------------------------------------------------------- /src/Domain/Enums/SkillLevels/Level.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Enums.SkillLevels; 2 | 3 | [Flags] 4 | public enum Level 5 | { 6 | Beginner, 7 | Intermediate, 8 | Advanced, 9 | Expert 10 | } -------------------------------------------------------------------------------- /src/Domain/Models/ApplicantJob.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | 3 | namespace Domain.Models; 4 | 5 | public class ApplicantJob 6 | { 7 | #region Relationships 8 | 9 | public int ApplicantId { get; set; } 10 | public Applicant? Applicant { get; set; } 11 | 12 | public int JobId { get; set; } 13 | public Job? Job { get; set; } 14 | 15 | #endregion Relationships 16 | 17 | #region Properties 18 | 19 | public DateTime AppliedAt { get; set; } = DateTime.Now; 20 | 21 | public bool isAccepted { get; set; } = false; 22 | 23 | public bool isReviewed { get; set; } = false; 24 | 25 | public DateTime UpdatedAt { get; set; } 26 | 27 | #endregion Properties 28 | } -------------------------------------------------------------------------------- /src/Domain/Models/ApplicantSkill.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | 3 | namespace Domain.Models; 4 | 5 | public class ApplicantSkill 6 | { 7 | public int ApplicantId { get; set; } 8 | public Applicant? Applicant { get; set; } 9 | 10 | public int SkillId { get; set; } 11 | public Skill? Skill { get; set; } 12 | } -------------------------------------------------------------------------------- /src/Domain/Models/CompanyJob.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | 3 | namespace Domain.Models; 4 | 5 | public class CompanyJob 6 | { 7 | #region Relationships 8 | 9 | public int CompanyId { get; set; } 10 | public Company? Company { get; set; } 11 | 12 | public int JobId { get; set; } 13 | public Job? Job { get; set; } 14 | 15 | public DateTime SetedAt { get; set; } = DateTime.Now; 16 | 17 | public DateTime UpdatedAt { get; set; } 18 | 19 | #endregion Relationships 20 | } -------------------------------------------------------------------------------- /src/Domain/Models/Experience.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | 3 | namespace Domain.Models; 4 | 5 | public class Experience 6 | { 7 | #region Properties 8 | 9 | public int Id { get; set; } 10 | public string Title { get; set; } = string.Empty; 11 | public string Company { get; set; } = string.Empty; 12 | public string Location { get; set; } = string.Empty; 13 | public DateTime StartDate { get; set; } 14 | public DateTime EndDate { get; set; } 15 | public string Description { get; set; } = string.Empty; 16 | public bool IsCurrent { get; set; } 17 | public DateTime CreatedAt { get; set; } 18 | public DateTime UpdatedAt { get; set; } 19 | 20 | #endregion Properties 21 | 22 | #region Navigation Properties 23 | 24 | public int ApplicantId { get; set; } 25 | public Applicant? Applicant { get; set; } 26 | 27 | #endregion Navigation Properties 28 | } -------------------------------------------------------------------------------- /src/Domain/Models/Job.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | 3 | namespace Domain.Models; 4 | 5 | public class Job 6 | { 7 | #region properties 8 | 9 | public int Id { get; set; } 10 | public string Title { get; set; } = string.Empty; 11 | public string Description { get; set; } = string.Empty; 12 | 13 | #endregion properties 14 | 15 | #region relationships 16 | 17 | public int EmployerId { get; set; } 18 | public Employer? Employer { get; set; } 19 | 20 | public ICollection Applicants { get; set; } = []; 21 | public ICollection Skills { get; set; } = []; 22 | 23 | public ICollection CompanyJobs { get; set; } = []; 24 | 25 | #endregion relationships 26 | } -------------------------------------------------------------------------------- /src/Domain/Models/JobSkill.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Models; 2 | 3 | public class JobSkill 4 | { 5 | public int JobId { get; set; } 6 | public Job? Job { get; set; } 7 | 8 | public int SkillId { get; set; } 9 | public Skill? Skill { get; set; } 10 | } -------------------------------------------------------------------------------- /src/Domain/Models/Resume.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | 3 | namespace Domain.Models; 4 | 5 | public class Resume 6 | { 7 | #region properties 8 | 9 | public int Id { get; set; } 10 | public byte[] Content { get; set; } = []; 11 | public string Extension { get; set; } = string.Empty; 12 | public string FileName { get; set; } = string.Empty; 13 | 14 | #endregion properties 15 | 16 | #region relationships 17 | 18 | public int ApplicantId { get; set; } 19 | public Applicant? Applicant { get; set; } 20 | 21 | #endregion relationships 22 | } -------------------------------------------------------------------------------- /src/Domain/Models/Skill.cs: -------------------------------------------------------------------------------- 1 | using Domain.Enums.SkillLevels; 2 | 3 | namespace Domain.Models; 4 | 5 | public class Skill 6 | { 7 | #region properties 8 | 9 | public int Id { get; set; } 10 | public string Name { get; set; } = string.Empty; 11 | public string Description { get; set; } = string.Empty; 12 | public Level Level { get; set; } 13 | 14 | #endregion properties 15 | 16 | #region relationships 17 | 18 | public ICollection Applicants { get; set; } = []; 19 | public ICollection JobSkills { get; set; } = []; 20 | 21 | #endregion relationships 22 | } -------------------------------------------------------------------------------- /src/Domain/Settings/EmailSettings.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Settings; 2 | 3 | public class EmailSettings 4 | { 5 | public string Email { get; set; } = string.Empty; 6 | public string DisplayName { get; set; } = string.Empty; 7 | public string Host { get; set; } = string.Empty; 8 | public string Password { get; set; } = string.Empty; 9 | public int Port { get; set; } 10 | } -------------------------------------------------------------------------------- /src/Domain/Settings/IdentitySettings.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Settings; 2 | 3 | public class IdentitySettings 4 | { 5 | public bool PasswordRequireDigit { get; set; } 6 | public int PasswordRequiredLength { get; set; } 7 | public bool PasswordRequireLowercase { get; set; } 8 | public bool PasswordRequireUppercase { get; set; } 9 | public bool PasswordRequireNonAlphanumeric { get; set; } 10 | public int PasswordRequiredUniqueChars { get; set; } 11 | public bool RequireUniqueEmail { get; set; } 12 | public bool RequireEmailConfirmed { get; set; } 13 | } -------------------------------------------------------------------------------- /src/Domain/Settings/JWTSettings.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Settings; 2 | 3 | public class JWTSettings 4 | { 5 | public string Key { get; set; } = string.Empty; 6 | public string Issuer { get; set; } = string.Empty; 7 | public string Audience { get; set; } = string.Empty; 8 | public int DurationInMinutes { get; set; } 9 | } -------------------------------------------------------------------------------- /src/Domain/Shared/Error.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Shared; 2 | 3 | public class Error(string message) 4 | { 5 | public string Message { get; } = message; 6 | 7 | public static readonly Error None = new(string.Empty); 8 | 9 | public static readonly Error NotFound = new("Not found."); 10 | 11 | public static readonly Error InternalServerError = new("Internal server error."); 12 | 13 | public static readonly Error Unauthorized = new("Unauthorized."); 14 | 15 | public static readonly Error Forbidden = new("Forbidden."); 16 | 17 | public static readonly Error Invalid = new("Invalid."); 18 | 19 | public static implicit operator string(Error error) => error.Message; 20 | 21 | public static implicit operator Error(string message) => new(message); 22 | } -------------------------------------------------------------------------------- /src/Domain/Shared/IValidationResult.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Shared; 2 | 3 | public interface IValidationResult 4 | { 5 | public static readonly Error ValidationError = new( 6 | nameof(ValidationError)); 7 | 8 | Error[] Errors { get; } 9 | } -------------------------------------------------------------------------------- /src/Domain/Shared/Result.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Shared; 2 | 3 | public class Result 4 | { 5 | public bool IsSuccess { get; } 6 | public Error? Error { get; } 7 | 8 | protected Result(bool isSuccess, Error? error) 9 | { 10 | IsSuccess = isSuccess; 11 | Error = error; 12 | } 13 | 14 | public static Result Ok() => new(true, null); 15 | 16 | public static Result Fail(Error error) => new(false, error); 17 | 18 | public static Result Ok(T value) => new(true, value, null); 19 | 20 | public static Result Fail(Error error) => new(false, default!, error); 21 | } -------------------------------------------------------------------------------- /src/Domain/Shared/ResultT.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Shared; 2 | 3 | public class Result : Result 4 | { 5 | private readonly TValue? _value; 6 | 7 | protected internal Result(bool isSuccess, TValue value, Error? error) : base(isSuccess, error) 8 | { 9 | _value = value; 10 | } 11 | 12 | public TValue Value => 13 | IsSuccess 14 | ? _value! 15 | : throw new InvalidOperationException("There is no value for failure."); 16 | 17 | public static implicit operator TValue(Result result) => result.Value; 18 | 19 | public static implicit operator Result(TValue value) => Create(value); 20 | 21 | public static Result Create(TValue value) 22 | { 23 | if (value == null) 24 | throw new ArgumentNullException(nameof(value)); 25 | 26 | return new Result(true, value, Error.None); 27 | } 28 | } -------------------------------------------------------------------------------- /src/Domain/Shared/ValidationResult.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Shared; 2 | 3 | public class ValidationResult : Result, IValidationResult 4 | { 5 | private ValidationResult(Error[] errors) : base(false, IValidationResult.ValidationError) 6 | { 7 | Errors = errors; 8 | } 9 | 10 | public Error[] Errors { get; } 11 | 12 | public static ValidationResult WithErrors(Error[] errors) => new(errors); 13 | } -------------------------------------------------------------------------------- /src/Domain/Shared/ValidationResultT.cs: -------------------------------------------------------------------------------- 1 | namespace Domain.Shared; 2 | 3 | public class ValidationResult : Result, IValidationResult 4 | { 5 | private ValidationResult(Error[] errors) : base(false, default!, IValidationResult.ValidationError) 6 | { 7 | Errors = errors; 8 | } 9 | 10 | public Error[] Errors { get; } 11 | } -------------------------------------------------------------------------------- /src/Domain/bin/Debug/net8.0/Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/bin/Debug/net8.0/Domain.dll -------------------------------------------------------------------------------- /src/Domain/bin/Debug/net8.0/Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/bin/Debug/net8.0/Domain.pdb -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] 5 | -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | dfa2916d40b00bba54f223f44ccfccee2c01bf9f81173fc8f17bd1000295ecd7 2 | -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net8.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property.EnforceExtendedAnalyzerRules = 9 | build_property._SupportedPlatformList = Linux,macOS,Windows 10 | build_property.RootNamespace = Domain 11 | build_property.ProjectDir = C:\Users\Eng Cocu\Desktop\JobFinderAPI\src\Domain\ 12 | build_property.EnableComHosting = 13 | build_property.EnableGeneratedComInterfaceComImportInterop = 14 | -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/obj/Debug/net8.0/Domain.assets.cache -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/obj/Debug/net8.0/Domain.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.csproj.BuildWithSkipAnalyzers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/obj/Debug/net8.0/Domain.csproj.BuildWithSkipAnalyzers -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 85625cc23c19627db70512fa494492ae6cba235a7d1ecd4e5c7a39c9d9006740 2 | -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/obj/Debug/net8.0/Domain.dll -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/obj/Debug/net8.0/Domain.pdb -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/Domain.sourcelink.json: -------------------------------------------------------------------------------- 1 | {"documents":{"C:\\Users\\Eng Cocu\\Desktop\\JobFinderAPI\\*":"https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/0bf43e5b70b31205e3c31f4c7573787c7765b3c6/*"}} -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/ref/Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/obj/Debug/net8.0/ref/Domain.dll -------------------------------------------------------------------------------- /src/Domain/obj/Debug/net8.0/refint/Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Domain/obj/Debug/net8.0/refint/Domain.dll -------------------------------------------------------------------------------- /src/Domain/obj/Domain.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/AdminConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | internal class AdminConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.Property(admin => admin.FirstName) 12 | .HasMaxLength(50) 13 | .IsRequired(); 14 | 15 | builder.Property(admin => admin.LastName) 16 | .HasMaxLength(50) 17 | .IsRequired(); 18 | } 19 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/ApplicantConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | public class ApplicantConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.Property(a => a.FirstName) 12 | .HasMaxLength(50) 13 | .IsRequired(); 14 | builder.Property(a => a.LastName) 15 | .HasMaxLength(50) 16 | .IsRequired(); 17 | 18 | builder.HasMany(a => a.Resumes) 19 | .WithOne(r => r.Applicant) 20 | .HasForeignKey(r => r.ApplicantId) 21 | .HasConstraintName("FK_Applicant_Resume") 22 | .OnDelete(DeleteBehavior.NoAction); 23 | } 24 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/ApplicantJobConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.EntityFrameworkCore; 2 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 3 | 4 | namespace Persistence.ModelConfigurations; 5 | 6 | internal class ApplicantJobConfiguration : IEntityTypeConfiguration 7 | { 8 | public void Configure(EntityTypeBuilder builder) 9 | { 10 | builder.HasKey(e => new { e.ApplicantId, e.JobId }); 11 | 12 | builder.HasOne(e => e.Applicant) 13 | .WithMany(e => e.Jobs) 14 | .HasForeignKey(e => e.ApplicantId) 15 | .OnDelete(DeleteBehavior.NoAction); 16 | 17 | builder.HasOne(e => e.Job) 18 | .WithMany(e => e.Applicants) 19 | .HasForeignKey(e => e.JobId) 20 | .OnDelete(DeleteBehavior.NoAction); 21 | } 22 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/ApplicantSkillConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | internal class ApplicantSkillConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.HasKey(e => new { e.ApplicantId, e.SkillId }); 12 | 13 | builder.HasOne(e => e.Applicant) 14 | .WithMany(e => e.JobsSkill) 15 | .HasForeignKey(e => e.ApplicantId) 16 | .OnDelete(DeleteBehavior.Cascade); 17 | 18 | builder.HasOne(e => e.Skill) 19 | .WithMany(e => e.Applicants) 20 | .HasForeignKey(e => e.SkillId) 21 | .OnDelete(DeleteBehavior.Cascade); 22 | } 23 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/ApplicationUserConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | internal class ApplicationUserConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.Property(e => e.Address) 12 | .HasMaxLength(100) 13 | .IsRequired(); 14 | 15 | builder.Property(e => e.City) 16 | .HasMaxLength(50) 17 | .IsRequired(); 18 | 19 | builder.Property(e => e.Country) 20 | .HasMaxLength(50) 21 | .IsRequired(); 22 | 23 | builder.Property(e => e.ZipCode) 24 | .HasMaxLength(10) 25 | .IsRequired(); 26 | } 27 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/CompanyJobConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | internal class CompanyJobConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.HasKey(e => new { e.JobId, e.CompanyId }); 12 | 13 | builder.HasOne(e => e.Company) 14 | .WithMany(e => e.CompanyJobs) 15 | .HasForeignKey(e => e.CompanyId) 16 | .HasConstraintName("FK_Companies_CompanyJobs"); 17 | 18 | builder.HasOne(e => e.Job) 19 | .WithMany(e => e.CompanyJobs) 20 | .HasForeignKey(e => e.JobId) 21 | .HasConstraintName("FK_CompanyJobs_Jobs"); 22 | } 23 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/EmployerConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Common.IdentityUsers; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | internal class EmployerConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.Property(e => e.FirstName) 12 | .HasMaxLength(50) 13 | .IsRequired(); 14 | builder.Property(e => e.LastName) 15 | .HasMaxLength(50) 16 | .IsRequired(); 17 | 18 | builder.HasMany(e => e.Jobs) 19 | .WithOne(j => j.Employer) 20 | .HasForeignKey(j => j.EmployerId) 21 | .HasConstraintName("FK_Employer_Job") 22 | .OnDelete(DeleteBehavior.NoAction); 23 | } 24 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/JobConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | internal class JobConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.Property(e => e.Title) 12 | .HasMaxLength(50) 13 | .IsRequired(); 14 | 15 | builder.Property(e => e.Description) 16 | .HasMaxLength(500) 17 | .IsRequired(); 18 | } 19 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/JobSkillConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | internal class JobSkillConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.HasKey(e => new { e.JobId, e.SkillId }); 12 | 13 | builder.HasOne(e => e.Job) 14 | .WithMany(e => e.Skills) 15 | .HasForeignKey(e => e.JobId) 16 | .OnDelete(DeleteBehavior.NoAction); 17 | 18 | builder.HasOne(e => e.Skill) 19 | .WithMany(e => e.JobSkills) 20 | .HasForeignKey(e => e.SkillId) 21 | .OnDelete(DeleteBehavior.NoAction); 22 | } 23 | } -------------------------------------------------------------------------------- /src/Persistence/ModelConfigurations/SkillConfiguration.cs: -------------------------------------------------------------------------------- 1 | using Domain.Models; 2 | using Microsoft.EntityFrameworkCore; 3 | using Microsoft.EntityFrameworkCore.Metadata.Builders; 4 | 5 | namespace Persistence.ModelConfigurations; 6 | 7 | internal class SkillConfiguration : IEntityTypeConfiguration 8 | { 9 | public void Configure(EntityTypeBuilder builder) 10 | { 11 | builder.HasKey(s => s.Id); 12 | 13 | builder.Property(s => s.Name) 14 | .HasMaxLength(50) 15 | .IsRequired(); 16 | 17 | builder.Property(s => s.Description) 18 | .HasMaxLength(500) 19 | .IsRequired(); 20 | } 21 | } -------------------------------------------------------------------------------- /src/Persistence/Persistence.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net8.0 5 | enable 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | all 14 | runtime; build; native; contentfiles; analyzers; buildtransitive 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/Persistence/Repositories/ApplicantSkillRepository.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | using Domain.Models; 3 | using Persistence.Contexts; 4 | 5 | namespace Persistence.Repositories; 6 | 7 | public class ApplicantSkillRepository(ApplicationDbContext dbContext) 8 | : GenericRepository(dbContext), IApplicantSkillRepository 9 | { 10 | } -------------------------------------------------------------------------------- /src/Persistence/Repositories/ApplicationRepository.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | using Domain.Models; 3 | using Persistence.Contexts; 4 | 5 | namespace Persistence.Repositories; 6 | 7 | public class ApplicationRepository(ApplicationDbContext dbContext) : 8 | GenericRepository(dbContext), IApplicationRepository 9 | { 10 | } -------------------------------------------------------------------------------- /src/Persistence/Repositories/CompanyJobRepository.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | using Domain.Models; 3 | using Persistence.Contexts; 4 | 5 | namespace Persistence.Repositories; 6 | 7 | public class CompanyJobRepository : GenericRepository, ICompanyJobRepository 8 | { 9 | public CompanyJobRepository(ApplicationDbContext context) : base(context) 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/Persistence/Repositories/CompanyRepository.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | using Domain.Common.IdentityUsers; 3 | using Persistence.Contexts; 4 | 5 | namespace Persistence.Repositories; 6 | 7 | public class CompanyRepository(ApplicationDbContext context) 8 | : ICompanyRepository 9 | { 10 | private readonly ApplicationDbContext _context = context; 11 | 12 | public async Task GetByIdAsync(int id) 13 | { 14 | var company = await _context.Companies.FindAsync(id); 15 | return company; 16 | } 17 | } -------------------------------------------------------------------------------- /src/Persistence/Repositories/ExperienceRepository.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | using Domain.Models; 3 | using Persistence.Contexts; 4 | 5 | namespace Persistence.Repositories; 6 | 7 | public class ExperienceRepository(ApplicationDbContext context) 8 | : GenericRepository(context), IExperienceRepository 9 | { 10 | } -------------------------------------------------------------------------------- /src/Persistence/Repositories/JobRepository.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | using Domain.Models; 3 | using Persistence.Contexts; 4 | 5 | namespace Persistence.Repositories; 6 | 7 | public class JobRepository : GenericRepository, IJobRepository 8 | { 9 | public JobRepository(ApplicationDbContext context) : base(context) 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/Persistence/Repositories/ResumeRepository.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | using Domain.Models; 3 | using Persistence.Contexts; 4 | 5 | namespace Persistence.Repositories; 6 | 7 | public class ResumeRepository(ApplicationDbContext dbContext) 8 | : GenericRepository(dbContext), IResumeRepository 9 | { 10 | } -------------------------------------------------------------------------------- /src/Persistence/Repositories/SkillRepository.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.Repositories; 2 | using Domain.Models; 3 | using Persistence.Contexts; 4 | 5 | namespace Persistence.Repositories; 6 | 7 | public class SkillRepository(ApplicationDbContext context) 8 | : GenericRepository(context), ISkillRepository 9 | { 10 | private readonly ApplicationDbContext _context = context; 11 | 12 | public async Task AddRangeAsync(IEnumerable skills) 13 | { 14 | await _context.Skills.AddRangeAsync(skills); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Persistence/ServiceRegistration.cs: -------------------------------------------------------------------------------- 1 | using Application.Interfaces.TokenProvider; 2 | using Application.Interfaces.UnitOfWork; 3 | using Microsoft.EntityFrameworkCore; 4 | using Microsoft.Extensions.Configuration; 5 | using Microsoft.Extensions.DependencyInjection; 6 | using Persistence.Contexts; 7 | using Persistence.JWTTokenProvider; 8 | 9 | namespace Persistence; 10 | 11 | public static class ServiceRegistration 12 | { 13 | public static IServiceCollection AddPersistenceServices(this IServiceCollection services, IConfiguration configuration) 14 | { 15 | services.AddDbContextPool(options => 16 | { 17 | options.UseSqlServer(configuration.GetConnectionString("JobFinderAPI")); 18 | }); 19 | 20 | services.AddScoped(); 21 | services.AddScoped(); 22 | return services; 23 | } 24 | } -------------------------------------------------------------------------------- /src/Persistence/bin/Debug/net8.0/Application.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/bin/Debug/net8.0/Application.dll -------------------------------------------------------------------------------- /src/Persistence/bin/Debug/net8.0/Application.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/bin/Debug/net8.0/Application.pdb -------------------------------------------------------------------------------- /src/Persistence/bin/Debug/net8.0/Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/bin/Debug/net8.0/Domain.dll -------------------------------------------------------------------------------- /src/Persistence/bin/Debug/net8.0/Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/bin/Debug/net8.0/Domain.pdb -------------------------------------------------------------------------------- /src/Persistence/bin/Debug/net8.0/Persistence.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/bin/Debug/net8.0/Persistence.dll -------------------------------------------------------------------------------- /src/Persistence/bin/Debug/net8.0/Persistence.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/bin/Debug/net8.0/Persistence.pdb -------------------------------------------------------------------------------- /src/Persistence/bin/Debug/net8.0/Persistence.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net8.0", 4 | "frameworks": [ 5 | { 6 | "name": "Microsoft.NETCore.App", 7 | "version": "8.0.0" 8 | }, 9 | { 10 | "name": "Microsoft.AspNetCore.App", 11 | "version": "8.0.0" 12 | } 13 | ], 14 | "configProperties": { 15 | "System.Reflection.NullabilityInfoContext.IsSupported": true, 16 | "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] 5 | -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 90acc9c5153dd16fd631963d268f7613cb7871d95ec76519b70b1d4afd41302a 2 | -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net8.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property.EnforceExtendedAnalyzerRules = 9 | build_property._SupportedPlatformList = Linux,macOS,Windows 10 | build_property.RootNamespace = Persistence 11 | build_property.ProjectDir = C:\Users\Eng Cocu\Desktop\JobFinderAPI\src\Persistence\ 12 | build_property.EnableComHosting = 13 | build_property.EnableGeneratedComInterfaceComImportInterop = 14 | -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/obj/Debug/net8.0/Persistence.assets.cache -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/obj/Debug/net8.0/Persistence.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.csproj.BuildWithSkipAnalyzers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/obj/Debug/net8.0/Persistence.csproj.BuildWithSkipAnalyzers -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/obj/Debug/net8.0/Persistence.csproj.CopyComplete -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 6993f524ca51af5e93b0e8144dddf5623d35486ce6d644db1d6a236d2366b89b 2 | -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/obj/Debug/net8.0/Persistence.dll -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | fe9d7838a5368eae78fa19b945bf40845e1f929085bf86f654e2619cc0c49996 2 | -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/obj/Debug/net8.0/Persistence.pdb -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/Persistence.sourcelink.json: -------------------------------------------------------------------------------- 1 | {"documents":{"C:\\Users\\Eng Cocu\\Desktop\\JobFinderAPI\\*":"https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/0bf43e5b70b31205e3c31f4c7573787c7765b3c6/*"}} -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/ref/Persistence.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/obj/Debug/net8.0/ref/Persistence.dll -------------------------------------------------------------------------------- /src/Persistence/obj/Debug/net8.0/refint/Persistence.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Persistence/obj/Debug/net8.0/refint/Persistence.dll -------------------------------------------------------------------------------- /src/Presentation/Presentation.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | https 5 | ApiControllerEmptyScaffolder 6 | root/Common/Api 7 | 8 | -------------------------------------------------------------------------------- /src/Presentation/Presentation.http: -------------------------------------------------------------------------------- 1 | @Presentation_HostAddress = http://localhost:5176 2 | 3 | GET {{Presentation_HostAddress}}/weatherforecast/ 4 | Accept: application/json 5 | 6 | ### 7 | -------------------------------------------------------------------------------- /src/Presentation/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /src/Presentation/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "JobFinderAPI": "Server = .; Database = JobFinder; Trusted_Connection = True; Encrypt = False" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Information", 8 | "Microsoft.AspNetCore": "Warning" 9 | } 10 | }, 11 | 12 | "AllowedHosts": "*", 13 | 14 | "JWTSettings": { 15 | "Key": "HELLO FROM MY Great Job Finder APPLication", 16 | "Issuer": "http://localhost:5000", 17 | "Audience": "http://localhost:5000", 18 | "DurationInMinutes": 60 19 | }, 20 | "EmailSettings": { 21 | "Email": "Your E-mail Here", 22 | "Password": "**********", 23 | "DisplayName": "Job Finder", 24 | "Host": "smtp-mail.outlook.com", 25 | "Port": 587 26 | } 27 | } -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Application.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Application.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Application.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Application.pdb -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Azure.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Azure.Core.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Azure.Identity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Azure.Identity.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/BouncyCastle.Cryptography.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/BouncyCastle.Cryptography.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Dapper.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Dapper.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Domain.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Domain.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Domain.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Domain.pdb -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/FluentValidation.DependencyInjectionExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/FluentValidation.DependencyInjectionExtensions.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/FluentValidation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/FluentValidation.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Humanizer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Humanizer.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/MailKit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/MailKit.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/MediatR.Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/MediatR.Contracts.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/MediatR.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/MediatR.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.AspNetCore.Authentication.JwtBearer.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.AspNetCore.JsonPatch.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.AspNetCore.JsonPatch.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.CodeAnalysis.CSharp.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.CodeAnalysis.Workspaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.CodeAnalysis.Workspaces.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.CodeAnalysis.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.CodeAnalysis.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.Data.SqlClient.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Design.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Design.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.InMemory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.InMemory.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Relational.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.Relational.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.SqlServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.SqlServer.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.EntityFrameworkCore.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.Extensions.DependencyModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.Extensions.DependencyModel.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.Identity.Client.Extensions.Msal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.Identity.Client.Extensions.Msal.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.Identity.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.Identity.Client.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Abstractions.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Logging.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Protocols.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Protocols.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Tokens.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.IdentityModel.Tokens.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.OpenApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.OpenApi.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.SqlServer.Server.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.SqlServer.Server.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Microsoft.Win32.SystemEvents.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Microsoft.Win32.SystemEvents.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/MimeKit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/MimeKit.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Mono.TextTemplating.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Mono.TextTemplating.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Newtonsoft.Json.Bson.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Newtonsoft.Json.Bson.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Persistence.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Persistence.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Persistence.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Persistence.pdb -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Presentation.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Presentation.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Presentation.exe -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Presentation.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Presentation.pdb -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Presentation.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net8.0", 4 | "frameworks": [ 5 | { 6 | "name": "Microsoft.NETCore.App", 7 | "version": "8.0.0" 8 | }, 9 | { 10 | "name": "Microsoft.AspNetCore.App", 11 | "version": "8.0.0" 12 | } 13 | ], 14 | "configProperties": { 15 | "System.GC.Server": true, 16 | "System.Globalization.Invariant": false, 17 | "System.Reflection.NullabilityInfoContext.IsSupported": true, 18 | "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Swashbuckle.AspNetCore.Swagger.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Swashbuckle.AspNetCore.Swagger.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.CodeDom.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.CodeDom.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Composition.AttributedModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Composition.AttributedModel.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Composition.Convention.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Composition.Convention.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Composition.Hosting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Composition.Hosting.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Composition.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Composition.Runtime.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Composition.TypedParts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Composition.TypedParts.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Configuration.ConfigurationManager.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Configuration.ConfigurationManager.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Data.SqlClient.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.IdentityModel.Tokens.Jwt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.IdentityModel.Tokens.Jwt.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Memory.Data.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Memory.Data.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Runtime.Caching.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Runtime.Caching.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Security.Cryptography.ProtectedData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Security.Cryptography.ProtectedData.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Security.Permissions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Security.Permissions.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/System.Windows.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/System.Windows.Extensions.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "JobFinderAPI": "Server = .; Database = JobFinder; Trusted_Connection = True; Encrypt = False" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Information", 8 | "Microsoft.AspNetCore": "Warning" 9 | } 10 | }, 11 | 12 | "AllowedHosts": "*", 13 | 14 | "JWTSettings": { 15 | "Key": "HELLO FROM MY Great Job Finder APPLication", 16 | "Issuer": "http://localhost:5000", 17 | "Audience": "http://localhost:5000", 18 | "DurationInMinutes": 60 19 | }, 20 | "EmailSettings": { 21 | "Email": "Your E-mail Here", 22 | "Password": "**********", 23 | "DisplayName": "Job Finder", 24 | "Host": "smtp-mail.outlook.com", 25 | "Port": 587 26 | } 27 | } -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/cs/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/de/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/es/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/fr/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/it/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ja/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ko/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/pl/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/pt-BR/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/ru/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/unix/lib/net6.0/Microsoft.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/unix/lib/net6.0/Microsoft.Data.SqlClient.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/unix/lib/net6.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/unix/lib/net6.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win-arm/native/Microsoft.Data.SqlClient.SNI.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win-arm64/native/sni.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win-arm64/native/sni.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win-x64/native/sni.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win-x64/native/sni.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win-x86/native/sni.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win-x86/native/sni.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/Microsoft.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/Microsoft.Data.SqlClient.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/System.Runtime.Caching.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/System.Runtime.Caching.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/System.Windows.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win/lib/net6.0/System.Windows.Extensions.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/tr/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll -------------------------------------------------------------------------------- /src/Presentation/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/bin/Debug/net8.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] 5 | -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 60aa8aebe44a6c16b6c42d1a9e0139bd75d72e3f2403c018620f5b67b1b9c896 2 | -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::Microsoft.AspNetCore.Builder; 3 | global using global::Microsoft.AspNetCore.Hosting; 4 | global using global::Microsoft.AspNetCore.Http; 5 | global using global::Microsoft.AspNetCore.Routing; 6 | global using global::Microsoft.Extensions.Configuration; 7 | global using global::Microsoft.Extensions.DependencyInjection; 8 | global using global::Microsoft.Extensions.Hosting; 9 | global using global::Microsoft.Extensions.Logging; 10 | global using global::System; 11 | global using global::System.Collections.Generic; 12 | global using global::System.IO; 13 | global using global::System.Linq; 14 | global using global::System.Net.Http; 15 | global using global::System.Net.Http.Json; 16 | global using global::System.Threading; 17 | global using global::System.Threading.Tasks; 18 | -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.MvcApplicationPartsAssemblyInfo.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/Presentation.MvcApplicationPartsAssemblyInfo.cache -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.MvcApplicationPartsAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")] 15 | 16 | // Generated by the MSBuild WriteCodeFragment class. 17 | 18 | -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/Presentation.assets.cache -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/Presentation.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.csproj.BuildWithSkipAnalyzers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/Presentation.csproj.BuildWithSkipAnalyzers -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/Presentation.csproj.CopyComplete -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | f9c3b3cbcd74c0acf791aa4fc29034a2eeaccfd830525268d73f4501c7a691f8 2 | -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/Presentation.dll -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | ed73da6c3c9a910f4915ed4203d59aaecae677920bbd048c669211eada212430 2 | -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/Presentation.pdb -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/Presentation.sourcelink.json: -------------------------------------------------------------------------------- 1 | {"documents":{"C:\\Users\\Eng Cocu\\Desktop\\JobFinderAPI\\*":"https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/0bf43e5b70b31205e3c31f4c7573787c7765b3c6/*"}} -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/apphost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/apphost.exe -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/d3221b85-3f08-40a0-a570-67d5d643d444_Presentation.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/d3221b85-3f08-40a0-a570-67d5d643d444_Presentation.pdb -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/ref/Presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/ref/Presentation.dll -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/refint/Presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AbdullrhmanElhelw/JobFinderAPI/82bea028ab6fc6b5404ac0ba02da23b3d4918e8d/src/Presentation/obj/Debug/net8.0/refint/Presentation.dll -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/staticwebassets.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": 1, 3 | "Hash": "uA4PscVLrzDlBxDyFkUleeR9VGM/ZvO3tVpSht4hk3M=", 4 | "Source": "Presentation", 5 | "BasePath": "_content/Presentation", 6 | "Mode": "Default", 7 | "ManifestType": "Build", 8 | "ReferencedProjectsConfiguration": [], 9 | "DiscoveryPatterns": [], 10 | "Assets": [] 11 | } -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/staticwebassets/msbuild.build.Presentation.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/staticwebassets/msbuild.buildMultiTargeting.Presentation.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /src/Presentation/obj/Debug/net8.0/staticwebassets/msbuild.buildTransitive.Presentation.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | --------------------------------------------------------------------------------