protected virtual void AgregarTags(qGen.Command comando, Lfx.Data.Row registro, string tabla) { Lfx.Data.Table Tabla = this.Connection.Tables[tabla]; if (Tabla.Tags != null && Tabla.Tags.Count > 0) { foreach (Lfx.Data.Tag Tg in Tabla.Tags) { if (Tg.Nullable == false && registro[Tg.FieldName] == null) { switch (Tg.FieldType) { case Lfx.Data.DbTypes.Currency: case Lfx.Data.DbTypes.Integer: case Lfx.Data.DbTypes.SmallInt: case Lfx.Data.DbTypes.MediumInt: case Lfx.Data.DbTypes.TinyInt: case Lfx.Data.DbTypes.Numeric: comando.Fields.AddWithValue(Tg.FieldName, 0); break; default: comando.Fields.AddWithValue(Tg.FieldName, ""); break; } } else { comando.Fields.AddWithValue(Tg.FieldName, registro[Tg.FieldName]); } } } }
protected virtual void AgregarTags(qGen.IStatement comando, Lfx.Data.Row registro, string tabla) { Lfx.Data.Table Tabla = Lfx.Workspace.Master.Tables[tabla]; if (Tabla.Tags != null && Tabla.Tags.Count > 0) { foreach (Lfx.Data.Tag Tg in Tabla.Tags) { if (Tg.Nullable == false && registro[Tg.FieldName] == null) { switch (Tg.FieldType) { case Lazaro.Orm.ColumnTypes.Currency: case Lazaro.Orm.ColumnTypes.Integer: case Lazaro.Orm.ColumnTypes.SmallInt: case Lazaro.Orm.ColumnTypes.MediumInt: case Lazaro.Orm.ColumnTypes.TinyInt: case Lazaro.Orm.ColumnTypes.Numeric: comando.ColumnValues.AddWithValue(Tg.FieldName, System.Convert.ToInt32(Tg.DefaultValue)); break; default: comando.ColumnValues.AddWithValue(Tg.FieldName, ""); break; } } else { comando.ColumnValues.AddWithValue(Tg.FieldName, registro[Tg.FieldName]); } } } }
/// <summary> /// Actualiza el control con los datos del elemento. /// </summary> public override void ActualizarControl() { Lazaro.Pres.Forms.Section Sect = new Lazaro.Pres.Forms.Section("Campos adicionales"); this.Tabla = Lfx.Workspace.Master.Tables[m_Elemento.TablaDatos]; //Tabla.Connection = this.Connection; if (Tabla.Tags != null) { foreach (Lfx.Data.Tag Tg in Tabla.Tags) { if (Tg.Internal == false) { Lazaro.Pres.Field Fld = new Lazaro.Pres.Field(Tg.FieldName, Tg.Label, Tg.InputFieldType); if (string.IsNullOrEmpty(Tg.LblType) == false) { Fld.LblType = Lbl.Instanciador.InferirTipo(Tg.LblType); } if (Tg.Access > 0) { Lbl.Sys.Permisos.Operaciones Oper = (Lbl.Sys.Permisos.Operaciones)(Tg.Access); if (Lbl.Sys.Config.Actual.UsuarioConectado.TienePermiso(m_Elemento, Oper) == false) { Fld.ReadOnly = true; } } Fld.Relation = Tg.Relation; Sect.Fields.Add(Fld); } } } this.FromSection(Sect); base.ActualizarControl(); }
/// <summary> /// Actualiza el control con los datos del elemento. /// </summary> public override void ActualizarControl() { Lazaro.Pres.Forms.Section Sect = new Lazaro.Pres.Forms.Section("Campos adicionales"); this.Tabla = m_Elemento.Connection.Tables[m_Elemento.TablaDatos]; Tabla.Connection = this.Connection; if (Tabla.Tags != null) { foreach (Lfx.Data.Tag Tg in Tabla.Tags) { if (Tg.Internal == false) { Lazaro.Pres.Field Fld = new Lazaro.Pres.Field(Tg.FieldName, Tg.Label, Tg.InputFieldType); if (string.IsNullOrEmpty(Tg.LblType) == false) { Fld.LblType = Lbl.Instanciador.InferirTipo(Tg.LblType); } if (Tg.Access > 0) { Lbl.Sys.Permisos.Operaciones Oper = (Lbl.Sys.Permisos.Operaciones)(Tg.Access); if (Lbl.Sys.Config.Actual.UsuarioConectado.TienePermiso(m_Elemento, Oper) == false) { Fld.ReadOnly = true; } } Fld.Relation = Tg.Relation; Sect.Fields.Add(Fld); } } } this.FromSection(Sect); base.ActualizarControl(); }
public void DesdeTable(Lfx.Data.Table tabla) { this.Clear(); tabla.FastRows.LoadAll(); foreach (Lfx.Data.Row Lrw in tabla.FastRows.Values) { this.AddFromRow(Lrw); } this.HayCambios = false; }
public void AddRange(Lfx.Data.Table tabla) { if (tabla != null) { tabla.PreLoad(); foreach (Lfx.Data.Row Rw in tabla.FastRows.Values) { Lfx.Data.Row Lrw = Rw; this.AddFromRow(Lrw); } } this.HayCambios = false; }
public void CheckTable(Lfx.Types.OperationProgress progreso, Lfx.Data.Table table) { Lfx.Data.TableStructure CurrentTableDef = this.Connection.GetTableStructure(table.Name, true); progreso.ChangeStatus("Verificando tabla " + table.Name); foreach (Lfx.Data.ConstraintDefinition Cons in CurrentTableDef.Constraints.Values) { // Elimino valores 0 (los pongo en NULL) qGen.Update PonerNullablesEnNull = new qGen.Update(table.Name); PonerNullablesEnNull.ColumnValues.AddWithValue(Cons.Column, null); PonerNullablesEnNull.WhereClause = new qGen.Where(Cons.Column, 0); this.Connection.ExecuteNonQuery(PonerNullablesEnNull); // Busco problemas de integridad referencial if (Cons.TableName != Cons.ReferenceTable) { qGen.Select RefValidas = new qGen.Select(Cons.ReferenceTable); RefValidas.Columns = new qGen.SqlIdentifierCollection() { Cons.ReferenceColumn }; qGen.Update ElimRefInvalidas = new qGen.Update(table.Name); switch (Cons.ReferenceTable) { case "bancos": // Los bancos inexistentes los remplazo por "otro banco" ElimRefInvalidas.ColumnValues.AddWithValue(Cons.Column, 99); break; case "personas": // Las personas inexistentes las paso a Administrador ElimRefInvalidas.ColumnValues.AddWithValue(Cons.Column, 1); break; default: // El resto lo pongo en null ElimRefInvalidas.ColumnValues.AddWithValue(Cons.Column, null); break; } ElimRefInvalidas.WhereClause = new qGen.Where(Cons.Column, qGen.ComparisonOperators.NotIn, RefValidas); System.Console.WriteLine(ElimRefInvalidas.ToString()); this.Connection.ExecuteNonQuery(ElimRefInvalidas); } } }
public override void ActualizarControl() { Lista.SuspendLayout(); Lista.Items.Clear(); Lfx.Data.Table TablaEtiquetas = Lfx.Workspace.Master.Tables["sys_labels"]; TablaEtiquetas.PreLoad(); foreach (Lfx.Data.Row Rw in TablaEtiquetas.FastRows.Values) { Lbl.Etiqueta Eti = new Lbl.Etiqueta(this.Connection, Rw); if (Eti.TablaReferencia == m_Elemento.TablaDatos) { ListViewItem Itm = Lista.Items.Add(Eti.Id.ToString()); Itm.SubItems.Add(Eti.Nombre); if (Elemento.Etiquetas.Contains(Eti.Id)) { Itm.Checked = true; } } } Lista.ResumeLayout(); base.ActualizarControl(); }
public ColeccionGenerica(Lfx.Data.Connection dataBase, Lfx.Data.Table tabla) : this(dataBase) { this.Clear(); this.AddRange(tabla); }
public ColeccionGenerica(Lfx.Data.Table tabla) : this(tabla.Connection) { this.DesdeTable(tabla); }
internal TableCollection GetTables() { TableCollection Res = new Lfx.Data.TableCollection(Lfx.Workspace.Master.MasterConnection); foreach (string TblName in Lfx.Data.DataBaseCache.DefaultCache.GetTableNames()) { Lfx.Data.Table NewTable = new Lfx.Data.Table(Lfx.Workspace.Master.MasterConnection, TblName); switch (TblName) { case "alicuotas": case "articulos_codigos": case "articulos_situaciones": case "bancos": case "cajas": case "conceptos": case "ciudades": case "documentos_tipos": case "formaspago": case "impresoras": case "margenes": case "monedas": case "paises": case "personas_tipos": case "pvs": case "situaciones": case "sucursales": case "sys_permisos_objetos": case "sys_plantillas": case "sys_tags": case "tickets_estados": case "tipo_doc": NewTable.AlwaysCache = true; break; case "sys_log": case "sys_programador": case "sys_config": NewTable.Cacheable = false; break; } Res.Add(NewTable); } return Res; }