diff --git a/CourseWorkDataModels/CourseWorkDataModels.csproj b/CourseWorkDataModels/CourseWorkDataModels.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/CourseWorkDataModels/CourseWorkDataModels.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/CourseWorkDataModels/Enums/CriterionTypeEnum.cs b/CourseWorkDataModels/Enums/CriterionTypeEnum.cs new file mode 100644 index 0000000..3523910 --- /dev/null +++ b/CourseWorkDataModels/Enums/CriterionTypeEnum.cs @@ -0,0 +1,10 @@ +namespace CourseWorkDataModels.Enums +{ + public enum CriterionTypeEnum + { + Опыт = 0, + Навыки = 1, + Образование = 2, + Впечатление = 3 + } +} diff --git a/CourseWorkDataModels/Enums/JobTypeEnum.cs b/CourseWorkDataModels/Enums/JobTypeEnum.cs new file mode 100644 index 0000000..f35ea69 --- /dev/null +++ b/CourseWorkDataModels/Enums/JobTypeEnum.cs @@ -0,0 +1,18 @@ +namespace CourseWorkDataModels.Enums +{ + public enum JobTypeEnum + { + РаботаВОфисе = 0, + УдаленнаяРабота = 1, + Гибрид = 2, + Фриланс = 3, + Подработка = 4, + Сменная = 5, + Контракт = 6, + ПолныйРабочийДень = 7, + НеполныйРабочийДень = 8, + Проектная = 9, + Сезонная = 10, + Волонтерская = 11 + } +} diff --git a/CourseWorkDataModels/Enums/ResumeStatusEnum.cs b/CourseWorkDataModels/Enums/ResumeStatusEnum.cs new file mode 100644 index 0000000..214dd02 --- /dev/null +++ b/CourseWorkDataModels/Enums/ResumeStatusEnum.cs @@ -0,0 +1,12 @@ +namespace CourseWorkDataModels.Enums +{ + public enum ResumeStatusEnum + { + Создано = 0, + Отправлено = 1, + Обрабатывается = 2, + Принято = 3, + Отклонено = 4, + Архив = 5 + } +} diff --git a/CourseWorkDataModels/Enums/RoleEnum.cs b/CourseWorkDataModels/Enums/RoleEnum.cs new file mode 100644 index 0000000..abf6c0c --- /dev/null +++ b/CourseWorkDataModels/Enums/RoleEnum.cs @@ -0,0 +1,9 @@ +namespace CourseWorkDataModels.Enums +{ + public enum RoleEnum + { + Неизвестен = -1, + Сотрудник = 0, + Пользователь = 1 + } +} diff --git a/CourseWorkDataModels/Enums/VacancyStatusEnum.cs b/CourseWorkDataModels/Enums/VacancyStatusEnum.cs new file mode 100644 index 0000000..3a959f8 --- /dev/null +++ b/CourseWorkDataModels/Enums/VacancyStatusEnum.cs @@ -0,0 +1,9 @@ +namespace CourseWorkDataModels.Enums +{ + public enum VacancyStatusEnum + { + Архив = 0, + Открыта = 1, + Закрыта = 2 + } +} diff --git a/CourseWorkDataModels/IId.cs b/CourseWorkDataModels/IId.cs new file mode 100644 index 0000000..e0c8c57 --- /dev/null +++ b/CourseWorkDataModels/IId.cs @@ -0,0 +1,7 @@ +namespace CourseWorkDataModels +{ + public interface IId + { + int Id { get; } + } +} diff --git a/CourseWorkDataModels/Models/IAssessmentModel.cs b/CourseWorkDataModels/Models/IAssessmentModel.cs new file mode 100644 index 0000000..4ab1a0d --- /dev/null +++ b/CourseWorkDataModels/Models/IAssessmentModel.cs @@ -0,0 +1,11 @@ +namespace CourseWorkDataModels.Models +{ + public interface IAssessmentModel : IId + { + int ResumeId { get; } + int UserId { get; } + int? Rating { get; } + DateTime CreatedAt { get; } + string? Comment { get; } + } +} diff --git a/CourseWorkDataModels/Models/ICompanyModel.cs b/CourseWorkDataModels/Models/ICompanyModel.cs new file mode 100644 index 0000000..69f00d6 --- /dev/null +++ b/CourseWorkDataModels/Models/ICompanyModel.cs @@ -0,0 +1,11 @@ +namespace CourseWorkDataModels.Models +{ + public interface ICompanyModel : IId + { + string Name { get; } + string? Description { get; } + string? Website { get; } + string? Address { get; } + string? Contacts { get; } + } +} diff --git a/CourseWorkDataModels/Models/ICriterionModel.cs b/CourseWorkDataModels/Models/ICriterionModel.cs new file mode 100644 index 0000000..750c934 --- /dev/null +++ b/CourseWorkDataModels/Models/ICriterionModel.cs @@ -0,0 +1,12 @@ +using CourseWorkDataModels.Enums; + +namespace CourseWorkDataModels.Models +{ + public interface ICriterionModel : IId + { + string Name { get; } + CriterionTypeEnum Type { get; } + string? Description { get; } + int Weight { get; } + } +} diff --git a/CourseWorkDataModels/Models/IResumeModel.cs b/CourseWorkDataModels/Models/IResumeModel.cs new file mode 100644 index 0000000..02d97d0 --- /dev/null +++ b/CourseWorkDataModels/Models/IResumeModel.cs @@ -0,0 +1,17 @@ +using CourseWorkDataModels.Enums; + +namespace CourseWorkDataModels.Models +{ + public interface IResumeModel : IId + { + int VacancyId { get; } + int UserId { get; } + string Title { get; } + string Experience { get; } + string Education { get; } + string? PhotoFilePath { get; } + string? Description { get; } + string Skills { get; } + ResumeStatusEnum Status { get; } + } +} diff --git a/CourseWorkDataModels/Models/IUserModel.cs b/CourseWorkDataModels/Models/IUserModel.cs new file mode 100644 index 0000000..683dae8 --- /dev/null +++ b/CourseWorkDataModels/Models/IUserModel.cs @@ -0,0 +1,17 @@ +using CourseWorkDataModels.Enums; + +namespace CourseWorkDataModels.Models +{ + public interface IUserModel : IId + { + int? CompanyId { get; } + string Surname { get; } + string Name { get; } + string? LastName { get; } + string Email { get; } + string Password { get; } + string? PhoneNumber { get; } + bool EmailConfirmed { get; } + RoleEnum Role { get; } + } +} diff --git a/CourseWorkDataModels/Models/IVacancyModel.cs b/CourseWorkDataModels/Models/IVacancyModel.cs new file mode 100644 index 0000000..e63beec --- /dev/null +++ b/CourseWorkDataModels/Models/IVacancyModel.cs @@ -0,0 +1,18 @@ +using CourseWorkDataModels.Enums; + +namespace CourseWorkDataModels.Models +{ + public interface IVacancyModel : IId + { + int CompanyId { get; } + string JobTitle { get; } + string Requirements { get; } + string Responsibilities { get; } + JobTypeEnum JobType { get; } + string? Salary { get; } + string? Description { get; } + VacancyStatusEnum Status { get; } + DateTime CreatedAt { get; } + string? Tags { get; } + } +} diff --git a/CourseWork_KPO/CourseWork_KPO.sln b/CourseWork_KPO/CourseWork_KPO.sln index c5818d4..86ba66d 100644 --- a/CourseWork_KPO/CourseWork_KPO.sln +++ b/CourseWork_KPO/CourseWork_KPO.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 17.9.34728.123 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CourseWork_KPO", "CourseWork_KPO.csproj", "{33841075-EF26-40F4-8CE0-07C2095872D5}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CourseWorkDataModels", "..\CourseWorkDataModels\CourseWorkDataModels.csproj", "{E0BF707A-5463-47A4-A990-0C89BCD6D18B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +17,10 @@ Global {33841075-EF26-40F4-8CE0-07C2095872D5}.Debug|Any CPU.Build.0 = Debug|Any CPU {33841075-EF26-40F4-8CE0-07C2095872D5}.Release|Any CPU.ActiveCfg = Release|Any CPU {33841075-EF26-40F4-8CE0-07C2095872D5}.Release|Any CPU.Build.0 = Release|Any CPU + {E0BF707A-5463-47A4-A990-0C89BCD6D18B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E0BF707A-5463-47A4-A990-0C89BCD6D18B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E0BF707A-5463-47A4-A990-0C89BCD6D18B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E0BF707A-5463-47A4-A990-0C89BCD6D18B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE