Exferia/Exferia_Ventas/Exferia_Ventas/3_Vistas/P_ConfiguracionPallets.cs

310 lines
14 KiB
C#

using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Visualizacion;
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;
using System.Linq;
using Exferia_Aplicacion.Modelos_Listado_Filtros;
using Exferia_Formularios;
using Exferia_Ventas._3_Vistas.Controladoras;
using System.Globalization;
using Exferia_Aplicacion.Modelos_Hermes;
using Exferia_Ventas._0_Modelos;
namespace Exferia_Ventas._3_Vistas
{
public partial class P_ConfiguracionPallets : Exferia_Formularios.P_Base_Mantenimientos
{
#region Variables Generales
private P_ConfiguracionPallets_Controladora g_obj_Controladora;
private bool g_bol_ContructorPantalla_Terminado_Correctamente = true;
public P_AlbaranCabecera_AUX_1 g_mdl_P_AlbaranCabecera_AUX = null;
internal List<INTERNO_Permisos_Modelo> g_lst_INTERNO_Permisos_Modelo = null;
//Lineas
private INTERNO_ConfiguracionPantalla_Modelo g_mdl_INTERNO_ConfiguracionPantalla_Modelo_LINEA = null;
//Variables paginador
public Funciones_Paginador g_obj_Funciones_Paginador;
private Timer g_timer_Paginar = new Timer();
private List<INTERNO_Ventana_Pallets_Modelo> _Exferia_Grupo_Controles;
public bool g_bool_esCliente = false;
#endregion
#region Objetos en Pantalla
//Exferia_Button
internal Exferia_Button Exferia_Button_Grabar { get { return ex_btn_P_Tarifa_Grabar; } }
//Exferia_CheckBox
internal Exferia_CheckBox Exferia_Cb_S_Miniquarter { get { return ex_cb_P_Configuracion_Pallets_Standard_Miniquarter; } }
internal Exferia_CheckBox Exferia_Cb_S_Quarter { get { return ex_cb_P_Configuracion_Pallets_Standard_Quarter; } }
internal Exferia_CheckBox Exferia_Cb_S_Half { get { return ex_cb_P_Configuracion_Pallets_Standard_Half; } }
internal Exferia_CheckBox Exferia_Cb_S_Full { get { return ex_cb_P_Configuracion_Pallets_Standard_Full; } }
internal Exferia_CheckBox Exferia_Cb_S_Light { get { return ex_cb_P_Configuracion_Pallets_Standard_Light; } }
internal Exferia_CheckBox Exferia_Cb_S_Megafull { get { return ex_cb_P_Configuracion_Pallets_Standard_Megafull; } }
internal Exferia_CheckBox Exferia_Cb_P_Miniquarter { get { return ex_cb_P_Configuracion_Pallets_Premium_Miniquarter; } }
internal Exferia_CheckBox Exferia_Cb_P_Quarter { get { return ex_cb_P_Configuracion_Pallets_Premium_Quarter; } }
internal Exferia_CheckBox Exferia_Cb_P_Half { get { return ex_cb_P_Configuracion_Pallets_Premium_Half; } }
internal Exferia_CheckBox Exferia_Cb_P_Full { get { return ex_cb_P_Configuracion_Pallets_Premium_Full; } }
internal Exferia_CheckBox Exferia_Cb_P_Light { get { return ex_cb_P_Configuracion_Pallets_Premium_Light; } }
internal Exferia_CheckBox Exferia_Cb_P_Megafull { get { return ex_cb_P_Configuracion_Pallets_Premium_Megafull; } }
//Exferia_TextBox
internal Exferia_TextBox Exferia_Text_S_Miniquarter { get { return ex_txt_P_Configuracion_Pallets_Standard_Miniquarter; } }
internal Exferia_TextBox Exferia_Text_S_Quarter { get { return ex_txt_P_Configuracion_Pallets_Standard_Quarter; } }
internal Exferia_TextBox Exferia_Text_S_Half { get { return ex_txt_P_Configuracion_Pallets_Standard_Half; } }
internal Exferia_TextBox Exferia_Text_S_Full { get { return ex_txt_P_Configuracion_Pallets_Standard_Full; } }
internal Exferia_TextBox Exferia_Text_S_Light { get { return ex_txt_P_Configuracion_Pallets_Standard_Light; } }
internal Exferia_TextBox Exferia_Text_S_Megafull { get { return ex_txt_P_Configuracion_Pallets_Standard_Megafull; } }
internal Exferia_TextBox Exferia_Text_P_Miniquarter { get { return ex_txt_P_Configuracion_Pallets_Premium_Miniquarter; } }
internal Exferia_TextBox Exferia_Text_P_Quarter { get { return ex_txt_P_Configuracion_Pallets_Premium_Quarter; } }
internal Exferia_TextBox Exferia_Text_P_Half { get { return ex_txt_P_Configuracion_Pallets_Premium_Half; } }
internal Exferia_TextBox Exferia_Text_P_Full { get { return ex_txt_P_Configuracion_Pallets_Premium_Full; } }
internal Exferia_TextBox Exferia_Text_P_Light { get { return ex_txt_P_Configuracion_Pallets_Premium_Light; } }
internal Exferia_TextBox Exferia_Text_P_Megafull { get { return ex_txt_P_Configuracion_Pallets_Premium_Megafull; } }
// Grupo
internal List<INTERNO_Ventana_Pallets_Modelo> Exferia_Grupo_Controles
{
get { return _Exferia_Grupo_Controles; }
}
#endregion
#region Constructor
public P_ConfiguracionPallets(INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo, DateTime _dtt_FechaTrabajo, P_AlbaranCabecera_AUX_1 _mdl_P_AlbaranCabecera_AUX, bool esCliente)
{
InitializeComponent();
try
{
Repintar.Empezar(this);
InicializarGrupoControles();
CheckForIllegalCrossThreadCalls = false;
//Empezar seleccionada y fecha de trabajo.............................................................
P_Base_ValoresGenerales = _mdl_INTERNO_ValoresGenerales_Modelo;
P_Base_FechaTrabajo = _dtt_FechaTrabajo;
//Datos de Opcion Detalle
g_mdl_P_AlbaranCabecera_AUX = _mdl_P_AlbaranCabecera_AUX;
//Instanciar Controladora
g_bool_esCliente = esCliente;
g_obj_Controladora = new P_ConfiguracionPallets_Controladora(this);
InicializarValoresDefecto();
Enabled = false;
g_obj_Funciones_Paginador = new Funciones_Paginador();
}
catch (Control_Errores)
{
g_bol_ContructorPantalla_Terminado_Correctamente = false;
}
catch (Exception ex)
{
g_bol_ContructorPantalla_Terminado_Correctamente = false;
//No se muestra mensaje pero se guarda en el log
Control_Errores.Errores_Log("", ex, nameof(P_ConfiguracionPallets) + "/" + nameof(P_ConfiguracionPallets));
}
finally
{
//Bloquear pantalla hasta que termine la carga por defecto.............................
Enabled = true;
//.....................................................................................
}
}
private void InicializarValoresDefecto()
{
(g_bool_esCliente? g_mdl_P_AlbaranCabecera_AUX.frm_P_ConfiguracionPallets_Resultado: g_mdl_P_AlbaranCabecera_AUX.frm_P_ConfiguracionPallets_Resultado_Agencia)?.ForEach(mdl_element =>
{
var foundControl = _Exferia_Grupo_Controles.Find(control => control.tipoSoporte.Equals(mdl_element.tipoSoporte) && control.esPremium == mdl_element.esPremium);
foundControl.textBox.Text = mdl_element.textBoxText;
foundControl.check.Checked = mdl_element.esAmericano;
});
}
private void InicializarGrupoControles()
{
_Exferia_Grupo_Controles = new List<INTERNO_Ventana_Pallets_Modelo>() {
// STANDARD
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_S_Miniquarter,
textBox = Exferia_Text_S_Miniquarter,
esPremium = false,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_MINIQUARTER
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_S_Quarter,
textBox = Exferia_Text_S_Quarter,
esPremium = false,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_QUARTER
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_S_Half,
textBox = Exferia_Text_S_Half,
esPremium = false,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_HALF
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_S_Full,
textBox = Exferia_Text_S_Full,
esPremium = false,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_FULL
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_S_Light,
textBox = Exferia_Text_S_Light,
esPremium = false,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_LIGHT
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_S_Megafull,
textBox = Exferia_Text_S_Megafull,
esPremium = false,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_MEGAFULL
},
// PREMIUM
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_P_Miniquarter,
textBox = Exferia_Text_P_Miniquarter,
esPremium = true,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_MINIQUARTER
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_P_Quarter,
textBox = Exferia_Text_P_Quarter,
esPremium = true,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_QUARTER
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_P_Half,
textBox = Exferia_Text_P_Half,
esPremium = true,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_HALF
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_P_Full,
textBox = Exferia_Text_P_Full,
esPremium = true,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_FULL
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_P_Light,
textBox = Exferia_Text_P_Light,
esPremium = true,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_LIGHT
},
new INTERNO_Ventana_Pallets_Modelo
{
check = Exferia_Cb_S_Megafull,
textBox = Exferia_Text_P_Megafull,
esPremium = true,
tipoSoporte = Variables.G_STR_CONFIGURACIONPANTALLA_PALLET_MEGAFULL
}
};
}
#endregion
#region Inicio de pantalla
private void P_Tarifa_Load(object sender, EventArgs e)
{
try
{
g_obj_Controladora.RecargarDatos();
}
catch (Control_Errores)
{
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
Salir_P_Base();
}
}
public void ActivarBotones(bool _bol_Activar)
{
}
#endregion
//#region Botones Grabar, Borrar, BuscarCodigoSiguiente
//Grabar
private void ex_btn_P_Tarifa_Grabar_Click(object sender, EventArgs e)
{
Grabar();
Salir_P_Base();
//Dispose(true);
}
private void Grabar()
{
try
{
if (g_bool_esCliente)
{
g_mdl_P_AlbaranCabecera_AUX.frm_P_ConfiguracionPallets_Resultado = Exferia_Grupo_Controles;//.Where(element => !String.IsNullOrEmpty(element.textBox.Text)).ToList();
g_mdl_P_AlbaranCabecera_AUX.frm_P_ConfiguracionPallets_Resultado.ForEach(mdl_element =>
{
mdl_element.textBoxText = mdl_element.textBox.Text;
mdl_element.esAmericano = mdl_element.check.Checked;
});
g_mdl_P_AlbaranCabecera_AUX.g_obj_Controladora.TarifaCliente_Obtener(true);
g_mdl_P_AlbaranCabecera_AUX.g_obj_Controladora.TareaSincrona_ActualizarTarifasCliente();
g_mdl_P_AlbaranCabecera_AUX.g_obj_Controladora.ActualizarBultos();
}
else
{
g_mdl_P_AlbaranCabecera_AUX.frm_P_ConfiguracionPallets_Resultado_Agencia = Exferia_Grupo_Controles;
g_mdl_P_AlbaranCabecera_AUX.frm_P_ConfiguracionPallets_Resultado_Agencia.ForEach(mdl_element =>
{
mdl_element.textBoxText = mdl_element.textBox.Text;
mdl_element.esAmericano = mdl_element.check.Checked;
});
g_mdl_P_AlbaranCabecera_AUX.g_obj_Controladora.TarifaAgencia_Obtener();
g_mdl_P_AlbaranCabecera_AUX.g_obj_Controladora.TareaSincrona_ActualizarTarifasAgencia();
}
}
catch(Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_ConfiguracionPallets) + "/" + nameof(Grabar));
}
}
}
}