HistoricoEmail.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using sage.ew.db;
7 using sage.ew.global;
8 using sage.ew.listados.Clases;
9 
10 namespace sage.ew.listados.Listados
11 {
15  public class HistoricoEmail : sage.ew.listados.Clases.Listados
16  {
17 
22  public override DataTable _DataTable()
23  {
24  DataTable ldtResultado = new DataTable();
25  string lcSql = string.Empty;
26  string tcFiltro = string.Empty;
27 
28  lcSql = "SELECT c.usuario, c.cliente, c.proveed as proveedor, CASE WHEN c.cliente <> '' THEN cli.nombre WHEN c.proveed <> '' THEN pro.nombre ELSE '' END as nombre, " +
29  " c.origen, c.destino, c.tempshora, c.resum AS resumen " +
30  " FROM " + DB.SQLDatabase("COMUNES", "C_EMAIL") + " AS c " +
31  " LEFT JOIN " + DB.SQLDatabase("GESTION", "CLIENTES") + " AS cli ON c.cliente = cli.codigo " +
32  " LEFT JOIN " + DB.SQLDatabase("GESTION", "PROVEED") + " AS pro ON c.proveed = pro.codigo " +
33  " WHERE " + EW_GLOBAL._Consolida("c.empresa") +
34  " AND c.destino <> ''"; //PE-101738: filtramos los registros con email destino
35 
36  tcFiltro += _Filtro_Fecha(_Filtros, _Tipo_Filtro_Fecha.Fecha, "c", "tempshora");
37  tcFiltro += _Filtro_String(_Filtros, _Tipo_Filtro_String.Cliente, "c", "cliente");
38  tcFiltro += _Filtro_String(_Filtros, _Tipo_Filtro_String.Proveedor, "c", "proveed");
39  tcFiltro += _Filtro_String(_Filtros, _Tipo_Filtro_String.Usuario, "c", "usuario");
40 
41  lcSql += tcFiltro;
42 
43  lcSql += " ORDER BY c.tempshora DESC ";
44 
45  DB.SQLExec(lcSql, ref ldtResultado);
46 
47  return ldtResultado;
48  }
49 
53  public override string _ReportFile
54  {
55  get { return "historico_email.report"; }
56  }
57 
61  public override List<string> _ReportColumns
62  {
63  get
64  {
65  _dicDefEntidades = new Dictionary<string, ew.interficies.IDefEntidad>();
66  _dicDefEntidades.Add("usuario", new DefEntidad() { _DB = "COMUNES", _Tabla = "USUARIOS", _Campo = "CODIGO", _Relacion = "", _Empresa = false });
67  _dicDefEntidades.Add("cliente", new DefEntidad() { _DB = "GESTION", _Tabla = "CLIENTES", _Campo = "CODIGO", _Relacion = "", _Empresa = false });
68  _dicDefEntidades.Add("proveedor", new DefEntidad() { _DB = "GESTION", _Tabla = "PROVEED", _Campo = "CODIGO", _Relacion = "", _Empresa = false });
69 
70 
71  return new List<string>() { "usuario", "cliente", "proveedor", "nombre", "origen", "destino", "tempshora", "resumen" };
72  }
73  }
74 
79  public override void _SetColumnCaptions(Dictionary<string, string> tldTranslate = null)
80  {
81  tldTranslate = new Dictionary<string, string>
82  {
83  {"tempshora", "Fecha y hora"},
84  {"origen", "Email origen"},
85  {"destino", "Email destino"},
86  };
87 
88  base._SetColumnCaptions(tldTranslate);
89  }
90 
95  public override void _SetColumnWidth(Dictionary<string, int> tldTranslate = null)
96  {
97  Dictionary<string, int> ldTranslate = new Dictionary<string, int>
98  {
99  {"nombre", 200}
100  };
101 
102  base._SetColumnWidth(ldTranslate);
103  }
104  }
105 }
override DataTable _DataTable()
Método de obtención de los datos específico (override) para el listado
override void _SetColumnWidth(Dictionary< string, int > tldTranslate=null)
Override para establecer el ancho de columnas
Clase parcial para listados, en esta definición se especificarán los métodos comunes para las demás c...
Definition: _clsListados.cs:61
_Tipo_Filtro_Fecha
Enumeración de los posibles filtros fecha a realizar
Entidad de relación (Columnas adicionales en listados)
Definition: DefEntidad.cs:14
_Tipo_Filtro_String
Enumeración de los posibles filtros de tipo STRING a realizar xxxDesde => Valor mínimo del filtro xxx...
PE-101222: Nueva clase para el listado historico de emails
override void _SetColumnCaptions(Dictionary< string, string > tldTranslate=null)
Override para definir las columnas del listado