Jei tai ne lietuviški domenai, transferink kas metus vis pas kitą tiekėją (tik pas patikimus ir nenaudoti godaddy). Dažniausiai galima rasti didelių akcijų.
public class Employe {
public string Name { get; private set; }
public string Surname { get; private set; }
public DateTime WorksSince { get; private set; }
private void Employe()
{
}
public void Employe(string name, string surname, DataTime worksSince)
{
// užtikriname kad būtų vardas ir pavardė
if (string.IsNullOrEmpty(name))
throw new ArgumentException();
if (string.IsNullOrEmpty(surname))
throw new ArgumentException();
Name = name;
Surname = surname;
WorksSince = worksSince;
}
}
ir visų trijų savybių set'erius padaryti "private", enterprise lygio aplikacijose butent taip užtikrinama kad nepakeistų netyčia pvz. vardo. Dar reikėtų pridėti "private" kostruktorių be parametrų, tas užtikrintų, kad nebus sukurtas darbuotojas be vardo ;)
Dar dėl šių savybių pavadinimų jeigu klasė vadinasi Employe, tai nėra tikslinga savybę vadinti EmployeName, tiesiog Name.
Kas liečia sąrašo inicializavimą Position kontroleryje, tai būtent taip ir daryčiau.
Man liko neaiški "AddEmployes" Position klasės logika...
Dar dėl pačios sintaksės
var employe2 = new Employe();
employe2.EmployeName = "Name";
employe2.EmployeSurname = "Surname";
employe2.EmployeSince = DateTime.Now.AddDays(-1);
man labiau patinka toks užrašymas:
var employe2 = new Employe() {
EmployeName = "Name",
EmployeSurname = "Surname",
EmployeSince = DateTime.Now.AddDays(-1)
};