Exemplo n.º 1
0
        /// <summary>
        /// Prepara las tablas internas para recibir los datos importados.
        /// </summary>
        public void PrepararTablasLazaro()
        {
            using (System.Data.IDbTransaction Trans = this.Connection.BeginTransaction()) {
                System.Collections.Generic.List <string> TablasModificadas = new List <string>();
                System.Console.WriteLine("Lbl.Servicios.Importar.Filtro: Preparando tablas internas...");
                foreach (MapaDeTabla Map in this.MapaDeTablas)
                {
                    if (Map.ColumnaIdExterna != null)
                    {
                        Lfx.Data.TableStructure Tabla = Lfx.Workspace.Master.Structure.Tables[Map.TablaLazaro];
                        if (Tabla.Columns.ContainsKey(Map.ColumnaIdLazaro) == false)
                        {
                            // Si la columna Id no existe, agrego un tag
                            Lfx.Data.Tag ImportTag = new Lfx.Data.Tag(Map.TablaLazaro, Map.ColumnaIdLazaro, "ImportId");
                            ImportTag.Connection = this.Connection;
                            ImportTag.FieldType  = Lazaro.Orm.ColumnTypes.VarChar;
                            ImportTag.Nullable   = true;
                            ImportTag.Internal   = true;
                            Lfx.Workspace.Master.Tables[Map.TablaLazaro].Tags.Add(ImportTag);
                            ImportTag.Save();
                            TablasModificadas.Add(Map.TablaLazaro);
                            Lfx.Workspace.Master.Structure.LoadBuiltIn();
                        }
                    }
                }

                // Me aseguro de que los tags se incorporen a las estructuras de la base de datos
                if (TablasModificadas.Count > 0)
                {
                    foreach (string NombreTabla in TablasModificadas)
                    {
                        Lfx.Data.TableStructure Tabla = Lfx.Workspace.Master.Structure.Tables[NombreTabla];
                        this.Connection.SetTableStructure(Tabla);
                    }
                }
                Trans.Commit();
            }
        }
Exemplo n.º 2
0
                /// <summary>
                /// Prepara las tablas internas para recibir los datos importados.
                /// </summary>
                public void PrepararTablasLazaro()
                {
                        using (System.Data.IDbTransaction Trans = this.Connection.BeginTransaction()) {
                                System.Collections.Generic.List<string> TablasModificadas = new List<string>();
                                System.Console.WriteLine("Lbl.Servicios.Importar.Filtro: Preparando tablas internas...");
                                foreach (MapaDeTabla Map in this.MapaDeTablas) {
                                        if (Map.ColumnaIdExterna != null) {
                                                Lfx.Data.TableStructure Tabla = Lfx.Workspace.Master.Structure.Tables[Map.TablaLazaro];
                                                if (Tabla.Columns.ContainsKey(Map.ColumnaIdLazaro) == false) {
                                                        // Si la columna Id no existe, agrego un tag
                                                        Lfx.Data.Tag ImportTag = new Lfx.Data.Tag(Map.TablaLazaro, Map.ColumnaIdLazaro, "ImportId");
                                                        ImportTag.DataBase = this.Connection;
                                                        ImportTag.FieldType = Lfx.Data.DbTypes.VarChar;
                                                        ImportTag.Nullable = true;
                                                        ImportTag.Internal = true;
                                                        this.Connection.Tables[Map.TablaLazaro].Tags.Add(ImportTag);
                                                        ImportTag.Save();
                                                        TablasModificadas.Add(Map.TablaLazaro);
                                                        Lfx.Workspace.Master.Structure.LoadBuiltIn();
                                                }
                                        }
                                }

                                // Me aseguro de que los tags se incorporen a las estructuras de la base de datos
                                if (TablasModificadas.Count > 0) {
                                        foreach (string NombreTabla in TablasModificadas) {
                                                Lfx.Data.TableStructure Tabla = Lfx.Workspace.Master.Structure.Tables[NombreTabla];
                                                this.Connection.SetTableStructure(Tabla);
                                        }
                                }
                                Trans.Commit();
                        }
                }