当前位置: 首页>>代码示例>>C#>>正文


C# Lfx.ChangeStatus方法代码示例

本文整理汇总了C#中Lfx.ChangeStatus方法的典型用法代码示例。如果您正苦于以下问题:C# Lfx.ChangeStatus方法的具体用法?C# Lfx.ChangeStatus怎么用?C# Lfx.ChangeStatus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Lfx的用法示例。


在下文中一共展示了Lfx.ChangeStatus方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DescargarEInstalar

                private void DescargarEInstalar(Lfx.Types.OperationProgress progreso)
                {
                        string InstaladorMariaDb = "InstalarMariaDB.exe";
                        string CarpetaDescarga;

                        if (System.IO.File.Exists(Lfx.Environment.Folders.ApplicationFolder + @"..\WebInstall\" + InstaladorMariaDb)) {
                                CarpetaDescarga = Lfx.Environment.Folders.ApplicationFolder + @"..\WebInstall\";
                        } else {
                                progreso.ChangeStatus("Descargando, por favor aguarde...");
                                CarpetaDescarga = Lfx.Environment.Folders.TemporaryFolder;
                                Lfx.Environment.Folders.EnsurePathExists(CarpetaDescarga);
                                using (WebClient Cliente = new WebClient()) {
                                        try {
                                                Cliente.DownloadFile("http://www.lazarogestion.com/aslnlwc/" + InstaladorMariaDb, CarpetaDescarga + InstaladorMariaDb);
                                        } catch (Exception ex) {
                                                progreso.ChangeStatus("Error al descargar: " + ex.Message);
                                        }
                                }
                        }

                        if (System.IO.File.Exists(CarpetaDescarga + InstaladorMariaDb)) {
                                progreso.ChangeStatus("Instalando...");
                                try {
                                        Lfx.Environment.Shell.Execute(CarpetaDescarga + InstaladorMariaDb, "/verysilent /sp- /norestart", System.Diagnostics.ProcessWindowStyle.Normal, true);
                                } catch (Exception ex) {
                                        progreso.ChangeStatus("Error al instalar: " + ex.Message);
                                }
                        }

                        Lfx.Data.DataBaseCache.DefaultCache.ServerName = "localhost";
                        Lfx.Data.DataBaseCache.DefaultCache.UserName = "root";
                        Lfx.Data.DataBaseCache.DefaultCache.Password = "";
                        Lfx.Data.DataBaseCache.DefaultCache.AccessMode = Lfx.Data.AccessModes.MySql;
                        Lfx.Data.DataBaseCache.DefaultCache.SlowLink = false;
                        Lfx.Data.DataBaseCache.DefaultCache.DataBaseName = "";

                        Lfx.Types.OperationResult Res = this.ProbarServidor();
                        if (Res.Success) {
                                if (Lfx.Workspace.Master.IsPrepared() == false)
                                        Lfx.Workspace.Master.Prepare(progreso);
                                progreso.End();
                        } else {
                                Lfx.Workspace.Master.RunTime.Toast("No se puede descargar o instalar el servidor SQL. Puede volver atrás para intentarlo nuevamente o salir para instalarlo de forma manual.", "Error");
                        }
                }
开发者ID:solutema,项目名称:ultralight,代码行数:45,代码来源:Inicial.cs

示例2: CheckAndUpdateDataBaseStructure

                /// <summary>
                /// Verifica la estructura de la base de datos actual y si es necesario modifica para que esté conforme
                /// al diseño de referencia.
                /// </summary>
                /// <param name="dataBase">PrintDataBase mediante el cual se accede a la base de datos.</param>
                /// <param name="omitPreAndPostSql">Omitir la ejecución de comandos Pre- y Post-actualización de estructura. Esto es útil cuando se actualiza una estructura vacía, por ejemplo al crear una base de datos nueva.</param>
                /// /// <param name="progreso">El objeto sobre el cual reportar el progreso.</param>
                public void CheckAndUpdateDataBaseStructure(Lfx.Data.Connection dataBase, bool omitPreAndPostSql, Lfx.Types.OperationProgress progreso)
                {
                        progreso.ChangeStatus("Verificando estructuras de datos");

                        bool MustEnableConstraints = false;
                        if (dataBase.ConstraintsEnabled) {
                                dataBase.EnableConstraints(false);
                                MustEnableConstraints = true;
                        }

                        if (omitPreAndPostSql == false) {
                                progreso.ChangeStatus("Ejecutando guión previo...");
                                InyectarSqlDesdeRecurso(dataBase, @"Data.Struct.db_upd_pre.sql");
                        }

                        //Primero borro claves foráneas (deleteOnly = true)
                        progreso.ChangeStatus("Eliminando reglas obsoletas...");
                        dataBase.SetConstraints(Lfx.Workspace.Master.Structure.Constraints, true);

                        try {
                                dataBase.ExecuteSql("FLUSH TABLES");
                        } catch {
                                // No tengo permiso... no importa
                        }
                        progreso.Max = Lfx.Workspace.Master.Structure.Tables.Count;
                        foreach (Lfx.Data.TableStructure Tab in Lfx.Workspace.Master.Structure.Tables.Values) {
                                string TableLabel = Tab.Label;
                                if (Tab.Label == null)
                                        TableLabel = Tab.Name.ToTitleCase();
                                progreso.ChangeStatus(progreso.Value + 1, "Verificando " + TableLabel);
                                dataBase.SetTableStructure(Tab);
                        }

                        //Ahora creo claves nuevas (deleteOnly = false)
                        progreso.ChangeStatus("Estableciendo reglas de integridad");
                        try {
                                dataBase.ExecuteSql("FLUSH TABLES");
                        } catch {
                                // No tengo permiso... no importa
                        }
                        dataBase.SetConstraints(Lfx.Workspace.Master.Structure.Constraints, false);

                        if (omitPreAndPostSql == false) {
                                progreso.ChangeStatus("Ejecutando guión posterior...");
                                InyectarSqlDesdeRecurso(dataBase, @"Data.Struct.db_upd_post.sql");
                        }

                        if (MustEnableConstraints)
                                dataBase.EnableConstraints(true);
                }
开发者ID:solutema,项目名称:ultralight,代码行数:57,代码来源:Workspace.cs

示例3: BuscarServidor

                /// <summary>
                /// Busco un servidor en la red loca.
                /// </summary>
                /// <returns></returns>
                private void BuscarServidor(Lfx.Types.OperationProgress progreso)
                {
                        foreach (NetworkInterface Intrfc in NetworkInterface.GetAllNetworkInterfaces()) {
                                progreso.ChangeStatus("Buscando en " + Intrfc.Name);
                                if (Intrfc.OperationalStatus == OperationalStatus.Up) {
                                        foreach (UnicastIPAddressInformation MiDireccion in Intrfc.GetIPProperties().UnicastAddresses) {
                                                byte FirstByte = MiDireccion.Address.GetAddressBytes()[0];
                                                if (FirstByte == 192 || FirstByte == 10) {
                                                        byte SecondByte = MiDireccion.Address.GetAddressBytes()[1];
                                                        byte ThirdByte = MiDireccion.Address.GetAddressBytes()[2];
                                                        for (byte i = 1; i < 255; i++) {
                                                                try {
                                                                        IPAddress DireccionServidor = new IPAddress(new byte[] { FirstByte, SecondByte, ThirdByte, i });
                                                                        if (DireccionServidor.Equals(MiDireccion.Address) == false) {
                                                                                Ping Pp = new Ping();
                                                                                PingReply Pr = Pp.Send(DireccionServidor, 100);
                                                                                if (Pr.Status == IPStatus.Success) {
                                                                                        try {
                                                                                                System.Net.Sockets.TcpClient Cliente = new System.Net.Sockets.TcpClient();
                                                                                                Cliente.Connect(DireccionServidor, 3306);
                                                                                                Cliente.Close();
                                                                                                this.ServidorDetectado = DireccionServidor.ToString();

                                                                                                System.Net.IPHostEntry DireccionServidorDetectado = System.Net.Dns.GetHostEntry(ServidorDetectado);
                                                                                                this.ServidorDetectado = DireccionServidorDetectado.HostName;

                                                                                                progreso.End();
                                                                                        } catch {
                                                                                                // Nada
                                                                                        }
                                                                                }
                                                                        }
                                                                } catch {
                                                                        // Ignoro esa IP
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }

                        this.ServidorDetectado = null;
                        progreso.End();
                }
开发者ID:solutema,项目名称:ultralight,代码行数:48,代码来源:Inicial.cs

示例4: CheckTable

                public void CheckTable(Lfx.Types.OperationProgress progreso, Lfx.Data.Table table)
                {
                        Lfx.Data.TableStructure CurrentTableDef = this.DataBase.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.Fields.AddWithValue(Cons.Column, null);
                                PonerNullablesEnNull.WhereClause = new qGen.Where(Cons.Column, 0);
                                this.DataBase.Execute(PonerNullablesEnNull);

                                // Busco problemas de integridad referencial
                                if (Cons.TableName != Cons.ReferenceTable) {
                                        qGen.Select RefValidas = new qGen.Select(Cons.ReferenceTable);
                                        RefValidas.Fields = Cons.ReferenceColumn;

                                        qGen.Update ElimRefInvalidas = new qGen.Update(table.Name);
                                        switch(Cons.ReferenceTable) {
                                                case "bancos":
                                                        // Los bancos inexistentes los remplazo por "otro banco"
                                                        ElimRefInvalidas.Fields.AddWithValue(Cons.Column, 99);
                                                        break;
                                                case "personas":
                                                        // Las personas inexistentes las paso a Administrador
                                                        ElimRefInvalidas.Fields.AddWithValue(Cons.Column, 1);
                                                        break;
                                                default:
                                                        // El resto lo pongo en null
                                                        ElimRefInvalidas.Fields.AddWithValue(Cons.Column, null);
                                                        break;
                                        }
                                        ElimRefInvalidas.WhereClause = new qGen.Where(Cons.Column, qGen.ComparisonOperators.NotIn, RefValidas);

                                        System.Console.WriteLine(ElimRefInvalidas.ToString());
                                        this.DataBase.Execute(ElimRefInvalidas);
                                }
                        }
                }
开发者ID:solutema,项目名称:ultralight,代码行数:39,代码来源:Verificador.cs


注:本文中的Lfx.ChangeStatus方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。