Добавил view модели

This commit is contained in:
Никита Потапов 2024-05-08 14:52:50 +04:00
parent 85ccc84d89
commit ecdf01e662
15 changed files with 124 additions and 14 deletions

View File

@ -0,0 +1,18 @@
using MedicalDatabaseContracts.Models;
using MedicalDatabaseContracts.SearchModels;
using MedicalDatabaseContracts.ViewModels;
namespace MedicalDatabaseContracts
{
public interface ILogic<M, V, S>
where M : AbstractModel
where V : AbstractViewModel
where S : AbstractSearchModel
{
List<V>? ReadList(S? searchModel);
V? ReadElement(S searchModel);
bool Create(M model);
bool Update(M model);
bool Delete(M model);
}
}

View File

@ -5,7 +5,6 @@ namespace MedicalDatabaseContracts.Models
{
public class AbstractModel
{
[DisplayName("ID")]
public int Id { get; set; }
}
}

View File

@ -4,13 +4,9 @@ namespace MedicalDatabaseContracts.Models
{
public class AbstractPersonModel : AbstractModel
{
[DisplayName("Имя")]
public string Name { get; set; } = string.Empty;
[DisplayName("Фамилия")]
public string Surname { get; set; } = string.Empty;
[DisplayName("Отчество")]
public string? Patronymic { get; set; }
[DisplayName("Телефон")]
public string PhoneNumber { get; set; } = string.Empty;
}
}

View File

@ -4,7 +4,6 @@ namespace MedicalDatabaseContracts.Models
{
public class Diagnose : AbstractModel
{
[DisplayName("Название")]
public string Name { get; set; } = string.Empty;
}
}

View File

@ -4,13 +4,9 @@ namespace MedicalDatabaseContracts.Models
{
public class Patient : AbstractPersonModel
{
[DisplayName("Пол")]
public char Gender { get; set; }
[DisplayName("Дата рождения")]
public DateTime Birthday { get; set; }
[DisplayName("Вес, кг")]
public int Weight { get; set; }
[DisplayName("Рост, см")]
public int Height { get; set; }
}
}

View File

@ -4,11 +4,8 @@ namespace MedicalDatabaseContracts.Models
{
public class Specialization : AbstractModel
{
[DisplayName("Название")]
public string Name { get; set; } = string.Empty;
[DisplayName("Педиатрия")]
public bool IsPediatric { get; set; }
[DisplayName("Терапия")]
public bool IsTherapeutic { get; set; }
}
}

View File

@ -7,7 +7,6 @@ namespace MedicalDatabaseContracts.Models
public int PatientId { get; set; }
public int DoctorId { get; set; }
public int DiagnoseId { get; set; }
[DisplayName("Комментарий")]
public string? Comment { get; set; }
}
}

View File

@ -0,0 +1,7 @@
namespace MedicalDatabaseContracts.SearchModels
{
public abstract class AbstractSearchModel
{
public int? Id { get; set; }
}
}

View File

@ -0,0 +1,17 @@
using MedicalDatabaseContracts.Models;
using System.ComponentModel;
namespace MedicalDatabaseContracts.ViewModels
{
public abstract class AbstractPersonViewModel : AbstractModel
{
[DisplayName("Имя")]
public string Name { get; set; } = string.Empty;
[DisplayName("Фамилия")]
public string Surname { get; set; } = string.Empty;
[DisplayName("Отчество")]
public string Patronymic { get; set; } = string.Empty;
[DisplayName("Телефон")]
public string PhoneNumber { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,11 @@
using MedicalDatabaseContracts.Models;
using System.ComponentModel;
namespace MedicalDatabaseContracts.ViewModels
{
public abstract class AbstractViewModel
{
[DisplayName("ID")]
public int Id { get; set; }
}
}

View File

@ -0,0 +1,10 @@
using System.ComponentModel;
namespace MedicalDatabaseContracts.ViewModels
{
public class DiagnoseViewModel : AbstractViewModel
{
[DisplayName("Название")]
public string Name { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,11 @@
using System.ComponentModel;
namespace MedicalDatabaseContracts.ViewModels
{
public class DoctorViewModel : AbstractPersonViewModel
{
public int SpecializationId { get; set; }
[DisplayName("Специальность")]
public string SpecializationName { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,16 @@
using System.ComponentModel;
namespace MedicalDatabaseContracts.ViewModels
{
public class PatientViewModel : AbstractPersonViewModel
{
[DisplayName("Пол")]
public char Gender { get; set; }
[DisplayName("Дата рождения")]
public DateTime Birthday { get; set; }
[DisplayName("Вес, кг")]
public int Weight { get; set; }
[DisplayName("Рост, кг")]
public int Height { get; set; }
}
}

View File

@ -0,0 +1,14 @@
using System.ComponentModel;
namespace MedicalDatabaseContracts.ViewModels
{
public class SpecializationViewModel : AbstractViewModel
{
[DisplayName("Название")]
public string Name { get; set; } = string.Empty;
[DisplayName("Педиатр")]
public bool IsPediatric { get; set; }
[DisplayName("Терапевт")]
public bool IsTherapeutic { get; set; }
}
}

View File

@ -0,0 +1,20 @@
using System.ComponentModel;
namespace MedicalDatabaseContracts.ViewModels
{
public class VisitViewModel : AbstractViewModel
{
public int PatientId { get; set; }
public int DoctorId { get; set; }
public int DiagnoseId { get; set; }
[DisplayName("Комментарий")]
public string Comment { get; set; } = string.Empty;
[DisplayName("Пациент")]
public string PatientFIO { get; set; } = string.Empty;
[DisplayName("Врач")]
public string DoctorFIO { get; set; } = string.Empty;
[DisplayName("Диагноз")]
public string DiagnoseName { get; set; } = string.Empty;
}
}