2018-11-18 18:49:40 +01:00
|
|
|
|
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; }
|
2018-12-22 15:52:17 +01:00
|
|
|
|
public PatientState PatientState { get; protected set; }
|
|
|
|
|
public Sex PatientSex { get; protected set; }
|
2018-11-18 18:49:40 +01:00
|
|
|
|
|
|
|
|
|
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;
|
2018-12-22 15:52:17 +01:00
|
|
|
|
PatientState = patientState;
|
|
|
|
|
PatientSex = patientSex;
|
2018-11-18 18:49:40 +01:00
|
|
|
|
}
|
|
|
|
|
/// <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]);
|
2018-12-22 15:52:17 +01:00
|
|
|
|
PatientState = listOfValues[4].GetEnumFromDescription<PatientState>();
|
|
|
|
|
PatientSex = (Sex)Enum.Parse(typeof(Sex), listOfValues[5]);
|
2018-11-18 18:49:40 +01:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|