You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.6 KiB
83 lines
1.6 KiB
|
1 year ago
|
namespace Pi232._0920;
|
||
|
|
|
||
|
|
public class Driver
|
||
|
|
{
|
||
|
|
#region Свойства
|
||
|
|
|
||
|
|
public string Surname { get; set; }
|
||
|
|
public string Middlename { get; set; }
|
||
|
|
public string Firstname { get; set; }
|
||
|
|
|
||
|
|
public EDriverState State { get; private set; }
|
||
|
|
public string Fio => h_GetFio();
|
||
|
|
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region конструкторы
|
||
|
|
|
||
|
|
public Driver(
|
||
|
|
string surname,
|
||
|
|
string firstname)
|
||
|
|
{
|
||
|
|
Surname = surname;
|
||
|
|
Firstname = firstname;
|
||
|
|
Middlename = String.Empty;
|
||
|
|
}
|
||
|
|
|
||
|
|
public Driver(
|
||
|
|
string surname,
|
||
|
|
string middlename,
|
||
|
|
string firstname)
|
||
|
|
{
|
||
|
|
Surname = surname;
|
||
|
|
Middlename = middlename;
|
||
|
|
Firstname = firstname;
|
||
|
|
}
|
||
|
|
|
||
|
|
public Driver(string sFio)
|
||
|
|
{
|
||
|
|
string[] ar = sFio.Split(' ', 3, StringSplitOptions.RemoveEmptyEntries);
|
||
|
|
switch (ar.Length)
|
||
|
|
{
|
||
|
|
case (< 2):
|
||
|
|
{
|
||
|
|
string sFio2 = "";
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
case ((2)):
|
||
|
|
{
|
||
|
|
string sFio2 = "";
|
||
|
|
Surname = ar[0];
|
||
|
|
Firstname = ar[1];
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
default:
|
||
|
|
Surname = ar[0];
|
||
|
|
Firstname = ar[1];
|
||
|
|
Middlename = ar[2];
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
private string h_GetFio()
|
||
|
|
{
|
||
|
|
return $"{Surname} {Firstname} {Middlename}";
|
||
|
|
}
|
||
|
|
|
||
|
|
public void SetState(bool bIsActive)
|
||
|
|
{
|
||
|
|
State = (bIsActive
|
||
|
|
? EDriverState.Work
|
||
|
|
: EDriverState.Rest);
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
public enum EDriverState
|
||
|
|
{
|
||
|
|
Unknown,
|
||
|
|
Work,
|
||
|
|
Rest
|
||
|
|
}
|