Exferia/Exferia_Compras/Exferia_Compras/3_Vistas/P_FacturaCabecera_Procesos.cs

362 lines
18 KiB
C#

using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Visualizacion;
using Exferia_Compras._3_Vistas.Controladoras;
using Exferia_Controles;
using Exferia_EntityFramework;
using Exferia_General;
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;
namespace Exferia_Compras._3_Vistas
{
public partial class P_FacturaCabecera_Procesos : Exferia_Formularios.P_Base_Mantenimientos
{
#region Variables General
private P_FacturaCabecera_Procesos_Controladora g_obj_Controladora;
public INTERNO_OpcionesDetalle_Modelo g_mdl_INTERNO_OpcionesDetalle_Modelo = null;
private bool g_bol_ConstructorPantalla_Terminado_Correctamente = true;
internal List<INTERNO_Permisos_Modelo> g_lst_INTERNO_Permisos_Modelo = null;
#endregion
#region Objetos en Pantalla
//Exferia_Label_SinColor
internal Exferia_Label_SinColor Exferia_Label_SinColor_Registros_Total_Titulo { get { return ex_lbl_P_FacturaCabecera_Procesos_Registros_Total_Titulo; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Registros_Total { get { return ex_lbl_P_FacturaCabecera_Procesos_Registros_Total; } }
//Exferia_RadioButton
internal Exferia_RadioButton Exferia_RadioButton_Registros_Bolsa { get { return ex_rdb_P_FacturaCabecera_Procesos_Registros_Bolsa; } }
internal Exferia_RadioButton Exferia_RadioButton_Registros_Seleccionados { get { return ex_rdb_P_FacturaCabecera_Procesos_Registros_Seleccionados; } }
//Exferia_TabControl
internal Exferia_TabControl Exferia_TabControl_Procesos_TABCONTROL { get { return ex_tab_P_FacturaCabecera_Procesos_TABCONTROL; } }
//TabPage
internal TabPage TabPage_Cerrar = null;
internal TabPage TabPage_Abrir = null;
internal TabPage TabPage_Volcar = null;
internal TabPage TabPage_Desvolcar = null;
#region CERRAR
//Exferia_Label_SinColor
internal Exferia_Label_SinColor Exferia_Label_SinColor_Cerrar_Total_Volcados { get { return ex_lbl_P_FacturaCabecera_Procesos_Cerrar_Total_Volcados; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Cerrar_Total_Cerrados { get { return ex_lbl_P_FacturaCabecera_Procesos_Cerrar_Total_Cerrados; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Cerrar_Total_Abiertos { get { return ex_lbl_P_FacturaCabecera_Procesos_Cerrar_Total_Abiertos; } }
// Exferia_TextBox
internal Exferia_TextBox Exferia_TextBox_Cerrar_Resumen { get { return ex_txt_P_FacturaCabecera_Procesos_Cerrar_Resultado; } }
#endregion
#region ABRIR
//Exferia_Label_SinColor
internal Exferia_Label_SinColor Exferia_Label_SinColor_Abrir_Total_Cerrados { get { return ex_lbl_P_FacturaCabecera_Procesos_Abrir_Total_Cerrados; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Abrir_Total_Abiertos { get { return ex_lbl_P_FacturaCabecera_Procesos_Abrir_Total_Abiertos; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Abrir_Total_Volcados { get { return ex_lbl_P_FacturaCabecera_Procesos_Abrir_Total_Volcados; } }
// Exferia_TextBox
internal Exferia_TextBox Exferia_TextBox_Abrir_Resumen { get { return ex_txt_P_FacturaCabecera_Procesos_Abrir_Resultado; } }
#endregion
#region VOLCAR
//Exferia_Label_SinColor
internal Exferia_Label_SinColor Exferia_Label_SinColor_Volcar_Total_Cerrados { get { return ex_lbl_P_FacturaCabecera_Procesos_Volcar_Total_Cerrados; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Volcar_Total_Abiertos { get { return ex_lbl_P_FacturaCabecera_Procesos_Volcar_Total_Abiertos; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Volcar_Total_Volcados { get { return ex_lbl_P_FacturaCabecera_Procesos_Volcar_Total_Volcados; } }
// Exferia_TextBox
internal Exferia_TextBox Exferia_TextBox_Volcar_Resumen { get { return ex_txt_P_FacturaCabecera_Procesos_Volcar_Resultado; } }
#endregion
#region DESVOLCAR
//Exferia_Label_SinColor
internal Exferia_Label_SinColor Exferia_Label_SinColor_Desvolcar_Total_Cerrados { get { return ex_lbl_P_FacturaCabecera_Procesos_Desvolcar_Total_Cerrados; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Desvolcar_Total_Abiertos { get { return ex_lbl_P_FacturaCabecera_Procesos_Desvolcar_Total_Abiertos; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Desvolcar_Total_Volcados { get { return ex_lbl_P_FacturaCabecera_Procesos_Desvolcar_Total_Volcados; } }
// Exferia_TextBox
internal Exferia_TextBox Exferia_TextBox_Desvolcar_Resumen { get { return ex_txt_P_FacturaCabecera_Procesos_Desvolcar_Resultado; } }
#endregion
#endregion
#region Constructor
public P_FacturaCabecera_Procesos(string _str_Opcion,
INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo,
DateTime _dtt_FechaTrabajo,
List<dynamic> _lst_Facturas_Seleccionados,
bool _bol_UtilizarBolsa_Pordefecto)
{
InitializeComponent();
try
{
Repintar.Empezar(this);
CheckForIllegalCrossThreadCalls = false;
//Empresa seleccionada y fecha de trabajo ....................................................
P_Base_ValoresGenerales = _mdl_INTERNO_ValoresGenerales_Modelo;
P_Base_FechaTrabajo = _dtt_FechaTrabajo;
//Datos de Opciones detalle
g_mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(_str_Opcion);
//Instanciar Controladora
g_obj_Controladora = new P_FacturaCabecera_Procesos_Controladora(this, _lst_Facturas_Seleccionados, _bol_UtilizarBolsa_Pordefecto);
//Buscar los Permisos
g_lst_INTERNO_Permisos_Modelo = Datos_Generales.Permisos_Buscar(g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion);
//Titulo de la Pantalla .............................................................................
P_Base_TituloPantalla = g_mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento;
// 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 ex)
{
//No se muestra mensaje pero se guarda en el log
Control_Errores.Errores_Log("", ex, nameof(P_FacturaCabecera_Procesos) + "/" + nameof(P_FacturaCabecera_Procesos));
}
}
//....................................................................................................
//Poner por defecto solo el tab de Cerrar
TabPage_Cerrar = tbp_Cerrar;
TabPage_Abrir = tbp_Abrir;
TabPage_Volcar = tbp_Volcar;
TabPage_Desvolcar = tbp_Desvolcar;
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Cerrar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Abrir));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Volcar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Desvolcar));
//Poner Cerrar
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.Add(TabPage_Cerrar);
//Bloquear pantalla hasta que termine la carga por defecto .....
Enabled = false;
//.............................................................
}
catch (Control_Errores)
{
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
}
catch (Exception ex)
{
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
//No se muestra mensaje pero se guarda en el log
Control_Errores.Errores_Log("", ex, nameof(P_FacturaCabecera_Procesos) + "/" + nameof(P_FacturaCabecera_Procesos));
}
finally
{
//Bloquear pantalla hasta que termine la carga por defecto .....
Enabled = true;
//.............................................................
}
}
#endregion
#region Inicio de pantalla
private void P_FacturaCabecera_Procesos_Load(object sender, EventArgs e)
{
try
{
}
catch (Exception ex)
{
//No se muestra mensaje pero se guarda en el log
Control_Errores.Errores_Log("", ex, nameof(P_FacturaCabecera_Procesos) + "/" + nameof(P_FacturaCabecera_Procesos_Load));
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
}
}
private void P_FacturaCabecera_Procesos_Shown(object sender, EventArgs e)
{
try
{
if (g_bol_ConstructorPantalla_Terminado_Correctamente)
{
g_obj_Controladora.Carga_Inicial();
}
else
{
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
Salir_P_Base();
}
}
catch (Control_Errores)
{
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
Salir_P_Base();
}
catch (Exception ex)
{
//No se muestra mensaje pero se guarda en el log
Control_Errores.Errores_Log("", ex, nameof(P_FacturaCabecera_Procesos) + "/" + nameof(P_FacturaCabecera_Procesos_Shown));
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
Salir_P_Base();
}
}
#endregion
#region Registros Seleccionados
private void ex_rdb_P_FacturaCabecera_Procesos_Registros_Seleccionados_CheckedChanged(object sender, EventArgs e)
{
if (g_obj_Controladora != null && ex_rdb_P_FacturaCabecera_Procesos_Registros_Seleccionados.Checked)
{
//Situar Total registros
ex_lbl_P_FacturaCabecera_Procesos_Registros_Total_Titulo.Location = new Point(ex_lbl_P_FacturaCabecera_Procesos_Registros_Total_Titulo.Location.X, ex_rdb_P_FacturaCabecera_Procesos_Registros_Seleccionados.Location.Y);
ex_lbl_P_FacturaCabecera_Procesos_Registros_Total.Location = new Point(ex_lbl_P_FacturaCabecera_Procesos_Registros_Total.Location.X, ex_rdb_P_FacturaCabecera_Procesos_Registros_Seleccionados.Location.Y);
g_obj_Controladora.Mostrar_Registros_Totales(false);
}
}
private void ex_rdb_P_FacturaCabecera_Procesos_Registros_Bolsa_CheckedChanged(object sender, EventArgs e)
{
if (g_obj_Controladora != null && ex_rdb_P_FacturaCabecera_Procesos_Registros_Bolsa.Checked)
{
//Situar Total registros
ex_lbl_P_FacturaCabecera_Procesos_Registros_Total_Titulo.Location = new Point(ex_lbl_P_FacturaCabecera_Procesos_Registros_Total_Titulo.Location.X, ex_rdb_P_FacturaCabecera_Procesos_Registros_Bolsa.Location.Y);
ex_lbl_P_FacturaCabecera_Procesos_Registros_Total.Location = new Point(ex_lbl_P_FacturaCabecera_Procesos_Registros_Total.Location.X, ex_rdb_P_FacturaCabecera_Procesos_Registros_Bolsa.Location.Y);
g_obj_Controladora.Mostrar_Registros_Totales(true);
}
}
#endregion
#region Botones
private void ex_btn_P_FacturaCabecera_Procesos_Cerrar_Click(object sender, EventArgs e)
{
//Tiene que tener Permisos para cerrar o abrir FacturaCabecera
if (Datos_Generales.Permisos_Comprobar(g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Bloquear, true, nameof(ex_btn_P_FacturaCabecera_Procesos_Cerrar)))
{
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Cerrar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Abrir));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Volcar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Desvolcar));
//Añadir el tab
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.Add(TabPage_Cerrar);
}
}
private void ex_btn_P_FacturaCabecera_Procesos_Abrir_Click(object sender, EventArgs e)
{
//Tiene que tener Permisos para cerrar o abrir FacturaCabecera
if (Datos_Generales.Permisos_Comprobar(g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Bloquear, true, nameof(ex_btn_P_FacturaCabecera_Procesos_Abrir)))
{
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Cerrar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Abrir));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Volcar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Desvolcar));
//Añadir el tab
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.Add(TabPage_Abrir);
}
}
private void ex_btn_P_FacturaCabecera_Procesos_Volcar_Click(object sender, EventArgs e)
{
if (!Variables.G_BOL_MODULO_CONTABILIDAD_ACTIVA)
{
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOTIENEMODULOCONTABILIDADACTIVO());
}
else
{
//Tiene que tener Permisos para volcar/desvolcar el factura
if (Datos_Generales.Permisos_Comprobar(g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Bloquear, true, nameof(ex_btn_P_FacturaCabecera_Procesos_Volcar)))
{
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Cerrar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Abrir));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Volcar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Desvolcar));
//Añadir el tab
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.Add(TabPage_Volcar);
}
}
}
private void ex_btn_P_FacturaCabecera_Procesos_Desvolcar_Click(object sender, EventArgs e)
{
if (!Variables.G_BOL_MODULO_CONTABILIDAD_ACTIVA)
{
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOTIENEMODULOCONTABILIDADACTIVO());
}
else
{
//Tiene que tener Permisos para volcar/desvolcar el factura
if (Datos_Generales.Permisos_Comprobar(g_mdl_INTERNO_OpcionesDetalle_Modelo.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Bloquear, true, nameof(ex_btn_P_FacturaCabecera_Procesos_Desvolcar)))
{
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Cerrar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Abrir));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Volcar));
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.RemoveByKey(nameof(tbp_Desvolcar));
//Añadir el tab
ex_tab_P_FacturaCabecera_Procesos_TABCONTROL.TabPages.Add(TabPage_Desvolcar);
}
}
}
#endregion
#region CERRAR
private void ex_btn_P_FacturaCabecera_Procesos_Cerrar_IniciarProceso_Click(object sender, EventArgs e)
{
g_obj_Controladora.Proceso_Cerrar();
}
#endregion
#region ABRIR
private void ex_btn_P_FacturaCabecera_Procesos_Abrir_IniciarProceso_Click(object sender, EventArgs e)
{
g_obj_Controladora.Proceso_Abrir();
}
#endregion
#region VOLCAR
private void ex_btn_P_FacturaCabecera_Procesos_Volcar_IniciarProceso_Click(object sender, EventArgs e)
{
g_obj_Controladora.Proceso_Volcar();
}
#endregion
#region DESVOLCAR
private void ex_btn_P_FacturaCabecera_Procesos_Desvolcar_IniciarProceso_Click(object sender, EventArgs e)
{
g_obj_Controladora.Proceso_Desvolcar();
}
#endregion
}
}