private void BijwerkenMRU(string bestandsnaam) { System.Collections.Specialized.StringCollection mrulijst = new System.Collections.Specialized.StringCollection(); if (WindowMetRibbonControl.Properties.Settings.Default.mru != null) { mrulijst = WindowMetRibbonControl.Properties.Settings.Default.mru; int positie = mrulijst.IndexOf(bestandsnaam); if (positie >= 0) { mrulijst.RemoveAt(positie); } else { if (mrulijst.Count >= 6) { mrulijst.RemoveAt(5); } } } mrulijst.Insert(0, bestandsnaam); WindowMetRibbonControl.Properties.Settings.Default.mru = mrulijst; WindowMetRibbonControl.Properties.Settings.Default.Save(); LeesMRU(); }
private async void AlwaysIdleList_LoadAsync(object sender, EventArgs e) { //Settings.Default.AlwaysIdleList.Clear(); //Settings.Default.Save(); var EnabledList = new System.Collections.Specialized.StringCollection(); EnabledList = Settings.Default.EnabledAlwaysIdleList; Settings.Default.EnabledAlwaysIdleList.Remove(""); Settings.Default.AlwaysIdleList.Remove(""); Settings.Default.Save(); for (int i = 0; i < Settings.Default.AlwaysIdleList.Count; i++) { int AppID = int.Parse(Settings.Default.AlwaysIdleList[i]); AppIDList.Add(AppID); int CurIndex = this.checkedListBox1.Items.Add(Settings.Default.AlwaysIdleList[i]); if (EnabledList.IndexOf(Settings.Default.AlwaysIdleList[i]) != -1) { this.checkedListBox1.SetItemChecked(CurIndex, true); } } var ItemList = this.checkedListBox1.Items; var tmpAppIDList = AppIDList; for (int i = 0; i < ItemList.Count; i++) { ItemList[i] = await GetAppNameByID(AppIDList[i]); } }
public Image GetImage(string label) { int i = m_labels.IndexOf(label); if (i >= 0) { return(m_images.Images[i]); } else if (label != null && label.Length > 0 && m_images.Images.Count > 0) { return(m_images.Images[0]); //let the first one be the default } else { return(null); } }
private static void ДобавитьссылкинаDllвКаталоге(Type тип, System.Collections.Specialized.StringCollection referencedAssemblies) { string ИмяФайлаСборки = тип.Assembly.Location; string Каталог = Path.GetDirectoryName(ИмяФайлаСборки); string[] files = Directory.GetFiles(Каталог ?? string.Empty, "*.dll"); foreach (string f in files) { if (!String.Equals(f, ИмяФайлаСборки, StringComparison.CurrentCultureIgnoreCase)) { if (referencedAssemblies.IndexOf(f) == -1) { referencedAssemblies.Add(f); } } } }
private void Form1_Load(object sender, EventArgs e) { // deviceの設定 * // if (!icImagingControl1.DeviceValid) // { // icImagingControl1.ShowDeviceSettingsDialog(); // if (!icImagingControl1.DeviceValid) // { // Close(); // return; // } // } // フィルタモジュールへのフルパス保存にコレクションを使う * modulePathCollection = new System.Collections.Specialized.StringCollection(); // 各フィルタ毎に * // - フィルタのパスがすでにモジュールパスコレクションにあるかどうか // - なかった場合はモジュール名をフィルタモジュールリストに追加 foreach (TIS.Imaging.FrameFilterInfo ffi in icImagingControl1.FrameFilterInfos) { if (modulePathCollection.IndexOf(ffi.ModulePath) < 0) { listBox1.Items.Add(ffi.ModuleName); modulePathCollection.Add(ffi.ModulePath); } } toolStripComboBox1.SelectedIndex = 5; isActive = true; LoadLastUsedDevice(); UpdateControls(); StartLiveVideo(); // icImagingControl1.LiveDisplayZoomFactor = 160.0F; Console.WriteLine(isActive); }
internal void ChangeFocus(bool isTitleUpdated, bool isIconUpdated) { if (activeWindow.screen.Equals(screenThis)) { // hide on fullscreen app if (activeWindow.rect.Left == screenThis.Bounds.Left && activeWindow.rect.Top == screenThis.Bounds.Top && activeWindow.rect.Right == screenThis.Bounds.Right && activeWindow.rect.Bottom == screenThis.Bounds.Bottom) { if (this.Visibility == Visibility.Visible) { this.Visibility = Visibility.Collapsed; } } else { if (this.Visibility == Visibility.Collapsed) { this.Visibility = Visibility.Visible; } if (activeWindow.isMaximised) { if (this.Background.Equals(activeBackground) == false) { this.Background = activeBackground; } maxButton.Content = "\xE923"; if (exceptionList.IndexOf(activeWindow.process.ProcessName) != -1) { CollapsedChange(true); } else { CollapsedChange(false); } } else { if (this.Background.Equals(defaultBackground) == false) { this.Background = defaultBackground; } maxButton.Content = "\xE922"; CollapsedChange(false); } if (this.Opacity != 1) { this.Opacity = 1; } } if (currentWindow != activeWindow && (isTitleUpdated == false || isIconUpdated == false)) { ChangeTitle(); ChangeIcon(); } currentWindow = activeWindow; } else { if (this.Background.Equals(defaultBackground) == false) { this.Background = defaultBackground; } if (this.Opacity != 0.5) { this.Opacity = 0.5; } } }
/// <summary> /// Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку /// и откатывать транзакцию при неудачном запросе в базу данных). Если /// он true, всегда взводится ошибка. Иначе, выполнение продолжается. /// Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных /// запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: /// The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION /// </summary> /// <param name="objects">Объекты для обновления.</param> /// <param name="DataObjectCache">Кэш объектов данных.</param> /// <param name="AlwaysThrowException">Если произошла ошибка в базе данных, не пытаться выполнять других запросов, сразу взводить ошибку и откатывать транзакцию.</param> public virtual void UpdateObjects(ref DataObject[] objects, DataObjectCache DataObjectCache, bool AlwaysThrowException) { object id = BusinessTaskMonitor.BeginTask("Update objects"); if (!DoNotChangeCustomizationString && ChangeCustomizationString != null) { var tps = new List <Type>(); foreach (DataObject d in objects) { Type t = d.GetType(); if (!tps.Contains(t)) { tps.Add(t); } } string cs = ChangeCustomizationString(tps.ToArray()); customizationString = string.IsNullOrEmpty(cs) ? customizationString : cs; } // Перенесли этот метод повыше, потому что строка соединения может быть сменена в бизнес-сервере делегатом смены строки соединения (если что-нибудь почитают). IDbConnection conection = GetConnection(); var DeleteQueries = new StringCollection(); var UpdateQueries = new StringCollection(); var UpdateFirstQueries = new StringCollection(); var InsertQueries = new StringCollection(); var DeleteTables = new StringCollection(); var UpdateTables = new StringCollection(); var InsertTables = new StringCollection(); var TableOperations = new SortedList(); var QueryOrder = new StringCollection(); var AllQueriedObjects = new ArrayList(); var auditOperationInfoList = new List <AuditAdditionalInfo>(); var extraProcessingList = new List <DataObject>(); GenerateQueriesForUpdateObjects(DeleteQueries, DeleteTables, UpdateQueries, UpdateFirstQueries, UpdateTables, InsertQueries, InsertTables, TableOperations, QueryOrder, true, AllQueriedObjects, DataObjectCache, extraProcessingList, objects); GenerateAuditForAggregators(AllQueriedObjects, DataObjectCache, ref extraProcessingList); OnBeforeUpdateObjects(AllQueriedObjects); // Сортируем объекты в порядке заданным графом связности. extraProcessingList.Sort((x, y) => { int indexX = QueryOrder.IndexOf(Information.GetClassStorageName(x.GetType())); int indexY = QueryOrder.IndexOf(Information.GetClassStorageName(y.GetType())); return(indexX.CompareTo(indexY)); }); Exception ex = null; /*access checks*/ foreach (DataObject dtob in AllQueriedObjects) { Type dobjType = dtob.GetType(); if (!SecurityManager.AccessObjectCheck(dobjType, tTypeAccess.Full, false)) { switch (dtob.GetStatus(false)) { case ObjectStatus.Created: SecurityManager.AccessObjectCheck(dobjType, tTypeAccess.Insert, true); break; case ObjectStatus.Altered: SecurityManager.AccessObjectCheck(dobjType, tTypeAccess.Update, true); break; case ObjectStatus.Deleted: SecurityManager.AccessObjectCheck(dobjType, tTypeAccess.Delete, true); break; } } } /*access checks*/ if (DeleteQueries.Count > 0 || UpdateQueries.Count > 0 || InsertQueries.Count > 0) { // Порядок выполнения запросов: delete,insert,update if (AuditService.IsAuditEnabled) { /* Аудит проводится именно здесь, поскольку на этот момент все бизнес-сервера на объектах уже выполнились, * объекты находятся именно в том состоянии, в каком должны были пойти в базу + в будущем можно транзакцию передать на исполнение */ AuditOperation(extraProcessingList, auditOperationInfoList); // TODO: подумать, как записывать аудит до OnBeforeUpdateObjects, но уже потенциально с транзакцией } conection.Open(); IDbTransaction trans = null; string query = string.Empty; string prevQueries = string.Empty; object subTask = null; try { trans = CreateTransaction(conection); IDbCommand command = conection.CreateCommand(); command.Transaction = trans; #region прошли вглубь обрабатывая only Update||Insert bool go = true; do { string table = QueryOrder[0]; if (!TableOperations.ContainsKey(table)) { TableOperations.Add(table, OperationType.None); } var ops = (OperationType)TableOperations[table]; if ((ops & OperationType.Delete) != OperationType.Delete) { // Смотрим есть ли Инсерты if ((ops & OperationType.Insert) == OperationType.Insert) { if ( (ex = RunCommands(InsertQueries, InsertTables, table, command, id, AlwaysThrowException)) == null) { ops = Minus(ops, OperationType.Insert); TableOperations[table] = ops; } else { go = false; } } // Смотрим есть ли Update if (go && ((ops & OperationType.Update) == OperationType.Update)) { if ((ex = RunCommands(UpdateQueries, UpdateTables, table, command, id, AlwaysThrowException)) == null) { ops = Minus(ops, OperationType.Update); TableOperations[table] = ops; } else { go = false; } } if (go) { QueryOrder.RemoveAt(0); go = QueryOrder.Count > 0; } } else { go = false; } }while (go); #endregion if (QueryOrder.Count > 0) { #region сзади чистые Update go = true; int queryOrderIndex = QueryOrder.Count - 1; do { string table = QueryOrder[queryOrderIndex]; if (TableOperations.ContainsKey(table)) { var ops = (OperationType)TableOperations[table]; if (ops == OperationType.Update) { if ( (ex = RunCommands(UpdateQueries, UpdateTables, table, command, id, AlwaysThrowException)) == null) { ops = Minus(ops, OperationType.Update); TableOperations[table] = ops; } else { go = false; } if (go) { queryOrderIndex--; go = queryOrderIndex >= 0; } } else { go = false; } } else { queryOrderIndex--; } }while (go); #endregion } foreach (string table in QueryOrder) { if ((ex = RunCommands(UpdateFirstQueries, UpdateTables, table, command, id, AlwaysThrowException)) != null) { throw ex; } } // Удаляем в обратном порядке. for (int i = QueryOrder.Count - 1; i >= 0; i--) { string table = QueryOrder[i]; if ((ex = RunCommands(DeleteQueries, DeleteTables, table, command, id, AlwaysThrowException)) != null) { throw ex; } } // А теперь опять с начала foreach (string table in QueryOrder) { if ((ex = RunCommands(InsertQueries, InsertTables, table, command, id, AlwaysThrowException)) != null) { throw ex; } if ((ex = RunCommands(UpdateQueries, UpdateTables, table, command, id, AlwaysThrowException)) != null) { throw ex; } } if (AuditService.IsAuditEnabled && auditOperationInfoList.Count > 0) { // Нужно зафиксировать операции аудита (то есть сообщить, что всё было корректно выполнено и запомнить время) AuditService.RatifyAuditOperationWithAutoFields( tExecutionVariant.Executed, AuditAdditionalInfo.SetNewFieldValuesForList(trans, this, auditOperationInfoList), this, true); } if (trans != null) { trans.Commit(); } } catch (Exception excpt) { if (trans != null) { trans.Rollback(); } if (AuditService.IsAuditEnabled && auditOperationInfoList.Count > 0) { // Нужно зафиксировать операции аудита (то есть сообщить, что всё было откачено) AuditService.RatifyAuditOperationWithAutoFields(tExecutionVariant.Failed, auditOperationInfoList, this, false); } conection.Close(); BusinessTaskMonitor.EndSubTask(subTask); throw new ExecutingQueryException(query, prevQueries, excpt); } conection.Close(); var res = new ArrayList(); foreach (DataObject changedObject in objects) { changedObject.ClearPrototyping(true); if (changedObject.GetStatus(false) != STORMDO.ObjectStatus.Deleted) { Utils.UpdateInternalDataInObjects(changedObject, true, DataObjectCache); res.Add(changedObject); } } foreach (DataObject dobj in AllQueriedObjects) { if (dobj.GetStatus(false) != STORMDO.ObjectStatus.Deleted && dobj.GetStatus(false) != STORMDO.ObjectStatus.UnAltered) { Utils.UpdateInternalDataInObjects(dobj, true, DataObjectCache); } } objects = new DataObject[res.Count]; res.CopyTo(objects); BusinessTaskMonitor.EndTask(id); } if (AfterUpdateObjects != null) { AfterUpdateObjects(this, new DataObjectsEventArgs(objects)); } }
static internal int TryGetOrdinal(String keyword) { if (keyword == null) { throw new ArgumentNullException("keyword"); } String strLower = keyword.ToLowerInvariant(); // Adjust for synonyms if (strLower == "blankdate") { strLower = "blank date"; } else if (strLower == "characterencoding" || strLower == "character_encoding" || strLower == "char_encoding" || strLower == "charencoding" || strLower == "char encoding") { strLower = "character encoding"; } else if (strLower == "connection timeout" || strLower == "connectiontimeout" || strLower == "connecttimeout") { strLower = "connect timeout"; } else if (strLower == "db" || strLower == "initial catalog" || strLower == "initialcatalog") { strLower = "database"; } else if (strLower == "date_fmt" || strLower == "date fmt" || strLower == "dateformat" || strLower == "date format") { strLower = "date_format"; } else if (strLower == "decimal" || strLower == "decimalchar" || strLower == "decimal char") { strLower = "decimal_char"; } else if (strLower == "groupid") { strLower = "group id"; } else if (strLower == "host" || strLower == "address" || strLower == "addr" || strLower == "network address" || strLower == "networkaddress") { strLower = "server"; } else if (strLower == "maxpoolsize") { strLower = "max pool size"; } else if (strLower == "minpoolsize") { strLower = "min pool size"; } else if (strLower == "money_fmt" || strLower == "moneyfmt" || strLower == "moneyformat" || strLower == "money format") { strLower = "money_format"; } else if (strLower == "money_prec" || strLower == "moneyprec" || strLower == "moneyprecision" || strLower == "money precision") { strLower = "money_precision"; } else if (strLower == "persistsecurityinfo") { strLower = "persist security info"; } else if (strLower == "pwd") { strLower = "password"; } else if (strLower == "roleid") { strLower = "role id"; } else if (strLower == "role pwd" || strLower == "rolepwd" || strLower == "rolepassword") { strLower = "role password"; } else if (strLower == "dbms_user" || strLower == "dbmsuserid" || strLower == "dbmsuser") { strLower = "dbms user"; } else if (strLower == "dbms pwd" || strLower == "dbmspwd" || strLower == "dbmspassword" || strLower == "dbms_pwd" || strLower == "dbms_password") { strLower = "dbms password"; } else if (strLower == "tz") { strLower = "timezone"; } else if (strLower == "uid" || strLower == "userid") { strLower = "user id"; } else if (strLower == "vnodeusage") { strLower = "vnode_usage"; } else if (strLower == "send_ingres_dates" || strLower == "send ingres dates" || strLower == "send ingresdates") { strLower = "sendingresdates"; } int i = ConnectBuilderKeywordsLowerCase.IndexOf(strLower); return(i); }