本文整理汇总了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");
}
}
示例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);
}
示例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();
}
示例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);
}
}
}