} // end Reporte Kilometrajes Mantenimientos Diario /// <summary> /// Envia el reporte comparativo de kilometrajes y mantenimientos /// a los involucrados /// </summary> public void ReporteKilometrajesMantenimientos_Mensual() { AppHelper.Log("Reporte Kilometrajes - Mantenimientos"); // El conjunto de adjuntos List<string> adjuntos = new List<string>(); // La fecha inicial // Un mes menos a patir de hoy DateTime fechaInicial = DateTime.Now.AddMonths(-1); // La fecha final, ayer a las 11:59:59 DateTime fechaFinal = DateTime.Today. AddDays(-1). AddHours(23). AddMinutes(59). AddSeconds(59); // La tabla de kilometrajes & Mantenimientos string tablaKMMttos = AppHelper.DataTableExport.TableToHTML( Views.Vista_ReporteKilometrajesMantenimientos.GetDataTable(fechaInicial, fechaFinal) ); // El archivo de la tabla de estatus adjuntos.Add( this.WriteTempFile( tablaKMMttos, string.Format( "ReporteKilometrajesMantenimientoMensual{0:yyyyMMdd}_{1:yyyyMMdd}.xls", fechaInicial, fechaFinal ) ) ); // Obtenemos la plantilla string message = global::SICASBulletin.Properties.Resources.ReporteKilometrajesMantenimientos_Mensual_Template; AppHelper.Log("Template obtenido"); // Conformamos las variables a reemplazar // Declaramos la tabla Hashtable vars = new Hashtable(); // La fecha inicial vars.Add( "@FechaInicial", string.Format("{0:yyyy-MM-dd}", fechaInicial) ); // La fecha final vars.Add( "@FechaFinal", string.Format("{0:yyyy-MM-dd}", fechaFinal) ); // El reporte vars.Add( "@TablaKMMttos", tablaKMMttos ); AppHelper.Log("Reporte generado"); // Realizamos los reemplazos message = GetMessage(message, vars); // El boletin id int boletin_id = 2; // El reporte de kilometrajes y mantenimientos // Obtenemos la lista de correos List<Views.Vista_CorreosParaBoletin> correos = Views.Vista_CorreosParaBoletin.Get(boletin_id); // El titulo del mensaje string title = string.Format( "Reporte de Kilometrajes y Mantenimientos {0:yyyy-MM-dd} a {1:yyyy-MM-dd}", fechaInicial, fechaFinal ); // El remitente del mensaje string from = "*****@*****.**"; // Enviamos los reportes foreach (Views.Vista_CorreosParaBoletin correo in correos) { AppHelper.SendEmail( from, correo.Email, title, message, adjuntos ); AppHelper.Log(string.Format("Correo enviado a {0}", correo.Email)); } // end foreach AppHelper.Log("Proceso terminado"); //Console.Read(); } // end Reporte Kilometrajes Mantenimientos Diario
/// <summary> /// Envia el reporte concentrado de flotilla /// a los involucrados /// </summary> public void ReporteConcentradoFlotilla() { AppHelper.Log("Reporte Concentrado de Flotilla"); // Executamos la instruccion para registrar el historial DB.ExecStoredProcedure("usp_RegistroFlotillaDiaria", null); // El conjunto de adjuntos List<string> adjuntos = new List<string>(); // La tabla de estatus string tablaestatus = AppHelper.DataTableExport.TableToHTML( Views.Vista_Reporte_Concentrado_Flotilla_Estatus.GetDataTable() ); // La tabla de locaciones string tablalocaciones = AppHelper.DataTableExport.TableToHTML( Views.Vista_Reporte_Concentrado_Flotilla_Locaciones.GetDataTable() ); // El archivo de la tabla de estatus adjuntos.Add( this.WriteTempFile( tablaestatus, string.Format( "ReporteConcentradoFlotillaEstatus{0:yyyyMMdd}.xls", DateTime.Now ) ) ); // El archivo de la tabla de locaciones adjuntos.Add( this.WriteTempFile( tablalocaciones, string.Format( "ReporteConcentradoFlotillaInactivas{0:yyyyMMdd}.xls", DateTime.Now ) ) ); // Obtenemos la plantilla string message = global::SICASBulletin.Properties.Resources.ReporteConcentradoFlotilla_Template; AppHelper.Log("Template obtenido"); // Conformamos las variables a reemplazar // Declaramos la tabla Hashtable vars = new Hashtable(); // La(s) empresas(s) vars.Add("@Empresa", "TODAS LAS EMPRESAS"); // La fecha vars.Add( "@Fecha", string.Format("{0:yyyy-MM-dd}", DateTime.Now) ); // El total de la flotilla vars.Add( "@TotalFlotilla", string.Format( "{0:G}", Functions.Get_TotalFlotilla() ) ); // El reporte de estatus vars.Add( "@TablaEstatus", tablaestatus ); AppHelper.Log("Estatus generados"); // El total de las inactivas vars.Add( "@TotalInactivas", string.Format( "{0:G}", Functions.Get_TotalInactivas() ) ); // El reporte de locaciones vars.Add( "@TablaLocaciones", tablalocaciones ); AppHelper.Log("Locaciones generadas"); // Realizamos los reemplazos message = GetMessage(message, vars); // El boletin id int boletin_id = 1; // El reporte concentrado de flotilla // Obtenemos la lista de correos List<Views.Vista_CorreosParaBoletin> correos = Views.Vista_CorreosParaBoletin.Get(boletin_id); // El titulo del mensaje string title = string.Format( "Reporte Concentrado de Flotilla {0:yyyy-MM-dd}", DateTime.Now); // El remitente del mensaje string from = "*****@*****.**"; // Enviamos los reportes foreach (Views.Vista_CorreosParaBoletin correo in correos) { AppHelper.SendEmail( from, correo.Email, title, message, adjuntos ); AppHelper.Log(string.Format("Correo enviado a {0}", correo.Email)); } // end foreach AppHelper.Log("Proceso terminado"); //Console.Read(); } // end ReporteConcentradoFlotilla
} // end ReporteConcentradoFlotilla /// <summary> /// Envia el reporte comparativo de kilometrajes y mantenimientos /// a los involucrados /// </summary> public void ReporteKilometrajesMantenimientos_Diario() { try { AppHelper.Log("Reporte Kilometrajes - Mantenimientos"); // Executamos la instruccion para registrar el historial DB.ExecStoredProcedure("usp_RegistroDiarioKilometrajesMantenimientos", null); // El conjunto de adjuntos List<string> adjuntos = new List<string>(); // La tabla de kilometrajes & Mantenimientos string tablaKMMttos = AppHelper.DataTableExport.TableToHTML( Views.Vista_ReporteKilometrajesMantenimiento_Diario.GetDataTable(DateTime.Today.AddDays(-1)) ); // El archivo de la tabla de estatus adjuntos.Add( this.WriteTempFile( tablaKMMttos, string.Format( "ReporteKilometrajesMantenimientoDiario{0:yyyyMMdd}.xls", DateTime.Now ) ) ); // Obtenemos la plantilla string message = global::SICASBulletin.Properties.Resources.ReporteKilometrajesMantenimientos_Diario_Template; AppHelper.Log("Template obtenido"); // Conformamos las variables a reemplazar // Declaramos la tabla Hashtable vars = new Hashtable(); // La fecha vars.Add( "@Fecha", string.Format("{0:yyyy-MM-dd}", DateTime.Now) ); // El reporte vars.Add( "@TablaKMMttos", tablaKMMttos ); AppHelper.Log("Reporte generado"); // Realizamos los reemplazos message = GetMessage(message, vars); // El boletin id int boletin_id = 2; // El reporte de kilometrajes y mantenimientos // Obtenemos la lista de correos List<Views.Vista_CorreosParaBoletin> correos = Views.Vista_CorreosParaBoletin.Get(boletin_id); // El titulo del mensaje string title = string.Format( "Reporte de Kilometrajes y Mantenimientos {0:yyyy-MM-dd}", DateTime.Now); // El remitente del mensaje string from = "*****@*****.**"; // Enviamos los reportes foreach (Views.Vista_CorreosParaBoletin correo in correos) { AppHelper.SendEmail( from, correo.Email, title, message, adjuntos ); AppHelper.Log(string.Format("Correo enviado a {0}", correo.Email)); } // end foreach AppHelper.Log("Proceso terminado"); // Si es día primero, mandaremos el reporte mensual if (DateTime.Today.Day == 1) this.ReporteKilometrajesMantenimientos_Mensual(); } // end try catch (Exception ex) { AppHelper.Log("**Error: " + ex.Message); try { AppHelper.SendEmail( "*****@*****.**", "*****@*****.**", "Error en SICAS Bulletin: ReporteKilometrajesMantenimientos_Diario", string.Format("{0:yyyy-MM-dd HH:mm:ss}\n\n{1}", DateTime.Now, ex.Message), false ); } catch (Exception e) { AppHelper.Log("**Error (Email): " + e.Message); } // end catch } // end catch } // end Reporte Kilometrajes Mantenimientos Diario