public virtual void Validate(Config config) { if (SyncDelay <= 5) { SyncDelay = config.DefaultSyncDelay; } if (LinkRetries <= 1) { LinkRetries = config.DefaultLinkRetries; } if (RetryAfterErrorsDelay <= 600) { RetryAfterErrorsDelay = config.DefaultRetryAfterErrorsDelay; } if (RetryAfterErrorsDelay <= 600) { RetryAfterErrorsDelay = 600; } if (string.IsNullOrEmpty(Name)) { throw new ArgumentException("ConfigSyncLink (??): Не заполнено свойство Name!"); } if (string.IsNullOrEmpty(Local)) { throw new ArgumentException(string.Format("ConfigSyncLink ({0}): Не заполнено свойство Local!", Name)); } if (string.IsNullOrEmpty(Remote)) { throw new ArgumentException(string.Format("ConfigSyncLink ({0}): Не заполнено свойство Remote!", Name)); } if (!config.Connections.Contains(Local)) { throw new ArgumentException(string.Format("ConfigSyncLink ({0}): Не найдено соединение, указанное в Local ({1})!", Name, Local)); } if (!config.Connections.Contains(Remote)) { throw new ArgumentException(string.Format("ConfigSyncLink ({0}): Не найдено соединение, указанное в Remote ({1})!", Name, Remote)); } LocalConnection = config.Connections.Find(Local); RemoteConnection = config.Connections.Find(Remote); }
// - - - - - - - - - - - - - - - - - - - - - - - - - - public void Initialize(string databaseName) { ConfigConnection conn = svc.Config.Connections.Find(databaseName); if (conn == null) { throw new ArgumentException(string.Format("Не найдено подключение к базе данных: {0}", databaseName), "databaseName"); } if (!(conn is ConfigDatabase)) { throw new ArgumentException(string.Format("Указанное соединение не является соединением к БД: {0}", databaseName), "databaseName"); } if (!(conn as ConfigDatabase).AllowedRemoteAccess) { throw new ArgumentException(string.Format("Указанное соединение ({0}) не допускает удаленный доступ. Установите свойство AllowedRemoteAccess в true!", databaseName), "databaseName"); } sync_db = conn.GetConnection().GetSyncDatabase(); }