8 using System.Collections.Generic;
9 using System.ComponentModel;
13 using System.Security.Cryptography;
15 using System.Windows.Forms;
17 namespace sage._50.Forms
24 #region Propiedades privadas 25 private List<string> _oModulos =
new List<string>();
26 private DataTable _dtModulos = null;
27 private DataTable _dtModVisible =
new DataTable();
28 private Usuario _oUsuario = null;
29 private int _nIdDesktop = 0;
30 private bool _lDesktopBaseAddon =
false;
35 private string _cUsuario
37 get {
return Convert.ToString(EW_GLOBAL._GetVariable(
"wc_usuario",
"")); }
40 private string _cNameProducto = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_nameproducto"));
41 #endregion Propiedades privadas 49 InitializeComponent();
53 _Pantalla =
"SELDESKTOP";
57 if (_NivelAcceso == ew.formul._TiposAccesosPantalla.SoloLectura)
58 ewbuttonRestablecer.Visible =
false;
60 _MostrarCrearAccesoDirecto =
false;
61 _MostrarAccesoFavoritos =
false;
63 SubscripcionEventos();
66 #endregion Constructor 68 #region Métodos protected override 69 protected override void OnHandleCreated(EventArgs e)
75 base.OnHandleCreated(e);
77 Text = $
"Seleccionar escritorio por defecto del Menú {DescripcionAddon()}";
81 selectorDesktopAddon._Refresh();
85 #endregion Métodos protected override 87 #region Métodos privados 88 private void Informacion()
93 ewlabelInformacion.AutoSize =
true;
94 ewlabelInformacion.MaximumSize =
new Size(ewPanelTitulo.Width, 0);
96 ewlabelInformacion.Text =
"Si quieres asociar un escritorio para este Menú solo debes seleccionarlo y pulsar Aceptar. " +
97 $
"A partir de este momento, cada vez que cambies de menú en {_cNameProducto} y vayas a las opciones del Menú de " + DescripcionAddon() +
" " +
98 "te cargará el escritorio que tu hayas seleccionado de forma automática.";
104 private void SelDesktopAddon()
108 if (loControlador != null)
109 _oControladorDesktop = loControlador;
112 bool llDesktopBase =
false;
114 Dictionary<string, object> loDictValues =
new Dictionary<string, object>();
115 loDictValues.Add(
"ADDON", Convert.ToString(EW_GLOBAL._GetVariable(
"wc_modulo",
"")));
117 _oControladorDesktop.
_GetIdDesktopAddon(loDictValues, ref lnIdDesktop, ref llDesktopBase);
121 _nIdDesktop = lnIdDesktop;
122 _lDesktopBaseAddon = llDesktopBase;
124 selectorDesktopAddon._IdDesktopSeleccionado = _nIdDesktop;
131 private List<string> _lstModulos
135 if (_oModulos.Count == 0)
137 FUNCTIONS._Modulos(_oUsuario, ref _oModulos, ref _dtModulos, ref _dtModVisible);
150 private string DescripcionAddon()
152 string lcAddon = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_modulo",
""));
154 List<string> lstModulos = _lstModulos.AsEnumerable().Where(item => item.ToUpper() == lcAddon).ToList<string>();
156 if (lstModulos.Count > 0)
157 lcAddon = lstModulos.First();
165 private void SubscripcionEventos()
167 btDocAceptar1.Click += Aceptar_Click;
168 btDocCancelar1.Click += Cancelar_Click;
169 FormClosing += FrmSelDesktop_FormClosing;
171 ewbuttonRestablecer.Click += Restablacer_Click;
179 private void FrmSelDesktop_FormClosing(
object sender, FormClosingEventArgs e)
181 if (_lCancel && e.CloseReason != CloseReason.UserClosing)
185 private bool _lCancel =
false;
192 private void Cancelar_Click(
object sender, EventArgs e)
202 private void Aceptar_Click(
object sender, EventArgs e)
204 bool llOk = Aceptar();
214 private void Restablacer_Click(
object sender, EventArgs e)
216 bool llOk = Aceptar(
true);
228 private bool Aceptar(
bool tlRestablecer =
false)
232 int lnIdDesktop = selectorDesktopAddon._IdDesktopSeleccionado;
234 if (lnIdDesktop == 0 && _nIdDesktop == 0)
237 string lcAddon = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_modulo",
""));
239 if (lnIdDesktop == 0 || tlRestablecer)
253 btDocAceptar1.PerformClick();
264 if (_nIdDesktop > 0 && tnIdDesktop == _nIdDesktop)
267 bool llOk = (_MessageBox(
"¿Desea seleccionar este escritorio como escritorio por defecto cuando se active el Menú de " + DescripcionAddon() +
"?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, DialogResult.Yes) == DialogResult.Yes);
273 if (loControlador != null)
275 Dictionary<string, object> loDictValues = DictValues(tnIdDesktop, tcAddon);
291 if (_lDesktopBaseAddon)
293 _MessageBox(
"Este es un diseño base y siempre estará asociado a la carga del Menú de " + DescripcionAddon() +
".", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.OK);
297 bool llOk = (_MessageBox(
"¿Desea no establecer este escritorio como escritorio por defecto cuando se active el Menú de " + DescripcionAddon() +
"?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, DialogResult.Yes) == DialogResult.Yes);
303 if (loControlador != null)
305 Dictionary<string, object> loDictValues = DictValues(tnIdDesktop, tcAddon);
320 private Dictionary<string, object> DictValues(
int tnIdDesktop,
string tcAddon)
322 Dictionary<string, object> loDictValues =
new Dictionary<string, object>();
323 loDictValues.Add(
"ADDON", tcAddon);
324 loDictValues.Add(
"IDDESKTOP", tnIdDesktop);
328 #endregion Métodos privados
static sage.ew.usuario.Usuario _This
Instancia estática del objeto usuario con los datos del usuario actual (wc_usuario) ...
Pretederminamos el diseño de un escritorio para un usuario/Addon
Clase ItemSelectorDesktop que se presenta en el selector del desktop
bool _GetIdDesktopAddon(Dictionary< string, object > toDictValues, ref int tnIdDesktop, ref bool tlDesktopBase)
Devuelve el Id del Addon para ver si se ha de cargar un escritorio al cambiar de Menú ...
bool _DeleteUsrDesktopAddon(Dictionary< string, object > toDictValues)
Eliminar el registro que predetermina un desktop por usuario / Addon
Clase controlador que se utilizará en el escritorio de Sage 50
PAra eliminar el registro que predetermina un registro para un usuario/Addon
bool _SaveUsrDesktopAddon(Dictionary< string, object > toDictValues)
Predetermina un desktop por usuario / Addon
Definición de la clase Usuario