partial void OnValidate(System.Data.Linq.ChangeAction action)
{
if ((action == ChangeAction.Insert) || (action == ChangeAction.Update))
{
if (PlanStaff.IsNull()) throw new ArgumentNullException("Элемент штатного расписания.");
if (Employee.IsNull()) throw new ArgumentNullException("Сотрудник.");
if (WorkType.IsNull()) throw new ArgumentNullException("Вид работы.");
if (PrikazBegin.IsNull()) throw new ArgumentNullException("Приказ назначения.");
if (this.DateBegin == null)
throw new ArgumentNullException("Дата назначения на работу.");
if (StaffCount < 0) throw new ArgumentOutOfRangeException("Количество ставок.");
if (DateEnd == DateTime.MinValue)
DateEnd = null;
if ((DateEnd != null) && (DateEnd<=DateBegin))
throw new ArgumentOutOfRangeException("Дата увольнения должна быть позже даты назначения.");
if ((Prikaz != null) && (DateEnd == null))
throw new ArgumentNullException("Дата увольнения, так как указан приказ об увольнении.");
if ((Prikaz == null) && (DateEnd != null))
throw new ArgumentNullException("Приказ об увольнении, так как указана дата увольнения.");
}
}