/// <summary>Добавить кеширующую таблицу</summary> static bool AddSynch(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.Combine); if (Table.Parent.DataSourceEnabled) { SubTable = Table.CreateSubTable(); SubTable.QUERRY().SHOW.DO(); return(true); } else { if (Loading != null) { Loading.LoadingComment = "Ошибка"; } return(false); } }
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(); }
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); } }
void GetAutoForm(DataBase.ISTable GetValue) { if ((bool)LoadNew_check.IsChecked) { GetValue.QUERRY(DataBase.State.None).SHOW.DO(); } GetValue.GetAutoForm(AutoForm.ShowType.Admin).ShowDialog(); }
/// <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(); }
public uint[] GetSynches(int YM) { var DTFrom = ATMisc.GetDateTimeFromYM(YM).AddMilliseconds(-1); var DTTo = ATMisc.GetDateTimeFromYM(YM + 1).AddMilliseconds(1); _sPool.QUERRY().SHOWL(C.SPool.Date).WHERE .AC(C.SPool.Date).More.BV(DTFrom) .AND.AC(C.SPool.Date).Less.BV(DTTo) .DO(); var Synches = new uint[_sPool.Rows.Count]; for (int i = 0; i < _sPool.Rows.Count; i++) { Synches[i] = _sPool.Rows.GetID(i); } return(Synches); }
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); }