/// <summary> /// Обработчик события нажатия клавиши мыши на кнопку, /// который совершает удаление из выбранных сервисов /// </summary> private void btn_RemoveFromUsed_Click(object sender, EventArgs e) { if (SelectedUsedServiceType == null || lst_UsedServices.SelectedIndex < 0) { MessageBox.Show("Используемый сервис не выбран!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } AvalibleServices.Add(SelectedUsedServiceType); UsedServices.Remove(SelectedUsedServiceType); }
private DbSetInfo CreateDbSetWrapper(Type entityType, string propertyName, IReadOnlyDictionary <Type, string> tableNames) { var dbSetInfoUpdateServices = UsedServices?.OfType <IDbSetInfoUpdateService>().ToArray(); var dbSetInfo = new DbSetInfo(entityType, GetTableName(entityType, propertyName, tableNames), DefaultSchema); { if (dbSetInfoUpdateServices != null) { foreach (var i in dbSetInfoUpdateServices) { i.UpdateDbSetInfo(dbSetInfo, entityType, _dbContextType); } } } var columnInfoUpdateServices = UsedServices?.OfType <IColumnInfoUpdateService>().ToArray(); var useDirectSaverForType = entityType.GetTypeInfo().GetCustomAttribute <NoDirectSaverAttribute>() == null; foreach (var propertyInfo in entityType.GetProperties()) { var columnInfo = new ColumnInfo(dbSetInfo.Properites.Count, propertyInfo.Name) { NotNull = NotNullFromPropertyType(propertyInfo.PropertyType) }; if (useDirectSaverForType) { var readerWriter = new SimplePropertyReaderWriter(entityType, propertyInfo); columnInfo.ValueReader = readerWriter; columnInfo.ValueWriter = readerWriter; } if (columnInfoUpdateServices != null) { foreach (var service in columnInfoUpdateServices) { service.UpdateColumnInfo(columnInfo, propertyInfo); } } dbSetInfo.Properites.Add(columnInfo); } return(dbSetInfo); }
/// <summary> /// Обработчик события нажатия клавиши мыши на кнопку, /// который выполняет сохранение изменений /// </summary> private void btn_OK_Click(object sender, EventArgs e) { if (UsedServices.Count == 0) { MessageBox.Show("Отсутствуют выбранные сервисы!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } try { _ctx.SubscribeToSelectedServices(UsedServices.ToList()); UsedServices.Clear(); MessageBox.Show("Новые подписки на сервисы успешно сохранены!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; Close(); } catch { MessageBox.Show("Не удалось подписаться на выбранные сервисы!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }