Kadr.Data.FactStaff.OnValidate C# (CSharp) Method

OnValidate() private method

Проверка всех параметров перед сохранением
private OnValidate ( System action ) : void
action System
return void
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("Приказ об увольнении, так как указана дата увольнения.");
            }
        }