dataModels

This commit is contained in:
Татьяна Артамонова 2024-11-04 18:31:27 +04:00
parent 04531a43c1
commit ec714f489d
14 changed files with 166 additions and 0 deletions

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
namespace CourseWorkDataModels.Enums
{
public enum CriterionTypeEnum
{
Опыт = 0,
Навыки = 1,
Образование = 2,
Впечатление = 3
}
}

View File

@ -0,0 +1,18 @@
namespace CourseWorkDataModels.Enums
{
public enum JobTypeEnum
{
РаботаВОфисе = 0,
УдаленнаяРабота = 1,
Гибрид = 2,
Фриланс = 3,
Подработка = 4,
Сменная = 5,
Контракт = 6,
ПолныйРабочийДень = 7,
НеполныйРабочийДень = 8,
Проектная = 9,
Сезонная = 10,
Волонтерская = 11
}
}

View File

@ -0,0 +1,12 @@
namespace CourseWorkDataModels.Enums
{
public enum ResumeStatusEnum
{
Создано = 0,
Отправлено = 1,
Обрабатывается = 2,
Принято = 3,
Отклонено = 4,
Архив = 5
}
}

View File

@ -0,0 +1,9 @@
namespace CourseWorkDataModels.Enums
{
public enum RoleEnum
{
Неизвестен = -1,
Сотрудник = 0,
Пользователь = 1
}
}

View File

@ -0,0 +1,9 @@
namespace CourseWorkDataModels.Enums
{
public enum VacancyStatusEnum
{
Архив = 0,
Открыта = 1,
Закрыта = 2
}
}

View File

@ -0,0 +1,7 @@
namespace CourseWorkDataModels
{
public interface IId
{
int Id { get; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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