Exferia/Exferia_Formularios/Exferia_Formularios/P_Bolsa.cs

1727 lines
95 KiB
C#

using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Visualizacion;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using static Exferia_Aplicacion.General.Enumerados;
using System.Linq;
using Exferia_Aplicacion.Modelos_Listado_Filtros;
using Exferia_Controles;
using Exferia_Formularios.Controladoras;
using System.Reflection;
using ClosedXML.Excel;
using Exferia_General;
namespace Exferia_Formularios
{
public partial class P_Bolsa : Exferia_Formularios.P_Base_Mantenimientos
{
#region Propiedades Privadas
private P_Bolsa_Controladora g_obj_Controladora;
public ABS_Bolsa g_obj_ABS_Bolsa = null;
internal List<INTERNO_Permisos_Modelo> g_lst_INTERNO_Permisos_Modelo = null;
private INTERNO_ConfiguracionPantalla_Modelo g_mdl_INTERNO_ConfiguracionPantalla_Modelo = null;
private INTERNO_OpcionesDetalle_Modelo g_mdl_INTERNO_OpcionesDetalle_Modelo = null;
#endregion
#region Objetos en Pantalla
// Exferia_DataGridView
internal Exferia_DataGridView Exferia_DataGridView_Bolsa { get { return ex_dgv_Listado; } }
// Exferia_BarraProgreso
internal Exferia_BarraProgreso Exferia_BarraProgreso_Bolsa { get { return ex_pgb_BarraProgreso; } }
#endregion
#region Constructor
public P_Bolsa(ABS_Bolsa _obj_ABS_Bolsa, INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo, DateTime _dtt_FechaTrabajo)
{
InitializeComponent();
//Repintar los controles de la pantalla
Repintar.Empezar(this);
g_obj_Controladora = new P_Bolsa_Controladora(this);
CheckForIllegalCrossThreadCalls = false;
//Empresa seleccionada y fecha de trabajo ....................................................
P_Base_ValoresGenerales = _mdl_INTERNO_ValoresGenerales_Modelo;
P_Base_FechaTrabajo = _dtt_FechaTrabajo;
// Label con Empresa Seleccionada
if (P_Base_ValoresGenerales != null)
{
try
{
P_Base_Mantenimientos_InformacionEmpresaSeleccionada = P_Base_ValoresGenerales.str_Empresa_Descripcion + " - " +
"(" + P_Base_FechaTrabajo.ToString("dd/MM/yyyy") + ")";
}
catch (Exception)
{ }
}
//....................................................................................................
g_obj_ABS_Bolsa = _obj_ABS_Bolsa;
//Buscar los Permisos
g_lst_INTERNO_Permisos_Modelo = Datos_Generales.Permisos_Buscar(g_obj_ABS_Bolsa.DATOS_OPCION().opcion);
//cargar los datos de configuracion de la pantalla
if (Variables.G_DCT_CONFIGURACIONPANTALLA != null && Variables.G_DCT_CONFIGURACIONPANTALLA.Count > 0)
{
if (Variables.G_DCT_CONFIGURACIONPANTALLA.ContainsKey(g_obj_ABS_Bolsa.NOMBRELISTADO_ALMACENARCONFIGURACION()))
{
g_mdl_INTERNO_ConfiguracionPantalla_Modelo = Variables.G_DCT_CONFIGURACIONPANTALLA[g_obj_ABS_Bolsa.NOMBRELISTADO_ALMACENARCONFIGURACION()];
}
}
if (g_obj_ABS_Bolsa.DATOS_OPCION() != null)
{
g_mdl_INTERNO_OpcionesDetalle_Modelo = g_obj_ABS_Bolsa.DATOS_OPCION();
P_Base_TituloPantalla = g_mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloListado;
}
//Crear las Columnas del listado
CrearColumnas_Listado();
//Poner el tipo de orden si lo hubiera por defecto ######################################
if (g_mdl_INTERNO_ConfiguracionPantalla_Modelo != null &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_ORDEN_DIRECCION_PORDEFECTO != null &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_ORDEN_DIRECCION_PORDEFECTO.Trim().Length > 0)
{
//Descendente
if (g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_ORDEN_DIRECCION_PORDEFECTO.Equals("1"))
{
Funciones.Cambiar_Imagen_Boton_Orden(0,ex_btn_P_Bolsa_OrdenListado);
ex_btn_P_Bolsa_OrdenListado.Tag = "1";
}
//Ascendente
else
{
Funciones.Cambiar_Imagen_Boton_Orden(1, ex_btn_P_Bolsa_OrdenListado);
ex_btn_P_Bolsa_OrdenListado.Tag = "0";
}
}
else
{
if (g_obj_ABS_Bolsa.ORDENACION_TIPO_PORDEFECTO().Trim().Length > 0)
{
//Descendente
if (g_obj_ABS_Bolsa.ORDENACION_TIPO_PORDEFECTO().Equals("1"))
{
Funciones.Cambiar_Imagen_Boton_Orden(0, ex_btn_P_Bolsa_OrdenListado);
ex_btn_P_Bolsa_OrdenListado.Tag = "1";
}
//Ascendente
else
{
Funciones.Cambiar_Imagen_Boton_Orden(1, ex_btn_P_Bolsa_OrdenListado);
ex_btn_P_Bolsa_OrdenListado.Tag = "0";
}
}
}
//########################################################################################
//Seleccionar Orden por Defecto en Combo #################################################
if (g_mdl_INTERNO_ConfiguracionPantalla_Modelo != null &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_ORDEN_COLUMNA_PORDEFECTO != null &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_ORDEN_COLUMNA_PORDEFECTO.Trim().Length > 0)
{
ex_cbo_P_Bolsa_OrdenListado.SelectedItem = ex_cbo_P_Bolsa_OrdenListado.Items.Cast<INTERNO_ComboBox_Modelo>().Where(m => m.Descripcion.Equals(g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_ORDEN_COLUMNA_PORDEFECTO)).FirstOrDefault();
}
else
{
if (g_obj_ABS_Bolsa.ORDENACION_NOMBRECOLUMNA_PORDEFECTO().Trim().Length > 0)
{
ex_cbo_P_Bolsa_OrdenListado.SelectedItem = ex_cbo_P_Bolsa_OrdenListado.Items.Cast<INTERNO_ComboBox_Modelo>().Where(m => m.Identificador.Equals(g_obj_ABS_Bolsa.ORDENACION_NOMBRECOLUMNA_PORDEFECTO())).FirstOrDefault();
}
else
{
ex_cbo_P_Bolsa_OrdenListado.SelectedItem = ex_cbo_P_Bolsa_OrdenListado.Items.Cast<INTERNO_ComboBox_Modelo>().FirstOrDefault();
}
}
//########################################################################################
//Botones Auxiliar 1
if (_obj_ABS_Bolsa.BOTONAUXILIAR_1() != null && _obj_ABS_Bolsa.BOTONAUXILIAR_1().Boton_Visible)
{
ex_btn_P_Bolsa_Auxiliar_1.Visible = true;
ex_btn_P_Bolsa_Auxiliar_1.Exferia_Button_Imagen = _obj_ABS_Bolsa.BOTONAUXILIAR_1().Boton_Imagen;
Imagenes.Asignar_Imagen(ex_btn_P_Bolsa_Auxiliar_1);
ex_btn_P_Bolsa_Auxiliar_1.Exferia_Button_ToolTip = _obj_ABS_Bolsa.BOTONAUXILIAR_1().Boton_Nombre;
ex_btn_P_Bolsa_Auxiliar_1.Click += new EventHandler(this.Exferia_Boton_P_Bolsa_Auxiliar_1_Click);
}
//Botones Auxiliar 2
if (_obj_ABS_Bolsa.BOTONAUXILIAR_2() != null && _obj_ABS_Bolsa.BOTONAUXILIAR_2().Boton_Visible)
{
ex_btn_P_Bolsa_Auxiliar_2.Visible = true;
ex_btn_P_Bolsa_Auxiliar_2.Exferia_Button_Imagen = _obj_ABS_Bolsa.BOTONAUXILIAR_2().Boton_Imagen;
Imagenes.Asignar_Imagen(ex_btn_P_Bolsa_Auxiliar_2);
ex_btn_P_Bolsa_Auxiliar_2.Exferia_Button_ToolTip = _obj_ABS_Bolsa.BOTONAUXILIAR_2().Boton_Nombre;
ex_btn_P_Bolsa_Auxiliar_2.Click += new EventHandler(this.Exferia_Boton_P_Bolsa_Auxiliar_2_Click);
}
//Botones Auxiliar 3
if (_obj_ABS_Bolsa.BOTONAUXILIAR_3() != null && _obj_ABS_Bolsa.BOTONAUXILIAR_3().Boton_Visible)
{
ex_btn_P_Bolsa_Auxiliar_3.Visible = true;
ex_btn_P_Bolsa_Auxiliar_3.Exferia_Button_Imagen = _obj_ABS_Bolsa.BOTONAUXILIAR_3().Boton_Imagen;
Imagenes.Asignar_Imagen(ex_btn_P_Bolsa_Auxiliar_3);
ex_btn_P_Bolsa_Auxiliar_3.Exferia_Button_ToolTip = _obj_ABS_Bolsa.BOTONAUXILIAR_3().Boton_Nombre;
ex_btn_P_Bolsa_Auxiliar_3.Click += new EventHandler(this.Exferia_Boton_P_Bolsa_Auxiliar_3_Click);
}
//Botones Auxiliar 4
if (_obj_ABS_Bolsa.BOTONAUXILIAR_4() != null && _obj_ABS_Bolsa.BOTONAUXILIAR_4().Boton_Visible)
{
ex_btn_P_Bolsa_Auxiliar_4.Visible = true;
ex_btn_P_Bolsa_Auxiliar_4.Exferia_Button_Imagen = _obj_ABS_Bolsa.BOTONAUXILIAR_4().Boton_Imagen;
Imagenes.Asignar_Imagen(ex_btn_P_Bolsa_Auxiliar_4);
ex_btn_P_Bolsa_Auxiliar_4.Exferia_Button_ToolTip = _obj_ABS_Bolsa.BOTONAUXILIAR_4().Boton_Nombre;
ex_btn_P_Bolsa_Auxiliar_4.Click += new EventHandler(this.Exferia_Boton_P_Bolsa_Auxiliar_4_Click);
}
//Botones Auxiliar 5
if (_obj_ABS_Bolsa.BOTONAUXILIAR_5() != null && _obj_ABS_Bolsa.BOTONAUXILIAR_5().Boton_Visible)
{
ex_btn_P_Bolsa_Auxiliar_5.Visible = true;
ex_btn_P_Bolsa_Auxiliar_5.Exferia_Button_Imagen = _obj_ABS_Bolsa.BOTONAUXILIAR_5().Boton_Imagen;
Imagenes.Asignar_Imagen(ex_btn_P_Bolsa_Auxiliar_5);
ex_btn_P_Bolsa_Auxiliar_5.Exferia_Button_ToolTip = _obj_ABS_Bolsa.BOTONAUXILIAR_5().Boton_Nombre;
ex_btn_P_Bolsa_Auxiliar_5.Click += new EventHandler(this.Exferia_Boton_P_Bolsa_Auxiliar_5_Click);
}
//Botones Auxiliar 6
if (_obj_ABS_Bolsa.BOTONAUXILIAR_6() != null && _obj_ABS_Bolsa.BOTONAUXILIAR_6().Boton_Visible)
{
ex_btn_P_Bolsa_Auxiliar_6.Visible = true;
ex_btn_P_Bolsa_Auxiliar_6.Exferia_Button_Imagen = _obj_ABS_Bolsa.BOTONAUXILIAR_6().Boton_Imagen;
Imagenes.Asignar_Imagen(ex_btn_P_Bolsa_Auxiliar_6);
ex_btn_P_Bolsa_Auxiliar_6.Exferia_Button_ToolTip = _obj_ABS_Bolsa.BOTONAUXILIAR_6().Boton_Nombre;
ex_btn_P_Bolsa_Auxiliar_6.Click += new EventHandler(this.Exferia_Boton_P_Bolsa_Auxiliar_6_Click);
}
//Botones Auxiliar 7
if (_obj_ABS_Bolsa.BOTONAUXILIAR_7() != null && _obj_ABS_Bolsa.BOTONAUXILIAR_7().Boton_Visible)
{
ex_btn_P_Bolsa_Auxiliar_7.Visible = true;
ex_btn_P_Bolsa_Auxiliar_7.Exferia_Button_Imagen = _obj_ABS_Bolsa.BOTONAUXILIAR_7().Boton_Imagen;
Imagenes.Asignar_Imagen(ex_btn_P_Bolsa_Auxiliar_7);
ex_btn_P_Bolsa_Auxiliar_7.Exferia_Button_ToolTip = _obj_ABS_Bolsa.BOTONAUXILIAR_7().Boton_Nombre;
ex_btn_P_Bolsa_Auxiliar_7.Click += new EventHandler(this.Exferia_Boton_P_Bolsa_Auxiliar_7_Click);
}
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(false);
}
#endregion
private void P_Bolsa_Shown(object sender, EventArgs e)
{
try
{
//Rellenar el Listado
g_obj_Controladora.Recargar_Listado();
}
catch (Exception)
{ }
}
#region Carga Datos Iniciales
private void CrearColumnas_Listado()
{
ex_dgv_Listado.AutoGenerateColumns = false;
foreach (INTERNO_ABS_Listado_ColumnasDatos_Modelo mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo in g_obj_ABS_Bolsa.LISTADO_COLUMNAS().Values)
{
DataGridViewTextBoxColumn dgv_Columna = new DataGridViewTextBoxColumn();
dgv_Columna.DataPropertyName = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna;
dgv_Columna.Name = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna;
dgv_Columna.HeaderText = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_AMostrar;
//Poner visible o no .........................................................................
bool bol_Visible = true;
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Oculto)
{
bol_Visible = false;
}
else if (g_mdl_INTERNO_ConfiguracionPantalla_Modelo != null &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNASAMOSTRAR != null &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNASAMOSTRAR.Count > 0)
{
if (!g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNASAMOSTRAR.Contains(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna))
{
bol_Visible = false;
}
}
else if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Mostrado_PorDefecto == false)
{
bol_Visible = false;
}
dgv_Columna.Visible = bol_Visible;
if (bol_Visible)
{
g_obj_Controladora.g_lst_ColumnasAMostrar.Add(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna);
}
//.....................................................................................................
//Tipo de Formateo si fuera Fecha
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.DATETIME))
{
dgv_Columna.DefaultCellStyle.Format = "d";
}
//Poner Ancho Columna ................................................................................
if (g_mdl_INTERNO_ConfiguracionPantalla_Modelo != null &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ANCHO != null &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ANCHO.Count > 0 &&
g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ANCHO.ContainsKey(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna))
{
dgv_Columna.Width = g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ANCHO[mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna];
}
else
{
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Ancho > 0)
{
dgv_Columna.Width = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Ancho;
}
}
//................................................................................................................
dgv_Columna.ReadOnly = true;
//Poner alineado segun tipo de datos ......................................................................................
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.DECIMAL) ||
mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.LONG) ||
mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.INT))
{
dgv_Columna.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
}
else
{
dgv_Columna.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
}
//..............................................................................................................................
ex_dgv_Listado.Columns.Add(dgv_Columna);
//RELLENAR EL ORDEN EN COMBO
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Oculto == false)
{
ex_cbo_P_Bolsa_OrdenListado.Items.Add(new INTERNO_ComboBox_Modelo(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna, mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_AMostrar, null));
}
}
//Cambiar el orden de las columnas ........
if (g_mdl_INTERNO_ConfiguracionPantalla_Modelo != null && g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ORDEN != null && g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ORDEN.Count > 0)
{
foreach (KeyValuePair<string, int> kvp_Valores in g_mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ORDEN)
{
ex_dgv_Listado.Columns[kvp_Valores.Key].DisplayIndex = kvp_Valores.Value;
}
}
//.........................................
}
#endregion
#region Orden
private void ex_btn_P_Bolsa_OrdenListado_Click(object sender, EventArgs e)
{
//Esta Descedente
if (ex_btn_P_Bolsa_OrdenListado.Tag.ToString().Equals("1"))
{
Funciones.Cambiar_Imagen_Boton_Orden(1, ex_btn_P_Bolsa_OrdenListado);
}
//Esta Ascendente
else
{
Funciones.Cambiar_Imagen_Boton_Orden(0, ex_btn_P_Bolsa_OrdenListado);
}
//Ordena el Listado
Ordenar_DataGridView();
}
private void ex_cbo_P_Bolsa_OrdenListado_SelectedIndexChanged(object sender, EventArgs e)
{
//Ordena el Listado
Ordenar_DataGridView();
}
private void Ordenar_DataGridView()
{
try
{
if (ex_dgv_Listado.Rows.Count > 0)
{
//Saber el Tipo de Ordenacion .................................
ListSortDirection obj_ListSortDirection = ListSortDirection.Ascending;
if (ex_btn_P_Bolsa_OrdenListado.Tag.ToString().Equals("1"))
{
obj_ListSortDirection = ListSortDirection.Descending;
}
//..............................................................
if (ex_cbo_P_Bolsa_OrdenListado.SelectedItem != null && ((INTERNO_ComboBox_Modelo)ex_cbo_P_Bolsa_OrdenListado.SelectedItem).Identificador.Trim().Length > 0)
{
ex_dgv_Listado.Sort(ex_dgv_Listado.Columns[((INTERNO_ComboBox_Modelo)ex_cbo_P_Bolsa_OrdenListado.SelectedItem).Identificador], obj_ListSortDirection);
//Ordenar el Listado ##################
//Descendente
if (ex_btn_P_Bolsa_OrdenListado.Tag.ToString().Equals("1"))
{
g_obj_Controladora.g_lst_Valores = g_obj_Controladora.g_lst_Valores.OrderByDescending(m => m.GetType().GetProperty(((INTERNO_ComboBox_Modelo)ex_cbo_P_Bolsa_OrdenListado.SelectedItem).Identificador).GetValue(m, null)).ToList();
}
//Ascendente
else
{
g_obj_Controladora.g_lst_Valores = g_obj_Controladora.g_lst_Valores.OrderBy(m => m.GetType().GetProperty(((INTERNO_ComboBox_Modelo)ex_cbo_P_Bolsa_OrdenListado.SelectedItem).Identificador).GetValue(m, null)).ToList();
}
}
else
{
ex_dgv_Listado.Sort(ex_dgv_Listado.Columns[g_obj_ABS_Bolsa.ORDENACION_NOMBRECOLUMNA_PORDEFECTO()], obj_ListSortDirection);
//Descendente
if (ex_btn_P_Bolsa_OrdenListado.Tag.ToString().Equals("1"))
{
g_obj_Controladora.g_lst_Valores = g_obj_Controladora.g_lst_Valores.OrderByDescending(m => m.GetType().GetProperty(g_obj_ABS_Bolsa.ORDENACION_NOMBRECOLUMNA_PORDEFECTO()).GetValue(m, null)).ToList();
}
//Ascendente
else
{
g_obj_Controladora.g_lst_Valores = g_obj_Controladora.g_lst_Valores.OrderBy(m => m.GetType().GetProperty(g_obj_ABS_Bolsa.ORDENACION_NOMBRECOLUMNA_PORDEFECTO()).GetValue(m, null)).ToList();
}
}
string str_NombreCampoClave = "id";
INTERNO_ABS_Listado_ColumnasDatos_Modelo mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo = g_obj_ABS_Bolsa.LISTADO_COLUMNAS().Values.Where(m => m.ColumnaClave).FirstOrDefault();
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo != null)
{
str_NombreCampoClave = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna;
}
///m.GetType().GetProperty(str_NombreCampoClave).GetValue(m, null)
P_Base_Objetos_Filtrados = g_obj_Controladora.g_lst_Valores.Select(m => new INTERNO_Listado_CamposClave_Modelo { ID = m.GetType().GetProperty(str_NombreCampoClave).GetValue(m) }).ToList();
//...........................................................................................................
//Seleccionar la primera
ex_dgv_Listado.ClearSelection();
ex_dgv_Listado.Rows[0].Selected = true;
}
}
catch (Exception)
{ }
}
#endregion
#region Botones Auxiliares
private void Exferia_Boton_P_Bolsa_Auxiliar_1_Click(object sender, EventArgs e)
{
Boton_Auxiliar_1();
}
private void Boton_Auxiliar_1()
{
try
{
if (Datos_Generales.Permisos_Comprobar(g_obj_ABS_Bolsa.BOTONAUXILIAR_1().Opcion_Principal, g_lst_INTERNO_Permisos_Modelo, (int)g_obj_ABS_Bolsa.BOTONAUXILIAR_1().TipoPermiso, true))
{
Dictionary<string, object> dct_ListadoFiltros_Agregados = new Dictionary<string, object>();
PE_Listados_Filtros frm_PE_Listados_Filtros = new PE_Listados_Filtros(g_obj_ABS_Bolsa, ex_dgv_Listado.Columns, dct_ListadoFiltros_Agregados);
frm_PE_Listados_Filtros.ShowDialog();
if (frm_PE_Listados_Filtros.g_bol_BotonAceptar)
{
//Mostrar/Ocultar las Columnas que no esten en el Listado ############################################
g_obj_Controladora.g_lst_ColumnasAMostrar = frm_PE_Listados_Filtros.g_lst_ColumnasAMostrar;
bool bol_Cambio_MostraroOcultar_Columnas = false;
foreach (DataGridViewColumn dgvc_ColumnasActuales in ex_dgv_Listado.Columns)
{
//Mostrar
if (g_obj_Controladora.g_lst_ColumnasAMostrar.Contains(dgvc_ColumnasActuales.Name))
{
if (!dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = true;
}
//Ocultar
else
{
if (dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = false;
}
}
//######################################################################################################
//Rellenar los bolsa con los filtros hechos #############################################################################################################################
dct_ListadoFiltros_Agregados = frm_PE_Listados_Filtros.g_dct_ListadoFiltros.ToDictionary(entry => entry.Key, entry => entry.Value);
//Si no cambio ninguna columna (mostrar/Ocultar) y no hay filtros, se cargar los filtros avanzados
//Si no cambio ninguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y no hay filtros, no se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
if (bol_Cambio_MostraroOcultar_Columnas && (dct_ListadoFiltros_Agregados == null || dct_ListadoFiltros_Agregados.Count == 0))
{
if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
else
{
//Ejecutar procedimiento Asociado
string str_NombreLibreria = g_obj_ABS_Bolsa.BOTONAUXILIAR_1().Nombre_Libreria;
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(str_NombreLibreria + "." + g_obj_ABS_Bolsa.BOTONAUXILIAR_1().Nombre_Clase);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_FILTRAR_REGISTROS_PARA_BOLSA, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
g_obj_ABS_Bolsa.BOTONAUXILIAR_1().Opcion_Secundaria,
P_Base_ValoresGenerales.lng_idEmpresa,
P_Base_ValoresGenerales.EjercicioActivo.id,
g_obj_Controladora.g_lst_ColumnasAMostrar,
dct_ListadoFiltros_Agregados
};
//Pasamos los parametros al metodo y lo ejecutamos
List<long> lst_id_Agregar = (List<long>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
//########################################################################################################################################################################
if (lst_id_Agregar != null && lst_id_Agregar.Count > 0)
{
List<dynamic> lst_id_AgregarFInal = lst_id_Agregar.Cast<dynamic>().ToList();
//creamos la instancia
var obj_Clase2 = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo2 = obj_Clase2.GetType().GetMethod(g_obj_ABS_Bolsa.BOTONAUXILIAR_1().Nombre_Procedimiento, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros2 = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
this,
Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO,
Variables.G_DTT_FECHA_INICIAL_PORDEFECTO,
lst_id_AgregarFInal
};
//Pasamos los parametros al metodo y lo ejecutamos
obj_MethodInfo2.Invoke(obj_Clase2, arr_Parametros2);
}
else if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
}
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_Bolsa) + "/" + nameof(Exferia_Boton_P_Bolsa_Auxiliar_1_Click));
}
}
private void Exferia_Boton_P_Bolsa_Auxiliar_2_Click(object sender, EventArgs e)
{
Boton_Auxiliar_2();
}
private void Boton_Auxiliar_2()
{
try
{
if (Datos_Generales.Permisos_Comprobar(g_obj_ABS_Bolsa.BOTONAUXILIAR_2().Opcion_Principal, g_lst_INTERNO_Permisos_Modelo, (int)g_obj_ABS_Bolsa.BOTONAUXILIAR_2().TipoPermiso, true))
{
Dictionary<string, object> dct_ListadoFiltros_Agregados = new Dictionary<string, object>();
PE_Listados_Filtros frm_PE_Listados_Filtros = new PE_Listados_Filtros(g_obj_ABS_Bolsa, ex_dgv_Listado.Columns, dct_ListadoFiltros_Agregados);
frm_PE_Listados_Filtros.ShowDialog();
if (frm_PE_Listados_Filtros.g_bol_BotonAceptar)
{
//Mostrar/Ocultar las Columnas que no esten en el Listado ############################################
g_obj_Controladora.g_lst_ColumnasAMostrar = frm_PE_Listados_Filtros.g_lst_ColumnasAMostrar;
bool bol_Cambio_MostraroOcultar_Columnas = false;
foreach (DataGridViewColumn dgvc_ColumnasActuales in ex_dgv_Listado.Columns)
{
//Mostrar
if (g_obj_Controladora.g_lst_ColumnasAMostrar.Contains(dgvc_ColumnasActuales.Name))
{
if (!dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = true;
}
//Ocultar
else
{
if (dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = false;
}
}
//######################################################################################################
//Rellenar los bolsa con los filtros hechos #############################################################################################################################
dct_ListadoFiltros_Agregados = frm_PE_Listados_Filtros.g_dct_ListadoFiltros.ToDictionary(entry => entry.Key, entry => entry.Value);
//Si no cambio ninguna columna (mostrar/Ocultar) y no hay filtros, se cargar los filtros avanzados
//Si no cambio ninguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y no hay filtros, no se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
if (bol_Cambio_MostraroOcultar_Columnas && (dct_ListadoFiltros_Agregados == null || dct_ListadoFiltros_Agregados.Count == 0))
{
if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
else
{
//Ejecutar procedimiento Asociado
string str_NombreLibreria = g_obj_ABS_Bolsa.BOTONAUXILIAR_2().Nombre_Libreria;
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(str_NombreLibreria + "." + g_obj_ABS_Bolsa.BOTONAUXILIAR_2().Nombre_Clase);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_FILTRAR_REGISTROS_PARA_BOLSA, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
g_obj_ABS_Bolsa.BOTONAUXILIAR_2().Opcion_Secundaria,
P_Base_ValoresGenerales.lng_idEmpresa,
P_Base_ValoresGenerales.EjercicioActivo.id,
g_obj_Controladora.g_lst_ColumnasAMostrar,
dct_ListadoFiltros_Agregados
};
//Pasamos los parametros al metodo y lo ejecutamos
List<long> lst_id_Agregar = (List<long>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
//########################################################################################################################################################################
if (lst_id_Agregar != null && lst_id_Agregar.Count > 0)
{
List<dynamic> lst_id_AgregarFInal = lst_id_Agregar.Cast<dynamic>().ToList();
//creamos la instancia
var obj_Clase2 = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo2 = obj_Clase2.GetType().GetMethod(g_obj_ABS_Bolsa.BOTONAUXILIAR_2().Nombre_Procedimiento, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros2 = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
this,
Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO,
Variables.G_DTT_FECHA_INICIAL_PORDEFECTO,
lst_id_AgregarFInal
};
//Pasamos los parametros al metodo y lo ejecutamos
obj_MethodInfo2.Invoke(obj_Clase2, arr_Parametros2);
}
else if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
}
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_Bolsa) + "/" + nameof(Exferia_Boton_P_Bolsa_Auxiliar_2_Click));
}
}
private void Exferia_Boton_P_Bolsa_Auxiliar_3_Click(object sender, EventArgs e)
{
Boton_Auxiliar_3();
}
private void Boton_Auxiliar_3()
{
try
{
if (Datos_Generales.Permisos_Comprobar(g_obj_ABS_Bolsa.BOTONAUXILIAR_3().Opcion_Principal, g_lst_INTERNO_Permisos_Modelo, (int)g_obj_ABS_Bolsa.BOTONAUXILIAR_3().TipoPermiso, true))
{
Dictionary<string, object> dct_ListadoFiltros_Agregados = new Dictionary<string, object>();
PE_Listados_Filtros frm_PE_Listados_Filtros = new PE_Listados_Filtros(g_obj_ABS_Bolsa, ex_dgv_Listado.Columns, dct_ListadoFiltros_Agregados);
frm_PE_Listados_Filtros.ShowDialog();
if (frm_PE_Listados_Filtros.g_bol_BotonAceptar)
{
//Mostrar/Ocultar las Columnas que no esten en el Listado ############################################
g_obj_Controladora.g_lst_ColumnasAMostrar = frm_PE_Listados_Filtros.g_lst_ColumnasAMostrar;
bool bol_Cambio_MostraroOcultar_Columnas = false;
foreach (DataGridViewColumn dgvc_ColumnasActuales in ex_dgv_Listado.Columns)
{
//Mostrar
if (g_obj_Controladora.g_lst_ColumnasAMostrar.Contains(dgvc_ColumnasActuales.Name))
{
if (!dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = true;
}
//Ocultar
else
{
if (dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = false;
}
}
//######################################################################################################
//Rellenar los bolsa con los filtros hechos #############################################################################################################################
dct_ListadoFiltros_Agregados = frm_PE_Listados_Filtros.g_dct_ListadoFiltros.ToDictionary(entry => entry.Key, entry => entry.Value);
//Si no cambio ninguna columna (mostrar/Ocultar) y no hay filtros, se cargar los filtros avanzados
//Si no cambio ninguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y no hay filtros, no se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
if (bol_Cambio_MostraroOcultar_Columnas && (dct_ListadoFiltros_Agregados == null || dct_ListadoFiltros_Agregados.Count == 0))
{
if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
else
{
//Ejecutar procedimiento Asociado
string str_NombreLibreria = g_obj_ABS_Bolsa.BOTONAUXILIAR_3().Nombre_Libreria;
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(str_NombreLibreria + "." + g_obj_ABS_Bolsa.BOTONAUXILIAR_3().Nombre_Clase);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_FILTRAR_REGISTROS_PARA_BOLSA, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
g_obj_ABS_Bolsa.BOTONAUXILIAR_3().Opcion_Secundaria,
P_Base_ValoresGenerales.lng_idEmpresa,
P_Base_ValoresGenerales.EjercicioActivo.id,
g_obj_Controladora.g_lst_ColumnasAMostrar,
dct_ListadoFiltros_Agregados
};
//Pasamos los parametros al metodo y lo ejecutamos
List<long> lst_id_Agregar = (List<long>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
//########################################################################################################################################################################
if (lst_id_Agregar != null && lst_id_Agregar.Count > 0)
{
//creamos la instancia
var obj_Clase2 = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo2 = obj_Clase2.GetType().GetMethod(g_obj_ABS_Bolsa.BOTONAUXILIAR_3().Nombre_Procedimiento, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros2 = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
this,
Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO,
Variables.G_DTT_FECHA_INICIAL_PORDEFECTO,
lst_id_Agregar
};
//Pasamos los parametros al metodo y lo ejecutamos
obj_MethodInfo2.Invoke(obj_Clase2, arr_Parametros2);
}
else if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
}
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_Bolsa) + "/" + nameof(Exferia_Boton_P_Bolsa_Auxiliar_3_Click));
}
}
private void Exferia_Boton_P_Bolsa_Auxiliar_4_Click(object sender, EventArgs e)
{
Boton_Auxiliar_4();
}
private void Boton_Auxiliar_4()
{
try
{
if (Datos_Generales.Permisos_Comprobar(g_obj_ABS_Bolsa.BOTONAUXILIAR_4().Opcion_Principal, g_lst_INTERNO_Permisos_Modelo, (int)g_obj_ABS_Bolsa.BOTONAUXILIAR_4().TipoPermiso, true))
{
Dictionary<string, object> dct_ListadoFiltros_Agregados = new Dictionary<string, object>();
PE_Listados_Filtros frm_PE_Listados_Filtros = new PE_Listados_Filtros(g_obj_ABS_Bolsa, ex_dgv_Listado.Columns, dct_ListadoFiltros_Agregados);
frm_PE_Listados_Filtros.ShowDialog();
if (frm_PE_Listados_Filtros.g_bol_BotonAceptar)
{
//Mostrar/Ocultar las Columnas que no esten en el Listado ############################################
g_obj_Controladora.g_lst_ColumnasAMostrar = frm_PE_Listados_Filtros.g_lst_ColumnasAMostrar;
bool bol_Cambio_MostraroOcultar_Columnas = false;
foreach (DataGridViewColumn dgvc_ColumnasActuales in ex_dgv_Listado.Columns)
{
//Mostrar
if (g_obj_Controladora.g_lst_ColumnasAMostrar.Contains(dgvc_ColumnasActuales.Name))
{
if (!dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = true;
}
//Ocultar
else
{
if (dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = false;
}
}
//######################################################################################################
//Rellenar los bolsa con los filtros hechos #############################################################################################################################
dct_ListadoFiltros_Agregados = frm_PE_Listados_Filtros.g_dct_ListadoFiltros.ToDictionary(entry => entry.Key, entry => entry.Value);
//Si no cambio ninguna columna (mostrar/Ocultar) y no hay filtros, se cargar los filtros avanzados
//Si no cambio ninguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y no hay filtros, no se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
if (bol_Cambio_MostraroOcultar_Columnas && (dct_ListadoFiltros_Agregados == null || dct_ListadoFiltros_Agregados.Count == 0))
{
if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
else
{
//Ejecutar procedimiento Asociado
string str_NombreLibreria = g_obj_ABS_Bolsa.BOTONAUXILIAR_4().Nombre_Libreria;
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(str_NombreLibreria + "." + g_obj_ABS_Bolsa.BOTONAUXILIAR_4().Nombre_Clase);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_FILTRAR_REGISTROS_PARA_BOLSA, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
g_obj_ABS_Bolsa.BOTONAUXILIAR_4().Opcion_Secundaria,
P_Base_ValoresGenerales.lng_idEmpresa,
P_Base_ValoresGenerales.EjercicioActivo.id,
g_obj_Controladora.g_lst_ColumnasAMostrar,
dct_ListadoFiltros_Agregados
};
//Pasamos los parametros al metodo y lo ejecutamos
List<long> lst_id_Agregar = (List<long>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
//########################################################################################################################################################################
if (lst_id_Agregar != null && lst_id_Agregar.Count > 0)
{
//creamos la instancia
var obj_Clase2 = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo2 = obj_Clase2.GetType().GetMethod(g_obj_ABS_Bolsa.BOTONAUXILIAR_4().Nombre_Procedimiento, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros2 = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
this,
Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO,
Variables.G_DTT_FECHA_INICIAL_PORDEFECTO,
lst_id_Agregar
};
//Pasamos los parametros al metodo y lo ejecutamos
obj_MethodInfo2.Invoke(obj_Clase2, arr_Parametros2);
}
else if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
}
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_Bolsa) + "/" + nameof(Exferia_Boton_P_Bolsa_Auxiliar_4_Click));
}
}
private void Exferia_Boton_P_Bolsa_Auxiliar_5_Click(object sender, EventArgs e)
{
Boton_Auxiliar_5();
}
private void Boton_Auxiliar_5()
{
try
{
if (Datos_Generales.Permisos_Comprobar(g_obj_ABS_Bolsa.BOTONAUXILIAR_5().Opcion_Principal, g_lst_INTERNO_Permisos_Modelo, (int)g_obj_ABS_Bolsa.BOTONAUXILIAR_5().TipoPermiso, true))
{
Dictionary<string, object> dct_ListadoFiltros_Agregados = new Dictionary<string, object>();
PE_Listados_Filtros frm_PE_Listados_Filtros = new PE_Listados_Filtros(g_obj_ABS_Bolsa, ex_dgv_Listado.Columns, dct_ListadoFiltros_Agregados);
frm_PE_Listados_Filtros.ShowDialog();
if (frm_PE_Listados_Filtros.g_bol_BotonAceptar)
{
//Mostrar/Ocultar las Columnas que no esten en el Listado ############################################
g_obj_Controladora.g_lst_ColumnasAMostrar = frm_PE_Listados_Filtros.g_lst_ColumnasAMostrar;
bool bol_Cambio_MostraroOcultar_Columnas = false;
foreach (DataGridViewColumn dgvc_ColumnasActuales in ex_dgv_Listado.Columns)
{
//Mostrar
if (g_obj_Controladora.g_lst_ColumnasAMostrar.Contains(dgvc_ColumnasActuales.Name))
{
if (!dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = true;
}
//Ocultar
else
{
if (dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = false;
}
}
//######################################################################################################
//Rellenar los bolsa con los filtros hechos #############################################################################################################################
dct_ListadoFiltros_Agregados = frm_PE_Listados_Filtros.g_dct_ListadoFiltros.ToDictionary(entry => entry.Key, entry => entry.Value);
//Si no cambio ninguna columna (mostrar/Ocultar) y no hay filtros, se cargar los filtros avanzados
//Si no cambio ninguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y no hay filtros, no se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
if (bol_Cambio_MostraroOcultar_Columnas && (dct_ListadoFiltros_Agregados == null || dct_ListadoFiltros_Agregados.Count == 0))
{
if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
else
{
//Ejecutar procedimiento Asociado
string str_NombreLibreria = g_obj_ABS_Bolsa.BOTONAUXILIAR_5().Nombre_Libreria;
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(str_NombreLibreria + "." + g_obj_ABS_Bolsa.BOTONAUXILIAR_5().Nombre_Clase);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_FILTRAR_REGISTROS_PARA_BOLSA, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
g_obj_ABS_Bolsa.BOTONAUXILIAR_5().Opcion_Secundaria,
P_Base_ValoresGenerales.lng_idEmpresa,
P_Base_ValoresGenerales.EjercicioActivo.id,
g_obj_Controladora.g_lst_ColumnasAMostrar,
dct_ListadoFiltros_Agregados
};
//Pasamos los parametros al metodo y lo ejecutamos
List<long> lst_id_Agregar = (List<long>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
//########################################################################################################################################################################
if (lst_id_Agregar != null && lst_id_Agregar.Count > 0)
{
//creamos la instancia
var obj_Clase2 = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo2 = obj_Clase2.GetType().GetMethod(g_obj_ABS_Bolsa.BOTONAUXILIAR_5().Nombre_Procedimiento, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros2 = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
this,
Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO,
Variables.G_DTT_FECHA_INICIAL_PORDEFECTO,
lst_id_Agregar
};
//Pasamos los parametros al metodo y lo ejecutamos
obj_MethodInfo2.Invoke(obj_Clase2, arr_Parametros2);
}
else if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
}
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_Bolsa) + "/" + nameof(Exferia_Boton_P_Bolsa_Auxiliar_5_Click));
}
}
private void Exferia_Boton_P_Bolsa_Auxiliar_6_Click(object sender, EventArgs e)
{
Boton_Auxiliar_6();
}
private void Boton_Auxiliar_6()
{
try
{
if (Datos_Generales.Permisos_Comprobar(g_obj_ABS_Bolsa.BOTONAUXILIAR_6().Opcion_Principal, g_lst_INTERNO_Permisos_Modelo, (int)g_obj_ABS_Bolsa.BOTONAUXILIAR_6().TipoPermiso, true))
{
Dictionary<string, object> dct_ListadoFiltros_Agregados = new Dictionary<string, object>();
PE_Listados_Filtros frm_PE_Listados_Filtros = new PE_Listados_Filtros(g_obj_ABS_Bolsa, ex_dgv_Listado.Columns, dct_ListadoFiltros_Agregados);
frm_PE_Listados_Filtros.ShowDialog();
if (frm_PE_Listados_Filtros.g_bol_BotonAceptar)
{
//Mostrar/Ocultar las Columnas que no esten en el Listado ############################################
g_obj_Controladora.g_lst_ColumnasAMostrar = frm_PE_Listados_Filtros.g_lst_ColumnasAMostrar;
bool bol_Cambio_MostraroOcultar_Columnas = false;
foreach (DataGridViewColumn dgvc_ColumnasActuales in ex_dgv_Listado.Columns)
{
//Mostrar
if (g_obj_Controladora.g_lst_ColumnasAMostrar.Contains(dgvc_ColumnasActuales.Name))
{
if (!dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = true;
}
//Ocultar
else
{
if (dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = false;
}
}
//######################################################################################################
//Rellenar los bolsa con los filtros hechos #############################################################################################################################
dct_ListadoFiltros_Agregados = frm_PE_Listados_Filtros.g_dct_ListadoFiltros.ToDictionary(entry => entry.Key, entry => entry.Value);
//Si no cambio ninguna columna (mostrar/Ocultar) y no hay filtros, se cargar los filtros avanzados
//Si no cambio ninguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y no hay filtros, no se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
if (bol_Cambio_MostraroOcultar_Columnas && (dct_ListadoFiltros_Agregados == null || dct_ListadoFiltros_Agregados.Count == 0))
{
if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
else
{
//Ejecutar procedimiento Asociado
string str_NombreLibreria = g_obj_ABS_Bolsa.BOTONAUXILIAR_6().Nombre_Libreria;
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(str_NombreLibreria + "." + g_obj_ABS_Bolsa.BOTONAUXILIAR_6().Nombre_Clase);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_FILTRAR_REGISTROS_PARA_BOLSA, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
g_obj_ABS_Bolsa.BOTONAUXILIAR_6().Opcion_Secundaria,
P_Base_ValoresGenerales.lng_idEmpresa,
P_Base_ValoresGenerales.EjercicioActivo.id,
g_obj_Controladora.g_lst_ColumnasAMostrar,
dct_ListadoFiltros_Agregados
};
//Pasamos los parametros al metodo y lo ejecutamos
List<long> lst_id_Agregar = (List<long>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
//########################################################################################################################################################################
if (lst_id_Agregar != null && lst_id_Agregar.Count > 0)
{
//creamos la instancia
var obj_Clase2 = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo2 = obj_Clase2.GetType().GetMethod(g_obj_ABS_Bolsa.BOTONAUXILIAR_6().Nombre_Procedimiento, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros2 = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
this,
Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO,
Variables.G_DTT_FECHA_INICIAL_PORDEFECTO,
lst_id_Agregar
};
//Pasamos los parametros al metodo y lo ejecutamos
obj_MethodInfo2.Invoke(obj_Clase2, arr_Parametros2);
}
else if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
}
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_Bolsa) + "/" + nameof(Exferia_Boton_P_Bolsa_Auxiliar_6_Click));
}
}
private void Exferia_Boton_P_Bolsa_Auxiliar_7_Click(object sender, EventArgs e)
{
Boton_Auxiliar_7();
}
private void Boton_Auxiliar_7()
{
try
{
if (Datos_Generales.Permisos_Comprobar(g_obj_ABS_Bolsa.BOTONAUXILIAR_7().Opcion_Principal, g_lst_INTERNO_Permisos_Modelo, (int)g_obj_ABS_Bolsa.BOTONAUXILIAR_7().TipoPermiso, true))
{
Dictionary<string, object> dct_ListadoFiltros_Agregados = new Dictionary<string, object>();
PE_Listados_Filtros frm_PE_Listados_Filtros = new PE_Listados_Filtros(g_obj_ABS_Bolsa, ex_dgv_Listado.Columns, dct_ListadoFiltros_Agregados);
frm_PE_Listados_Filtros.ShowDialog();
if (frm_PE_Listados_Filtros.g_bol_BotonAceptar)
{
//Mostrar/Ocultar las Columnas que no esten en el Listado ############################################
g_obj_Controladora.g_lst_ColumnasAMostrar = frm_PE_Listados_Filtros.g_lst_ColumnasAMostrar;
bool bol_Cambio_MostraroOcultar_Columnas = false;
foreach (DataGridViewColumn dgvc_ColumnasActuales in ex_dgv_Listado.Columns)
{
//Mostrar
if (g_obj_Controladora.g_lst_ColumnasAMostrar.Contains(dgvc_ColumnasActuales.Name))
{
if (!dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = true;
}
//Ocultar
else
{
if (dgvc_ColumnasActuales.Visible)
{
bol_Cambio_MostraroOcultar_Columnas = true;
}
dgvc_ColumnasActuales.Visible = false;
}
}
//######################################################################################################
//Rellenar los bolsa con los filtros hechos #############################################################################################################################
dct_ListadoFiltros_Agregados = frm_PE_Listados_Filtros.g_dct_ListadoFiltros.ToDictionary(entry => entry.Key, entry => entry.Value);
//Si no cambio ninguna columna (mostrar/Ocultar) y no hay filtros, se cargar los filtros avanzados
//Si no cambio ninguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y no hay filtros, no se cargar los filtros avanzados
//Si cambio alguna columna (mostrar/Ocultar) y hay filtros, se cargar los filtros avanzados
if (bol_Cambio_MostraroOcultar_Columnas && (dct_ListadoFiltros_Agregados == null || dct_ListadoFiltros_Agregados.Count == 0))
{
if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
else
{
//Ejecutar procedimiento Asociado
string str_NombreLibreria = g_obj_ABS_Bolsa.BOTONAUXILIAR_7().Nombre_Libreria;
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(str_NombreLibreria + "." + g_obj_ABS_Bolsa.BOTONAUXILIAR_7().Nombre_Clase);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_FILTRAR_REGISTROS_PARA_BOLSA, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
g_obj_ABS_Bolsa.BOTONAUXILIAR_7().Opcion_Secundaria,
P_Base_ValoresGenerales.lng_idEmpresa,
P_Base_ValoresGenerales.EjercicioActivo.id,
g_obj_Controladora.g_lst_ColumnasAMostrar,
dct_ListadoFiltros_Agregados
};
//Pasamos los parametros al metodo y lo ejecutamos
List<long> lst_id_Agregar = (List<long>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
//########################################################################################################################################################################
if (lst_id_Agregar != null && lst_id_Agregar.Count > 0)
{
//creamos la instancia
var obj_Clase2 = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo2 = obj_Clase2.GetType().GetMethod(g_obj_ABS_Bolsa.BOTONAUXILIAR_7().Nombre_Procedimiento, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros2 = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
this,
Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO,
Variables.G_DTT_FECHA_INICIAL_PORDEFECTO,
lst_id_Agregar
};
//Pasamos los parametros al metodo y lo ejecutamos
obj_MethodInfo2.Invoke(obj_Clase2, arr_Parametros2);
}
else if (frm_PE_Listados_Filtros.g_bol_RecargarListado)
{
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
}
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_Bolsa) + "/" + nameof(Exferia_Boton_P_Bolsa_Auxiliar_7_Click));
}
}
#endregion
private void ex_btn_P_Bolsa_Borrar_Click(object sender, EventArgs e)
{
Borrar();
}
private void Borrar()
{
if (Datos_Generales.Permisos_Comprobar(g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Borrar, true))
{
//Registro Seleccionados ........................................
List<dynamic> lst_ids = new List<dynamic>();
if (ex_dgv_Listado.Rows.Count > 0)
{
//Buscar el Campo Clave
string str_NombreCampoClave = "id";
INTERNO_ABS_Listado_ColumnasDatos_Modelo mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo = g_obj_ABS_Bolsa.LISTADO_COLUMNAS().Values.Where(m => m.ColumnaClave).FirstOrDefault();
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo != null)
{
str_NombreCampoClave = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna;
}
if (ex_dgv_Listado.SelectedRows != null && ex_dgv_Listado.SelectedRows.Count > 0)
{
foreach (DataGridViewRow dgvr in ex_dgv_Listado.SelectedRows)
{
lst_ids.Add(long.Parse(dgvr.Cells[str_NombreCampoClave].Value.ToString()));
}
}
}
//................................................................
//Ejecutar procedimiento Asociado
string str_NombreLibreria = g_obj_ABS_Bolsa.NOMBRE_LIBRERIA();
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(str_NombreLibreria + "." + Variables.G_STR_LIBRERIA_OPCIONES);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_BORRAR_BOLSA, BindingFlags.Instance | BindingFlags.NonPublic);
object[] arr_Parametros = { g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion,
this,
Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO,
Variables.G_DTT_FECHA_INICIAL_PORDEFECTO,
lst_ids
};
//Pasamos los parametros al metodo y lo ejecutamos
obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
}
#region Eventos y Procedimientos Publicos
public override void P_Base_ActualizarRegistros_Campo(List<INTERNO_ActualizarCampoListadoGeneral_Modelo> _lst_CamposActualizar, G_ENUM_TIPOACCION _enum_TipoAccion)
{
if (_lst_CamposActualizar != null && _lst_CamposActualizar.Count > 0)
{
//Actualizar el Listado Principal
if (P_Base_PantallaOrigen != null)
{
P_Base_PantallaOrigen.P_Base_ActualizarRegistros_Campo(_lst_CamposActualizar, _enum_TipoAccion);
}
//Cargar los Datos desde Base de datos
g_obj_Controladora.Cargar_Datos_Listado(true);
}
}
#endregion
private void ex_btn_P_Bolsa_ExportarExcel_Click(object sender, EventArgs e)
{
Exportar_Excel();
}
private void Exportar_Excel()
{
if (Datos_Generales.Permisos_Comprobar(g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.ExportarAExcel, true))
{
XLWorkbook obj_XLWorkbook = new XLWorkbook();
try
{
//Crea la hoja del Excell
var obj_worksheet = obj_XLWorkbook.Worksheets.Add("Hoja 1");
//Cabecera
int int_Contador = 1;
List<DataGridViewColumn> lst_ColumnasVisibles = ex_dgv_Listado.Columns
.Cast<DataGridViewColumn>()
.Where(r => r.Visible)
.OrderBy(r => r.DisplayIndex)
.ToList();
foreach (DataGridViewColumn dgvc_Columna in lst_ColumnasVisibles)
{
obj_worksheet.Cell(1, int_Contador).Value = dgvc_Columna.HeaderText;
//Formato de color al texto y al fondo
obj_worksheet.Cell(1, int_Contador).Style.Fill.BackgroundColor = XLColor.FromHtml(Funciones.Convertir_Color_Hexadecimal(Colores.G_COLOR_PRINCIPAL_BASE));
obj_worksheet.Cell(1, int_Contador).Style.Font.FontColor = XLColor.FromHtml(Funciones.Convertir_Color_Hexadecimal(Colores.G_COLOR_LISTADO_CABECERA_LETRA));
int_Contador++;
}
//Lineas
int int_Contador_Fila = 0;
int int_Contador_Columna = 0;
if (g_obj_Controladora.g_lst_Valores != null)
{
//Recorrer las Filas
foreach (dynamic dnm_Registro in g_obj_Controladora.g_lst_Valores)
{
//Recorrer Columnas Visibles
foreach (DataGridViewColumn dgvc_Columna in lst_ColumnasVisibles)
{
string str_NombreColumna = dgvc_Columna.Name;
//Buscar el modelo para poder saber que tipo de columna es
INTERNO_ABS_Listado_ColumnasDatos_Modelo mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo = g_obj_ABS_Bolsa.LISTADO_COLUMNAS()[str_NombreColumna];
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo != null)
{
//Tipo fecha
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.DATETIME))
{
DateTime? dtt_Valor = dnm_Registro.GetType().GetProperty(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna).GetValue(dnm_Registro, null);
if (dtt_Valor != null)
{
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).SetValue(dtt_Valor.Value.ToString("dd/MM/yyyy")).Style.DateFormat.SetFormat("dd/mm/yyyy");
}
else
{
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Value = "";
}
}
//Tipo booleano
else if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.BOOLEAN))
{
bool? bol_Valor = dnm_Registro.GetType().GetProperty(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna).GetValue(dnm_Registro, null);
string str_Valor = bol_Valor != null && bol_Valor.Value ? "X" : "";
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).SetValue(str_Valor).SetDataType(XLCellValues.Text);
}
//Tipo decimal
else if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.DECIMAL))
{
decimal? dcm_valor = dnm_Registro.GetType().GetProperty(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna).GetValue(dnm_Registro, null);
string str_Valor = (dcm_valor != null ? dcm_valor.ToString() : "").Replace(",", ".");
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).SetValue(str_Valor).SetDataType(XLCellValues.Number);
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Style.NumberFormat.Format = "0.0#?";
//Alinear los numeros a la derecha
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right;
}
//Tipo long
else if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.LONG))
{
long? lng_valor = dnm_Registro.GetType().GetProperty(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna).GetValue(dnm_Registro, null);
string str_Valor = lng_valor != null ? lng_valor.ToString() : "";
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).SetValue(str_Valor).SetDataType(XLCellValues.Number);
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Style.NumberFormat.Format = "0";
//Alinear los numeros a la derecha
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right;
}
//Tipo int
else if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.INT))
{
int? int_valor = dnm_Registro.GetType().GetProperty(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna).GetValue(dnm_Registro, null);
string str_Valor = int_valor != null ? int_valor.ToString() : "";
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).SetValue(str_Valor).SetDataType(XLCellValues.Number);
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Style.NumberFormat.Format = "0";
//Alinear los numeros a la derecha
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right;
}
//Tipo texto
else
{
string str_valor = dnm_Registro.GetType().GetProperty(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna).GetValue(dnm_Registro, null);
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).SetValue(str_valor).SetDataType(XLCellValues.Text);
//Alinear los texto a la derecha
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
}
}
else
{
obj_worksheet.Cell(int_Contador_Fila + 2, int_Contador_Columna + 1).Value = "";
}
//Sumo 1 a la columna
int_Contador_Columna += 1;
}
//Sumo 1 a la fila
int_Contador_Fila += 1;
//las Columnas se reinician a 0
int_Contador_Columna = 0;
}
}
//Ajusto el Excell al contenido
obj_worksheet.Columns().AdjustToContents();
//Abro un dialog para Guardar
SaveFileDialog save = new SaveFileDialog();
save.Filter = "Excel (*.xlsx)|*.xlsx";
save.Title = "Excel";
if (save.ShowDialog() == DialogResult.OK)
{
//Guardo el Excell
obj_XLWorkbook.SaveAs(save.FileName);
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_EXPORTAREXCEL_CORRECTO());
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_Bolsa) + "/" + nameof(Exportar_Excel));
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_EXPORTAREXCEL());
}
finally
{
obj_XLWorkbook.Dispose();
}
}
}
private void P_Bolsa_FormClosed(object sender, FormClosedEventArgs e)
{
//Guardar el fichero xml de configuracion de la pantalla
INTERNO_ConfiguracionPantalla_Modelo mdl_INTERNO_ConfiguracionPantalla_Modelo = new INTERNO_ConfiguracionPantalla_Modelo();
Dictionary<string, int> dct_ColumnasOrden = new Dictionary<string, int>();
Dictionary<string, int> dct_ColumnasAncho = new Dictionary<string, int>();
foreach (DataGridViewColumn dgv_Columnas in ex_dgv_Listado.Columns)
{
//Campos a Mostrar
if (dgv_Columnas.Visible)
{
//Columnas Orden
dct_ColumnasOrden.Add(dgv_Columnas.Name, dgv_Columnas.DisplayIndex);
//Columnas Ancho
dct_ColumnasAncho.Add(dgv_Columnas.Name, dgv_Columnas.Width);
}
}
mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNASAMOSTRAR = g_obj_Controladora.g_lst_ColumnasAMostrar;
mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ORDEN = dct_ColumnasOrden;
mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_COLUMNAS_ANCHO = dct_ColumnasAncho;
//Orden
if (ex_cbo_P_Bolsa_OrdenListado.SelectedItem != null)
{
mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_ORDEN_COLUMNA_PORDEFECTO = ((INTERNO_ComboBox_Modelo)ex_cbo_P_Bolsa_OrdenListado.SelectedItem).Descripcion;
}
mdl_INTERNO_ConfiguracionPantalla_Modelo.LISTADO_ORDEN_DIRECCION_PORDEFECTO = ex_btn_P_Bolsa_OrdenListado.Tag.ToString();
//Actualizar la Variables General
if (Variables.G_DCT_CONFIGURACIONPANTALLA != null && Variables.G_DCT_CONFIGURACIONPANTALLA.Count > 0)
{
//Ver si ya existia
if (Variables.G_DCT_CONFIGURACIONPANTALLA.ContainsKey(g_obj_ABS_Bolsa.NOMBRELISTADO_ALMACENARCONFIGURACION()))
{
Variables.G_DCT_CONFIGURACIONPANTALLA[g_obj_ABS_Bolsa.NOMBRELISTADO_ALMACENARCONFIGURACION()] = mdl_INTERNO_ConfiguracionPantalla_Modelo;
}
else
{
Variables.G_DCT_CONFIGURACIONPANTALLA.Add(g_obj_ABS_Bolsa.NOMBRELISTADO_ALMACENARCONFIGURACION(), mdl_INTERNO_ConfiguracionPantalla_Modelo);
}
}
else
{
Variables.G_DCT_CONFIGURACIONPANTALLA = new Dictionary<string, INTERNO_ConfiguracionPantalla_Modelo>();
Variables.G_DCT_CONFIGURACIONPANTALLA.Add(g_obj_ABS_Bolsa.NOMBRELISTADO_ALMACENARCONFIGURACION(), mdl_INTERNO_ConfiguracionPantalla_Modelo);
}
try
{
//Actualizar el fichero XML
Exferia_Aplicacion.General.Funciones_FicherosXML.ModificarXML_ConfiguracionPantallas(Variables.G_STR_CONFIGURACIONPANTALLA_TIPOPANTALLA_LISTADOS, g_obj_ABS_Bolsa.NOMBRELISTADO_ALMACENARCONFIGURACION(), mdl_INTERNO_ConfiguracionPantalla_Modelo);
}
catch (Control_Errores)
{
}
catch (Exception ex)
{
Control_Errores.Errores_Log(ex.Message, ex, nameof(P_Bolsa) + "/" + nameof(P_Bolsa_FormClosed));
}
}
//Teclas de Acceso Rapido
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.F5)//Borrar
{
Borrar();
return true;
}
else if (keyData == Keys.Up)//Mover Arriba en el Grid
{
if (ex_dgv_Listado.Rows.Count > 0 && ex_dgv_Listado.SelectedRows.Count > 0 && ex_dgv_Listado.SelectedRows[0].Index > 0)
{
int _int_Index = ex_dgv_Listado.SelectedRows[0].Index - 1;
ex_dgv_Listado.Rows[_int_Index].Selected = true;
//Mover el Scroll para Arriba
if (ex_dgv_Listado.FirstDisplayedScrollingRowIndex > _int_Index)
{
ex_dgv_Listado.FirstDisplayedScrollingRowIndex -= 1;
}
}
return true;
}
else if (keyData == Keys.Down)//Mover Abajo en el Grid
{
if (ex_dgv_Listado.Rows.Count > 0 && ex_dgv_Listado.SelectedRows.Count > 0 && ex_dgv_Listado.SelectedRows[0].Index < ex_dgv_Listado.Rows.Count - 1)
{
int _int_Index = ex_dgv_Listado.SelectedRows[0].Index + 1;
ex_dgv_Listado.Rows[_int_Index].Selected = true;
try
{
//Mover el Scroll para Abajo
if (((ex_dgv_Listado.DisplayedRowCount(false) - 1) + ex_dgv_Listado.FirstDisplayedScrollingRowIndex) < _int_Index)
{
ex_dgv_Listado.FirstDisplayedScrollingRowIndex += 1;
}
}
catch (Exception)
{ }
}
return true;
}
else
{
//Boton Auxiliar1
if (g_obj_ABS_Bolsa.BOTONAUXILIAR_1() != null && g_obj_ABS_Bolsa.BOTONAUXILIAR_1().Tecla_AccesoRapido != null)
{
if (keyData == g_obj_ABS_Bolsa.BOTONAUXILIAR_1().Tecla_AccesoRapido.Value)
{
Boton_Auxiliar_1();
return true;
}
}
//Boton Auxiliar2
if (g_obj_ABS_Bolsa.BOTONAUXILIAR_2() != null && g_obj_ABS_Bolsa.BOTONAUXILIAR_2().Tecla_AccesoRapido != null)
{
if (keyData == g_obj_ABS_Bolsa.BOTONAUXILIAR_2().Tecla_AccesoRapido.Value)
{
Boton_Auxiliar_2();
return true;
}
}
//Boton Auxiliar3
if (g_obj_ABS_Bolsa.BOTONAUXILIAR_3() != null && g_obj_ABS_Bolsa.BOTONAUXILIAR_3().Tecla_AccesoRapido != null)
{
if (keyData == g_obj_ABS_Bolsa.BOTONAUXILIAR_3().Tecla_AccesoRapido.Value)
{
Boton_Auxiliar_3();
return true;
}
}
//Boton Auxiliar4
if (g_obj_ABS_Bolsa.BOTONAUXILIAR_4() != null && g_obj_ABS_Bolsa.BOTONAUXILIAR_4().Tecla_AccesoRapido != null)
{
if (keyData == g_obj_ABS_Bolsa.BOTONAUXILIAR_4().Tecla_AccesoRapido.Value)
{
Boton_Auxiliar_4();
return true;
}
}
//Boton Auxiliar5
if (g_obj_ABS_Bolsa.BOTONAUXILIAR_5() != null && g_obj_ABS_Bolsa.BOTONAUXILIAR_5().Tecla_AccesoRapido != null)
{
if (keyData == g_obj_ABS_Bolsa.BOTONAUXILIAR_5().Tecla_AccesoRapido.Value)
{
Boton_Auxiliar_5();
return true;
}
}
//Boton Auxiliar6
else if (g_obj_ABS_Bolsa.BOTONAUXILIAR_6() != null && g_obj_ABS_Bolsa.BOTONAUXILIAR_6().Tecla_AccesoRapido != null)
{
if (keyData == g_obj_ABS_Bolsa.BOTONAUXILIAR_6().Tecla_AccesoRapido.Value)
{
Boton_Auxiliar_6();
return true;
}
}
//Boton Auxiliar7
if (g_obj_ABS_Bolsa.BOTONAUXILIAR_7() != null && g_obj_ABS_Bolsa.BOTONAUXILIAR_7().Tecla_AccesoRapido != null)
{
if (keyData == g_obj_ABS_Bolsa.BOTONAUXILIAR_7().Tecla_AccesoRapido.Value)
{
Boton_Auxiliar_7();
return true;
}
}
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
}