public void ChangeDepartmentOrShift(Department department, [Optionally] Shift shift) { CurrentAssignment().EndDate = DateTime.Now; var newAssignment = Container.NewTransientInstance <EmployeeDepartmentHistory>(); newAssignment.Department = department; newAssignment.Shift = shift; newAssignment.Employee = this; newAssignment.StartDate = DateTime.Now; Container.Persist(ref newAssignment); DepartmentHistory.Add(newAssignment); }