public static Form GetEdit(DataBase.ISTable SubTable, int Width, bool Virtual) { var UEF = new Edit_Form(SubTable, Width, Virtual); var Enabled = T.User.Rows.Get_UnShow <uint>(data.UserID, C.User.UType) == (uint)data.UType.Admin; UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.Login)); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.Pass, true, null, true)); UEF.AddControl(new Edit_Form.RelationCombo_class(UEF, C.User.UType, Enabled)); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.Mail)); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.Job)); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.SureName)); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.Name)); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.Patronymic)); if (Enabled) { UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.PCName)); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.PCUser)); } UEF.AddControl(C.User.CPeriod); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.IsHere, Enabled)); UEF.AddControl(new Edit_Form.Inputs_class(UEF, C.User.Enabled, Enabled)); return(UEF); }
public SynchTable(DataBase.ISTable Table) { this.Table = Table; if (!RelationColumnExist(Table.Parent, "SPool")) { this.Table.Parent.Columns.AddRelation(T.SPool.GetColumn(C.SPool.Date), false, false); } }
void GetAutoForm(DataBase.ISTable GetValue) { if ((bool)LoadNew_check.IsChecked) { GetValue.QUERRY(DataBase.State.None).SHOW.DO(); } GetValue.GetAutoForm(AutoForm.ShowType.Admin).ShowDialog(); }
void GetAutoForm(DataBase.ISTable SubTable) { if (LoadNew_check.Checked) { if (DeletedToo_check.Checked) { SubTable.QUERRY(DataBase.State.None).SHOW.DO(); } else { SubTable.QUERRY().SHOW.DO(); } } SubTable.GetAutoForm(AutoForm.ShowType.Admin).ShowDialog(); }
public AdminPanel() { InitializeComponent(); RCache.Marks = new RCache.Marks_class(); RCache.Marks.Update(); RCache.PSG = new RCache.PSG_class(); RCache.Volumes = new RCache.Volumes_class(); SubTables = new DataBase.ISTable[data.T1.Tables.Count]; for (int i = 0; i < SubTables.Length; i++) { var Table = data.T1.Tables[i]; if (Table.GetSubTable.Count == 0) { SubTables[i] = Table.CreateSubTable(); } else { SubTables[i] = Table.GetSubTable[0]; } } Array.Sort(SubTables, (it1, it2) => { var ret1 = it1.Parent.DataSource.Type.CompareTo(it2.Parent.DataSource.Type); if (ret1 == 0) { return(it1.Name.CompareTo(it2.Name)); } else { return(ret1); } }); { int Y, M; ATMisc.GetYearMonthFromYM(data.User <int>(C.User.YM), out Y, out M); Period_Box.Text = M.ToString() + '.' + Y.ToString(); } }
private static bool IsInUTable(DataBase.ISTable uTable, string tableName) { bool result = false; for (int i = 0; i < uTable.Rows.Count; i++) { var uTableName = uTable.Rows.Get <String>(i, C.UTable.Name); if (String.Equals(uTableName, tableName, StringComparison.InvariantCultureIgnoreCase)) { result = uTable.Rows.Get <bool>(i, C.UTable.Use); break; } } return(result); }
/// <summary>Обновить список таблиц синхронизации</summary> /// <param name="UTable"></param> public void Invalidate(DataBase.ISTable UTable) { UTable.QUERRY().SHOW.DO(); var UTableList = new List <UTable>(); _uTable = UTable; for (int i = 0; i < DataBase.Tables.Count; i++) { if (DataBase.Tables[i].Name.ToLower() != _sPool.Parent.Name.ToLower() && DataBase.Tables[i].Name.ToLower() != UTable.Parent.Name.ToLower() && (DataBase.Tables[i].RemoteType != DataBase.RemoteType.Local || DataBase.type == DataBase.RemoteType.Local)) { UTableList.Add(new UTable(this, DataBase.Tables[i].CreateSubTable(false))); } } this.UTables = UTableList.ToArray(); }
private void DeleteRow(TabItem TI, DataBase.ISTable Table, uint ID) { if (TI.ContextMenu == null) { TI.ContextMenu = new ContextMenu(); } MenuItem Delete = new MenuItem(); TI.ContextMenu.Items.Add(Delete); Delete.Header = "Удалить запись"; Delete.Click += (sender, e) => { selectThisTC = ThisTC.SelectedIndex; if (MyTools.DeleteRowsByID(Table, true, ID)) { DrawClient(); DrawObject(); ThisTC.SelectedIndex = selectThisTC; } }; }
public AdminPanel() { InitializeComponent(); InstructionsMessage_Class.LoadInstructions(ThisMenu, data.ETypeInstruction.Admin); SubTables = new DataBase.ISTable[data.T1.Tables.Count]; for (int i = 0; i < SubTables.Length; i++) { var Table = data.T1.Tables[i]; if (Table.GetSubTable.Count == 0) { SubTables[i] = Table.CreateSubTable(); } else { SubTables[i] = Table.GetSubTable[0]; } } SubTables = SubTables.OrderBy(x => x.Parent.DataSource.Type).ThenBy(x => x.Name).ToArray(); }
public UTable(SynchPoolManager Parent, DataBase.ISTable Table) { this._parent = Parent; this.Table = Table; if (!RelationColumnExist(this.Table.Parent, "SPool")) { this.Table.Parent.Columns.AddRelation(T.SPool.GetColumn(C.SPool.Date), false, false); } this._id = 0; var tableName = Table.Parent.Name; if (_uTable == null) { _uTable = Parent.DataBase.Tables.First(x => x.Name == "UTable").CreateSubTable(false); _uTable.QUERRY().SHOW.DO(); } for (int i = 0; i < _uTable.Rows.Count; i++) { var uTableName = _uTable.Rows.Get <string>(i, C.UTable.Name); if (String.Equals(tableName, uTableName, StringComparison.InvariantCultureIgnoreCase)) { this._id = _uTable.Rows.GetID(i); if (this.Use) { this.Table.Parent.Rows.SetValue += SetPoolAction; } break; } } }
private Row[] ParseRows(StringReader stringReader, IEnumerable <string> columns, DataBase.ISTable table) { var rows = new List <Row>(); var columnArray = columns.ToArray(); while (stringReader.Peek() >= 0) { var line = stringReader.ReadLine(); var items = line.Split(new string[] { _separator }, StringSplitOptions.None); if (!items.Any() || items.Length < 3) { break; } var values = new object[table.Parent.Columns.Count]; var id = uint.Parse(items[0]); var inUse = (DataBase.State)Enum.Parse(typeof(DataBase.State), items[1], true); for (int i = 2; i < columnArray.Length; i++) { var columnName = columnArray[i]; var column = table.Parent.GetColumn(columnName); var item = items[i]; var value = ParseField(column, item); values[column.Index] = value; } rows.Add(new Row(id, inUse, values)); } return(rows.ToArray()); }
protected IEnumerable <ModelT> getModels(DataBase.ISTable table) { return(getModels(((DataBase.table.SubTable)table).ShowRow)); }
public static bool SaveToDB(DataBase.ISTable table, uint id, DataBase.State state, object[] values) { //искать и заменять по индексерам полей неполучится, т.к. записи приходят уже измененные и невозможно определить чем оно там было до изменения //измененная запись придет в своём измененном виде //если происходят многократные изменения ключевых полей, тогда хреново, т.к. будут приходить многократные дубликаты с измененными ключевыми полями var RowExist = (bool)table.QUERRY(DataBase.State.None).EXIST.WHERE.ID(id).DO()[0].Value; if (RowExist) { var Set = table.QUERRY(DataBase.State.None).SET; switch (state) { case DataBase.State.Deleted: Set.Delete(); break; case DataBase.State.Normal: Set.UnDelete(); break; } try { DataBase.ATSettings.AllowQuerryAutoConvertTypes = true; for (int i = 0; i < values.Length; i++) { if (values[i] != null) { Set.C(i, values[i]); } } Set.WHERE.ID(id).DO(); } catch (Exception ex) { DataBase.ATSettings.AllowQuerryAutoConvertTypes = false; if (MessageBox.Show("В процессе добавления записи номер " + id.ToString() + " возникла ошибка:" + ex.Message.ToString() + "\nВы хотите продолжить загрузку?", "Ошибка", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No) { return(false); } } DataBase.ATSettings.AllowQuerryAutoConvertTypes = false; } else { try { return(table.Rows.Add(id, values, state)); } catch (Exception ex) { if (MessageBox.Show("В процессе добавления записи номер " + id.ToString() + " возникла ошибка:" + ex.Message.ToString() + "\nВы хотите продолжить загрузку?", "Ошибка", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No) { return(false); } } } return(true); }
private void AdderMenu(TextBlock tb, DataBase.ISTable Table, params KeyValuePair <int, object>[] Values) { AdderMenuWithDefaultKeys(tb, Table, new KeyValuePair <int, object> [0], new KeyValuePair <int, object> [0], Values); }
private void AdderMenuWithDefaultKeys(TextBlock tb, DataBase.ISTable table , KeyValuePair <int, object>[] keys , KeyValuePair <int, object>[] updateKeys , params KeyValuePair <int, object>[] values) { MenuItem MI = new MenuItem(); MI.Header = $"Добавить \"{table.Parent.AlterName}\""; var t = tb; MI.Click += (sender, e) => { selectThisTC = ThisTC.SelectedIndex; try { var tempTable = table.Parent.CreateSubTable(false); if (keys.Any()) { { var query = tempTable.QUERRY().SHOW.WHERE; foreach (var value in keys) { if (value.Key < 0) { var tmp = query.ID((uint)value.Value).AND; } else { var tmp = query.C(value.Key, value.Value).AND; } } ((DataBase.IDo)query).DO(); } } if (tempTable.Rows.Count > 0) { foreach (var updateKey in updateKeys) { tempTable.Rows.Set(0, updateKey.Key, updateKey.Value); } table.Rows.Add(tempTable.Rows.GetID(0)); } else { MyTools.AddRowFromTable(table, values); } } catch { MessageBox.Show("Вы пытаетесь добавить дубликат записи!"); return; } var sc = new MyTools.C_SelectControl(t); DrawClient(); DrawObject(); sc.ReSelect(t); ThisTC.SelectedIndex = selectThisTC; }; tb.ContextMenu = new ContextMenu(); tb.ContextMenu.Items.Add(MI); }
/// <summary>Добавить не кеширующую таблицу</summary> static bool AddRemote(StartupLogo_Window.Loading_class Loading, string Name, string AlterName, ref DataBase.ITable Table, ref DataBase.ISTable SubTable, AddCols_delegate AddCols, bool Dedicate) { if (Loading != null) { Loading.LoadingComment = Name; } if (Table != null) { throw new Exception("Таблица уже существует!"); } Table = data.T1.Tables.Add(Name, AlterName); AddCols(Table); Table.AutoSave(Dedicate, DataBase.TypeOfTable.Remote); if (data.T1.type == DataBase.RemoteType.Local || Table.Parent.DataSourceEnabled) { SubTable = Table.CreateSubTable(); return(true); } else { if (Loading != null) { Loading.LoadingComment = "Ошибка"; } return(false); } }
public queryTable(DataBase.ISTable table) { this.Table = table; Operations = new List <KeyValuePair <EOperation, queryTableColumn> >(); }
public LoadTable(DataBase.ISTable Table, string FileName) { this.Table = Table; this.FileName = FileName; }
static bool AddSynch(DataBase db, StartupLogo_Form.Loading_class Loading, string Name, string AlterName, ref DataBase.ITable Table, ref DataBase.ISTable SubTable, AddCols_delegate AddCols, bool Dedicate) { if (Loading != null) { Loading.LoadingComment = Name; } if (CheckTablesExist && Table != null) { throw new Exception("Таблица уже существует!"); } Table = db.Tables.Add(Encoding.GetEncoding(866), Name, AlterName); AddCols(Table); Table.AutoSave(Dedicate, DataBase.TypeOfTable.Combine); if (Table.Parent.DataSourceEnabled || Table.Parent.type == DataBase.RemoteType.Local) { SubTable = Table.CreateSubTable(); SubTable.QUERRY().SHOW.DO(); return(true); } else { if (Loading != null) { Loading.LoadingComment = "Ошибка"; } return(false); } }