- Instalar el paquete de idioma en español en Manage Nuget Packages llamado
- Microsoft.AspNet.Identity.core.es
- Después de dentro del archivo web.config del proyecto buscamos la etiqueta <system.web> y dentro de ella agregamos la siguiente linea:
<globalization culture="es-MX" uiCulture="es" />
S.O.S Informática
Ya que ando como loco metido buscando y solucionando problemas de informática tanto de programación como de TI en general, pondré aquí lo que me ha sido de utilidad y algunas preguntas por si alguno desea ayudamre ;). Espero que yo les sea de ayuda ...
jueves, 26 de agosto de 2021
¿Se pueden cambiar los mensajes de error de asp.net MVC del ingles al español?
jueves, 5 de agosto de 2021
Carga diferida (Lazy Loading) en Entity Framework
Como sabemos la por defecto Entity Framework carga
los datos relacionados con llaves al general una consulta; esto puede llevar
mas tiempo de procesador y hace mas tardada.
Desactivándola podremos cargar
datos mas rápidamente.
public partial class DBEntities : DbContext
{
public
SchoolDBEntities(): base("name=DBEntities")
{
this.Configuration.LazyLoadingEnabled
= false;
}
protected override void
OnModelCreating(DbModelBuilder
modelBuilder)
{
}
}
También se puede sobre cargar el método del
constructor del contexto para activar y desactivarlo según lo necesitemos:
public partial class DBEntities : DbContext
{
public
SchoolDBEntities(): base("name=DBEntities")
{
this.Configuration.LazyLoadingEnabled
= false;
}
public SchoolDBEntities(bool
LazyLoadingEnabled): base("name=DBEntities")
{
this.Configuration.LazyLoadingEnabled
= LazyLoadingEnabled;
}
protected override void
OnModelCreating(DbModelBuilder
modelBuilder)
{
}
}
miércoles, 28 de julio de 2021
Truncar y reducir el tamaño del log de transacciones de SQL Server
Paso1: Para truncar el registro de transacciones, se realiza la copia de seguridad del registro de transacciones.
BACKUP LOG [BasedeDatos] TO DISK = N'C:\Backup\Backup.bak'
Paso2: Reducir el tamaño físico del registro de transacciones:
USE [BasedeDatos]
GO
DBCC SHRINKFILE (N'nombredelLog', 0, TRUNCATEONLY)
GO
domingo, 18 de junio de 2017
Exportar Datagrid a Excel C#
Primero que nada es necesario importar la librería de Office:
using Microsoft.Office.Interop.Excel;
General mente se encuentra en:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Excel.dll
La función es la siguiente:
public void _Exportar(System.Data.DataTable dgvDatos)
{
try
{
string temp;
int iColumnas = 0;
//Inicializacion de la conexion
Microsoft.Office.Interop.Excel.Application xlsApp = new Microsoft.Office.Interop.Excel.Application();
//Objento de Sheet
Worksheet xlsSheet;
//Objento de Libro
Workbook xlsBook;
//Indica si se ve el Excel o no
xlsApp.Visible = false;
xlsBook = xlsApp.Workbooks.Add(true);
xlsSheet = (Worksheet)xlsBook.ActiveSheet;
//Inicia a leer el datagrid para preparar la cabecera
for (int iCol = 0; iCol < dgvDatos.Columns.Count; iCol++)
{
iColumnas++;
//Agrega la cabecera a la hoja
xlsSheet.Cells[1, iColumnas] = dgvDatos.Columns[iCol].ColumnName;
}
for (int iRow = 0; iRow < dgvDatos.Rows.Count; iRow++)
{
int Col = 0;
for (int iCol = 0; iCol < dgvDatos.Columns.Count; iCol++)
{
Col++;
temp = dgvDatos.Rows[iRow].ItemArray[iCol].ToString();
xlsSheet.Cells[iRow + 2, Col] = temp;
}
}
xlsSheet.Columns.AutoFit(); //Ajusta ancho de todas las columnas
xlsApp.Visible = true;
//xlsApp.Quit();
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Espero les sea útil.
martes, 25 de agosto de 2015
NotifyIcon ocultar aplicación en el área de notificación de Windows
Ocultar nuestro programa en la barra de tareas es algo que podemos usar cueando un programa no requiere de supervision o queremos que se ejecute en segundo plano pudiendo acceder a el en cualquier momento.
Para lo cual se usa una conjunción de los componenetes notifyIcon y contextMenuStrip
private void ejecutarLimpiezaToolStripMenuItem_Click(object sender, EventArgs e) { //Tipo de icono a mostrar el el globo informativo (Info, Error, None, Warning) notifyIcon1.BalloonTipIcon = ToolTipIcon.Info; //Título del balón informativo (el nombre de la aplicación) notifyIcon1.BalloonTipTitle = Application.ProductName; //Texto del balón informativo notifyIcon1.BalloonTipText = "Ejecutado limpieza"; //Tiempo que aparecerá hasta ocultarse automáticamente notifyIcon1.ShowBalloonTip(3); listBox1.Items.Clear(); listFiles(textBox1.Text); LogFile(); notifyIcon1.BalloonTipIcon = ToolTipIcon.Info; notifyIcon1.BalloonTipTitle = Application.ProductName; notifyIcon1.BalloonTipText = "Limpieza terminada"; notifyIcon1.ShowBalloonTip(8); } private void terminarAplicacionToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void mostrarAplicacionToolStripMenuItem_Click(object sender, EventArgs e) { Show(); WindowState = FormWindowState.Normal; Activate(); notifyIcon1.Visible = false; } private void button4_Click(object sender, EventArgs e) { notifyIcon1.Icon = this.Icon; notifyIcon1.ContextMenuStrip = this.contextMenuStrip1; notifyIcon1.Text = Application.ProductName; notifyIcon1.Visible = true; this.Visible = false; notifyIcon1.BalloonTipIcon = ToolTipIcon.Info; notifyIcon1.BalloonTipTitle = Application.ProductName; notifyIcon1.BalloonTipText = "La aplicación ha quedado ocultada " + "en el área de notificación. Para mostrarla haga " + "doble clic sobre el icono"; notifyIcon1.ShowBalloonTip(8); } private void Form1_Resize(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { notifyIcon1.Icon = this.Icon; notifyIcon1.ContextMenuStrip = this.contextMenuStrip1; notifyIcon1.Text = Application.ProductName; notifyIcon1.Visible = true; this.Visible = false; notifyIcon1.BalloonTipIcon = ToolTipIcon.Info; notifyIcon1.BalloonTipTitle = Application.ProductName; notifyIcon1.BalloonTipText = "La aplicación ha quedado ocultada " + "en el área de notificación. Para mostrarla haga " + "doble clic sobre el icono"; notifyIcon1.ShowBalloonTip(8); } } private void notifyIcon1_DoubleClick(object sender, EventArgs e) { Show(); WindowState = FormWindowState.Normal; Activate(); notifyIcon1.Visible = false; }
viernes, 21 de agosto de 2015
Enviado Correo electronico desde C#
- System.Net.Mail.MailMessege: Nos permite encapsular todos las propiedades de nuestro mensaje.
- System.Net.Mail.MailAddress: Representa una dirección de correo electrónico.
- System.Net.Mail.SmtpClient: Representa un cliente de correo electrónico basado en el protocolo SMTP.
Veamos el codigo:
public void EnviarCorreo() { /*-------------------------MENSAJE DE CORREO Objeto MailMessage----------------------*/ //Creamos un nuevo Objeto de mensaje System.Net.Mail.MailMessage mmsg = new System.Net.Mail.MailMessage(); //Direccion de correo electronico a la que queremos enviar el mensaje pueden agregarse tantos destinatarios como sea posible mediante la función Add ya que es una coleccion mmsg.To.Add("destinatario@servidordominio.com"); //msg.To.Add("destinatario2@servidordominio.com"); //msg.To.Add("destinatario3@otrodominio.com"); //Asunto mmsg.Subject = "Asunto del correo"; mmsg.SubjectEncoding = System.Text.Encoding.UTF8; //Direccion de correo electronico que queremos que reciba una copia del mensaje si es que se requiere esto es opcional mmsg.Bcc.Add("destinatariocopia@servidordominio.com"); //Cuerpo del Mensaje mmsg.Body = "Texto del contenio del mensaje de correo"; mmsg.BodyEncoding = System.Text.Encoding.UTF8; mmsg.IsBodyHtml = false; //Si no queremos que se envíe como HTML se pone en true si se crea el cuerpo con HTML esto noda una amplia funcion en los formatos de correos. //Correo electronico desde la que enviamos el mensaje mmsg.From = new System.Net.Mail.MailAddress("micuenta@servidordominio.com"); /*-------------------------CLIENTE DE CORREO Objeto SmtpClient---------------------*/ //Creamos un objeto de cliente de correo System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient(); //Hay que crear las credenciales del correo emisor es decir el acceso de nuestro correo electronico cliente.Credentials = new System.Net.NetworkCredential("micuenta@servidordominio.com", "micontraseña"); //Lo siguiente es obligatorio si enviamos el mensaje desde Gmail o servidores que usan SSL /* cliente.Port = 587; cliente.EnableSsl = true; */ cliente.Host = "mail.servidordominio.com"; /*-------------------------ENVIO DE CORREO----------------------*/ try { //Enviamos el mensaje cliente.Send(mmsg); } catch (System.Net.Mail.SmtpException ex) { //Aquí gestionamos los errores al intentar enviar el correo } }
Determinar si tu laptop usa esta usado la bateria o la corriente usando C#
Para algunos procesos es indispensable poder saber si se usa la batería o el nivel de carga si se esta usando una laptop por ejemplo para no dejar a medias un proceso por falta de batería que pueda dejar colgado el servidor o algo parecido... podemos incluir en nuestras aplicaciones un método para evitar esto; yo en mi caso lo usare para saber en que momento una lap se cambia a la batería lap que dejo conectada para hacer respaldos pero si se va la luz en la noche cambiara a la batería y quiero que me avise para apagar bien los servidores y evitar perdida de información por daños..
C#
private void btnPower_Click(object sender, EventArgs e)
{
PowerLineStatus status = SystemInformation.PowerStatus.PowerLineStatus;
if (status == PowerLineStatus.Offline)
MessageBox.Show("Utilizando Bateria");
else
MessageBox.Show("Corriente directa");
}