1
0
mirror of https://github.com/SirLecram/HospitalServerManager synced 2024-07-17 10:25:30 +02:00
admissionManager/Model/Basic/Patient.cs
Marcel Grześ 52f1c1e71f Basic function development
All database models has been added;
All basic ViewModels has been added;
2018-12-22 15:52:17 +01:00

52 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HospitalServerManager.InterfacesAndEnums;
namespace HospitalServerManager.Model.Basic
{
internal class Patient : SqlTable
{
public string Surname { get; protected set; }
public string Name { get; protected set; }
public DateTime BirthDate { get; protected set; }
public PatientState PatientState { get; protected set; }
public Sex PatientSex { get; protected set; }
protected Patient() : base()
{
}
public Patient(string primaryKey, string surname, string name, DateTime birthDate, PatientState patientState,
Sex patientSex) : base(primaryKey, "PESEL", new List<string>())
{
if (primaryKey.Length < 11 || primaryKey.Length > 11)
throw new FormatException("PESEL musi mieć 11 cyfr");
PrimaryKey = primaryKey;
Surname = surname;
Name = name;
BirthDate = birthDate;
PatientState = patientState;
PatientSex = patientSex;
}
/// <summary>
/// List have to be in right order (pesel, surname, name, birth date, patient state, patient sex).
/// </summary>
/// <param name="listOfValues"></param>
public Patient(List<string> listOfValues) : base(listOfValues[0], "PESEL", new List<string>())
{
// TODO: Dodać zabezpieczenia dla pozostałych wartosci
// TODO: VALIDATOR! Lista kolumn nazw;
if (listOfValues[0].Length < 11 || listOfValues[0].Length > 11)
throw new FormatException("PESEL musi mieć 11 cyfr");
PrimaryKey = listOfValues[0];
Surname = listOfValues[1];
Name = listOfValues[2];
BirthDate = DateTime.Parse(listOfValues[3]);
PatientState = listOfValues[4].GetEnumFromDescription<PatientState>();
PatientSex = (Sex)Enum.Parse(typeof(Sex), listOfValues[5]);
}
}
}