AsistenteConfigCredenciales.cs
3 using sage.ew.db;
5 using sage.ew.functions;
6 using sage.ew.global;
7 using sage.ew.usuario;
8 using Sage.Core.Pendo;
9 using System;
10 using System.Collections.Generic;
11 using System.ComponentModel;
12 using System.Data;
13 using System.Drawing;
14 using System.Linq;
15 using System.Text;
16 using System.Windows.Forms;
17 
18 namespace sage.addons.portalcli.Visual.UserControls
19 {
23  public partial class AsistenteConfigCredenciales : UserControl
24  {
25  #region PROPIEDADES PUBLICAS
26 
30  public string _CuentaSageVinculada
31  {
32  get { return cuentaSage._EmailVinculado.Trim(); }
33  }
34 
38  public string _Error_Message { get; set; }
39 
40  #endregion PROPIEDADES PUBLICAS
41 
42 
43  #region PROPIEDADES PRIVADAS
44 
48  bool _lPortalConfigurado = false;
49 
53  Usuario _oUserSel = null;
54 
58  private CfgPortalCli _oPortalCli
59  {
60  get
61  {
62  Form loForm = this.FindForm();
63  if (loForm != null)
64  return ((FormAsistentePortal)loForm)._PortalCli;
65 
66  return null;
67  }
68  }
69 
73  private AsistenteConfigEmpresas _oPagEmpresas
74  {
75  get
76  {
77  Form loForm = this.FindForm();
78  if (loForm != null)
79  return ((FormAsistentePortal)loForm)._PagEmpresas;
80 
81  return null;
82  }
83  }
84 
85  #endregion PROPIEDADES PRIVADAS
86 
87 
88  #region CONSTRUCTOR
89 
94  {
95  InitializeComponent();
96  }
97 
98  #endregion CONSTRUCTOR
99 
100 
101  #region METODOS PRIVADOS
102 
108  private void AsistenteConfigCredenciales_Load(object sender, EventArgs e)
109  {
110  userUsuarioPortal._ModoAsistente = true;
111  userUsuarioPortal._LabelUsuario = "Email usuario:";
112 
113  // Mostrar usuario actual de Sage 50 por defecto
114  txtUsuarioSage50._Codigo = PORTALCLI._Usuario.Trim();
115  SuscripcionEventos();
116 
117  // Mostrar Cuenta Sage con el usuario actual
118  cuentaSage._MostrarLabelAyuda = true;
119  cuentaSage._SoloVincular = true;
120  ConfigurarCuentaSageConUsuarioSel();
121  }
122 
126  private void SuscripcionEventos()
127  {
128  txtUsuarioSage50._Codigo_Cambiado += TxtUsuarioSage50__Codigo_Cambiado;
129  txtUsuarioSage50._Mante_Click_Before += TxtUsuarioSage50__Mante_Click_Before;
130  txtUsuarioSage50._Mante_Click_After += TxtUsuarioSage50__Mante_Click_After;
131  }
132 
136  private void CancelarSuscripcionEventos()
137  {
138  txtUsuarioSage50._Codigo_Cambiado -= TxtUsuarioSage50__Codigo_Cambiado;
139  txtUsuarioSage50._Mante_Click_Before -= TxtUsuarioSage50__Mante_Click_Before;
140  txtUsuarioSage50._Mante_Click_After -= TxtUsuarioSage50__Mante_Click_After;
141  }
142 
146  private void ConfigurarCuentaSageConUsuarioSel()
147  {
148  if (string.IsNullOrWhiteSpace(txtUsuarioSage50._Codigo))
149  return;
150 
151  // Cargar Cuenta Sage con el usuario de Sage 50 seleccionado
152  _oUserSel = new Usuario(txtUsuarioSage50._Codigo);
153  cuentaSage.CuentaSage(_oUserSel);
154 
155  // Cargar datos del usuario del portal de cliente
156  userUsuarioPortal._Load(txtUsuarioSage50._Codigo);
157 
158  // Si el usuario seleccionado ya tiene una Cuenta Sage informada, deshabilitamos casillas de email y contraseña
159  _lPortalConfigurado = !string.IsNullOrWhiteSpace(_CuentaSageVinculada) && !string.IsNullOrWhiteSpace(userUsuarioPortal._UsuarioPortal);
160  userUsuarioPortal._ReadOnly(_lPortalConfigurado);
161  }
162 
166  private void TxtUsuarioSage50__Codigo_Cambiado()
167  {
168  ConfigurarCuentaSageConUsuarioSel();
169  }
170 
175  private void TxtUsuarioSage50__Mante_Click_Before(ref bool tlOk)
176  {
177  txtUsuarioSage50._Codigo_Cambiado -= TxtUsuarioSage50__Codigo_Cambiado;
178  }
179 
183  private void TxtUsuarioSage50__Mante_Click_After()
184  {
185  txtUsuarioSage50._Codigo_Cambiado += TxtUsuarioSage50__Codigo_Cambiado;
186  }
187 
188 
193  private bool ValidEmpConnect()
194  {
195  _oPortalCli._EmpConnect._Asistente = true; // Trabajando en modo asistente la información será del grupo actual
196  bool llOk = _oPortalCli._EmpConnect._Load(txtUsuarioSage50._Codigo); // No presentamos mensaje, ya que se queda en la misma página
197  if (!llOk)
198  FUNCTIONS._MessageBox(_oPortalCli._EmpConnect._Error_Message, "Asistente de configuración", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
199 
200  // Volver a cargar usercontrol empresas si la página ya existe, para recargar los datos, por si se ha cambiado de usuario,...
201  // Hay que hacerlo de esta manera, puesto que estamos un un hilo distinto del que se creó el usercontrol de empresas.
202  if (_oPagEmpresas != null)
203  {
204  Invoke(new MethodInvoker(() => {
205  _oPagEmpresas._Load();
206  }));
207  }
208 
209  return llOk;
210  }
211 
212  #endregion METODOS PRIVADOS
213 
214 
215  #region METODOS PUBLICOS
216 
221  public bool _Valid()
222  {
223  if (!userUsuarioPortal._Valid())
224  return false;
225 
226  if (string.IsNullOrWhiteSpace(_CuentaSageVinculada))
227  {
228  FUNCTIONS._MessageBox("Para poder seguir con el asistente debe vincular una Cuenta Sage con el usuario de Sage 50.", "Asistente de configuración", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
229  return false;
230  }
231 
232  _oPortalCli._CfgUser._UsuarioPortal = userUsuarioPortal._UsuarioPortal;
233  if (!_lPortalConfigurado && !_oPortalCli._Kabiku._Init(userUsuarioPortal._UsuarioPortal, userUsuarioPortal._PasswordUsuarioPortal))
234  {
235  FUNCTIONS._MessageBox(_oPortalCli._Kabiku._MensajeError, "Asistente de configuración", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
236  return false;
237  }
238 
239  return ValidEmpConnect();
240  }
241 
246  public bool _Save()
247  {
248  bool llOk = _oPortalCli._CfgUser._Save();
249  if (!llOk)
250  _Error_Message = DB.Error_Message;
251 
252  return llOk;
253  }
254 
255  #endregion METODOS PUBLICOS
256  }
257 }
Este es el espacio de nombres de su módulo. Puede encontrar más información y ayuda en el fichero rea...
bool _Valid()
Método para realizar validaciones antes se salir de la página
Asistente para la configuración acceso Portal Cliente con Sage Despachos
Clase principal de configuraciones para el Add-on del Portal del Cliente Contendrá instancias a las c...
Definition: CfgPortalCli.cs:14
Usercontrol para la página de credenciales del asitente de conexión con Despachos ...
Definición de la clase Usuario
Definition: clsUsuario.cs:113