public static Result <Employee> Create(string firstName, string lastName, EmploymentRole role) { var name = EmployeeName.Create(firstName, lastName); if (name.IsFailure) { return(Result.Fail <Employee>(name.Error)); } if (role == null) { return(Result.Fail <Employee>("EmploymentRole cannot be null")); } return(Result.Ok(new Employee(name.Value, role))); }
public virtual Result ChangeName(string firstName, string lastName) { return(EmployeeName.Create(firstName, lastName) .OnSuccess(r => Name = r)); }
private Employee(EmployeeName name, EmploymentRole role) : this() { Name = name; EmploymentRole = role; }