UserEmpresas.cs
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Drawing;
5 using System.Data;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
11 using sage.ew.interficies;
12 using sage.ew.ewbase;
13 using sage.ew.images.Properties;
14 using sage.ew.db;
16 using sage.ew.functions;
18 using sage.ew.formul.Forms;
19 using sage.ew.formul;
20 using sage.ew.ewbase.Clases;
21 
22 namespace sage.addons.portalcli.Visual.UserControls
23 {
27  public partial class UserEmpresas : UserControl, ITabMante
28  {
29  #region Propiedades privadas
30  private EmpConnect _oEmpConnect = null;
31  private bool _lAsistente = true;
32  private string _cCodigo = string.Empty;
33 
39  private bool _lActual
40  {
41  get
42  {
43  return (_lAsistente || (!_lAsistente && !string.IsNullOrWhiteSpace(_ewMante._Codigo) && (_ewMante._Codigo == PORTALCLI._GrupoEmpresaActual)));
44  }
45  }
46 
50  private string _cGrupo
51  {
52  get
53  {
54  if (!_lAsistente && _ewMante != null) // && !string.IsNullOrWhiteSpace(_ewMante._Codigo) && PORTALCLI._GrupoEmpresaActual != _ewMante._Codigo )
55  return _ewMante._Codigo;
56 
57  return "";
58  }
59  }
60 
64  [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
65  public EmpConnect _EmpConnect
66  {
67  get { return _oEmpConnect; }
68  set { _oEmpConnect = value; }
69  }
70 
71  #endregion Propiedades privadas
72 
73  #region Propiedades públicas
74  public _ExtensionMante extensionMante;
78 
82  public ewMante _ewMante { get; set; }
83  #endregion Propiedades públicas
84 
85  #region Constructores
86  public UserEmpresas()
90  {
91  InitializeComponent();
92  ConstructorPrivado();
93  }
94 
100  public UserEmpresas(_ExtensionMante _extensionMante, ewMante toMante, bool tlAsistente = true)
101  {
102  InitializeComponent();
103 
104  _lAsistente = tlAsistente;
105  extensionMante = _extensionMante;
106  _ewMante = toMante;
107 
108  ConstructorPrivado();
109  }
110 
114  private void ConstructorPrivado()
115  {
116  if (!DesignMode)
117  _Binding();
118  }
119  #endregion Constructores
120 
121  #region Métodos protected override
122  protected override void OnHandleCreated(EventArgs e)
127  {
128  base.OnHandleCreated(e);
129 
130  if (_lAsistente)
131  {
132  ewtablelayoutpanelEmpresas.RowStyles[0].Height = 0;
133  ewtablelayoutpanelEmpresas.RowStyles[1].Height = 0;
134  ewtablelayoutpanelEmpresas.RowStyles[2].Height = 0;
135  }
136  else
137  {
138  btAnadir.Image = Resources.add_line_16;
139  btBorrar.Image = Resources.anul_linea_16;
140  }
141 
142  SuscripcionEventos();
143  }
144  #endregion Métodos protected override
145 
146  #region Métodos públicos
147  public void _Binding()
151  {
152  if (!_lAsistente && _cCodigo == _ewMante._Codigo)
153  return;
154 
155  CancelarSuscripcionEventos();
156 
157  ConfigurarGrid();
158 
159  RefreshData();
160 
161  SuscripcionEventos();
162 
163  if (!_lAsistente)
164  _cCodigo = _ewMante._Codigo;
165  }
166 
171  public void _BloquearControles(bool tlReadOnly)
172  {
173  if (_lAsistente)
174  return;
175 
176  bool llEnabled = !tlReadOnly && _ewMante._Estado == ewMante._EstadosMantenimiento.EditandoRegistro && _lActual;
177 
178  btConectar.Enabled = llEnabled;
179 
180  BloquearControles();
181  }
182 
187  public bool _Save()
188  {
189  if (_oEmpConnect == null) // Al crear un grupo no tenemos la instancia
190  return true;
191 
192  if (!_lActual) // Guardaremos únicamente en el grupo actual
193  return true;
194 
195  _ewMante._Error_Message = string.Empty;
196 
197  bool llOk = _oEmpConnect._Save();
198 
199  if (!llOk)
200  _ewMante._Error_Message = _oEmpConnect._Error_Message;
201 
202  return llOk;
203  }
204  #endregion Métodos públicos
205 
206  #region Métodos privados
207  private void BloquearControles()
211  {
212  bool llEnabled = btConectar.Enabled && !string.IsNullOrWhiteSpace(ewtextboxIdentificadorDespacho.Text);
213 
214  EmpConnectRelacion loEmpConnectRelacion = llEnabled ? DataBoundItemEmpConnectRelacion() : null;
215 
216  btAnadir.Enabled = llEnabled;
217  btBorrar.Enabled = llEnabled && loEmpConnectRelacion != null;
218 
219  ConfigurarBotonConectar();
220  }
221 
225  private void ConfigurarBotonConectar()
226  {
227  if (_lAsistente)
228  return;
229 
230  if (_oEmpConnect != null && !string.IsNullOrWhiteSpace(_oEmpConnect._IdDespacho))
231  {
232  if (btConectar.Enabled)
233  {
234  Color loColorForecolor = Color.FromArgb(205, 56, 75);
235 
236  btConectar._PropiedadesDeEstilos._AplicarEstilos = false;
237  btConectar.BackColor = loColorForecolor;
238  btConectar.ForeColor = Color.White;
239  btConectar.FlatStyle = FlatStyle.Flat;
240  btConectar.FlatAppearance.BorderColor = loColorForecolor;
241  btConectar.FlatAppearance.BorderSize = 1;
242  btConectar.TextAlign = ContentAlignment.MiddleCenter;
243  }
244  else
245  btConectar._PropiedadesDeEstilos._AplicarEstilos = true;
246 
247  btConectar.Text = "Desasignar";
248  }
249  else
250  {
251  btConectar._PropiedadesDeEstilos._AplicarEstilos = true;
252  btConectar.Text = "Asignar";
253 
254  if (btConectar.Enabled)
255  btConectar._PropiedadesDeEstilos._CargarEstilo("sage.ew.botones.btDocAceptar");
256  }
257  }
258 
262  private void SuscripcionEventos()
263  {
264  CancelarSuscripcionEventos();
265 
266  btConectar.Click += btConectar_Click;
267 
268  btAnadir.Click += BtAnadir_Click;
269  btBorrar.Click += BtBorrar_Click;
270 
271  if (_lAsistente)
272  VisibleChanged += UserEmpresas_VisibleChanged;
273 
274  ewgridEmpresas.RowEnter += EwgridEmpresas_RowEnter;
275 
276  if (_lAsistente)
277  ewgridEmpresas.CurrentCellDirtyStateChanged += EwgridEmpresas_CurrentCellDirtyStateChanged;
278  }
279 
283  private void CancelarSuscripcionEventos()
284  {
285  btConectar.Click -= btConectar_Click;
286 
287  btAnadir.Click -= BtAnadir_Click;
288  btBorrar.Click -= BtBorrar_Click;
289 
290  if (_lAsistente)
291  VisibleChanged -= UserEmpresas_VisibleChanged;
292 
293  ewgridEmpresas.RowEnter -= EwgridEmpresas_RowEnter;
294 
295  if (_lAsistente)
296  ewgridEmpresas.CurrentCellDirtyStateChanged -= EwgridEmpresas_CurrentCellDirtyStateChanged;
297  }
298 
304  private void UserEmpresas_VisibleChanged(object sender, EventArgs e)
305  {
306  if (Visible && !Disposing && !IsDisposed)
307  {
308  if (_lAsistente)
309  RefrescarImagenesTooltips();
310  }
311  }
312 
318  private void EwgridEmpresas_RowEnter(object sender, DataGridViewCellEventArgs e)
319  {
320  if (!_lAsistente && _ewMante._Estado == ewMante._EstadosMantenimiento.EditandoRegistro)
321  BloquearControles();
322  }
323 
329  private void EwgridEmpresas_CurrentCellDirtyStateChanged(object sender, EventArgs e)
330  {
331  string lcColName = ewgridEmpresas.Columns[ewgridEmpresas.CurrentCell.ColumnIndex].Name;
332  if (lcColName == "sel" || lcColName == "emp_desp")
333  {
334  // Obtener negocio de la fila actual del grid
335  EmpConnectRelacion loEmpConnectRelacion = DataBoundItemEmpConnectRelacion();
336 
337  if (ewgridEmpresas.IsCurrentCellDirty)
338  {
339  // Provocar actualización del negocio relacionado
340  ewgridEmpresas.CommitEdit(DataGridViewDataErrorContexts.Commit);
341 
342  // Revisar si hay que mostrar algun mensaje
343  if (!string.IsNullOrWhiteSpace(loEmpConnectRelacion._Mensaje))
344  {
345  FUNCTIONS._MessageBox(loEmpConnectRelacion._Mensaje, "Selección de empresas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
346  if (!(lcColName == "emp_desp" && loEmpConnectRelacion._EmpDespReadOnly))
347  ewgridEmpresas["sel", ewgridEmpresas.CurrentCell.RowIndex].Value = false;
348 
349  ewgridEmpresas.CurrentCell = ewgridEmpresas["Conexion", ewgridEmpresas.CurrentCell.RowIndex];
350  }
351 
352  // Rerescar icono/tooltip fila actual, después de haber pasado por las validaciones de negocio (EmpConnectRelacion.ValidarSel y EmpConnectRelacion.ValidarRelacionEmpresa)
353  ResfrescarImagenToolTip(ewgridEmpresas.CurrentCell.OwningRow);
354  }
355  }
356  }
357 
363  private void btConectar_Click(object sender, EventArgs e)
364  {
365  if (string.IsNullOrWhiteSpace(ewtextboxIdentificadorDespacho.Text))
366  ShowAsistente();
367  else
368  {
369  if (FUNCTIONS._MessageBox($"Si desasignas identificador perderás la conexión con el Portal del cliente con Sage Despachos, se eliminará la configuración.{Environment.NewLine}{Environment.NewLine}" +
370  $"¿Estás seguro que deseas continuar y eliminar configuración en el grupo de empresa {PORTALCLI._GrupoEmpresaActual}?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, DialogResult.No, tcText: "Mantenimiento de grupos de empresas") == DialogResult.Yes)
371  {
372  if (PORTALCLI._CfgPortalCli._Delete())
373  {
374  _cCodigo = string.Empty; // Para que vuelva a realizar el _Binding correspondiente
375 
376  // Guardamos el mantenimiento y realizamos el correspondiente _Binding para recargar la información
377  GuardarMantenimiento();
378 
379  PORTALCLI._RefreshDesktop();
380  }
381  }
382  }
383  }
384 
396  private void BtBorrar_Click(object sender, EventArgs e)
397  {
398  EmpConnectRelacion loEmpConnectRelacion = DataBoundItemEmpConnectRelacion();
399 
400  if (loEmpConnectRelacion != null)
401  {
402  if (FUNCTIONS._MessageBox("¿Seguro que desea borrar la línea seleccionada?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, DialogResult.No, tcText: "Mantenimiento de grupos de empresas") == DialogResult.No)
403  return;
404 
405  loEmpConnectRelacion._Sel = false;
406 
407  CancelarSuscripcionEventos();
408 
409  ewgridEmpresas.DataSource = null;
410 
411  _oEmpConnect._Delete(loEmpConnectRelacion);
412 
413  _oEmpConnect._EmpresasRelacion.Remove(loEmpConnectRelacion);
414 
415  ewgridEmpresas.DataSource = _oEmpConnect._EmpresasRelacion;
416 
417  SuscripcionEventos();
418  }
419  }
420 
425  private EmpConnectRelacion DataBoundItemEmpConnectRelacion()
426  {
427  EmpConnectRelacion loEmpConnectRelacion = null;
428 
429  if (ewgridEmpresas.CurrentRow != null)
430  {
431  DataGridViewCell loCell = ewgridEmpresas.CurrentCell;
432 
433  if (loCell != null)
434  loEmpConnectRelacion = (EmpConnectRelacion)loCell.OwningRow.DataBoundItem;
435  }
436 
437  return loEmpConnectRelacion;
438  }
439 
446  private void BtAnadir_Click(object sender, EventArgs e)
447  {
448  // Actualizamos los cambios pendientes
449  _oEmpConnect._Save();
450 
451  ShowAsistente(true);
452 
453  GuardarMantenimiento();
454  }
455 
461  private void ShowAsistente(bool tlPaginaEmpresas = false)
462  {
463  using (FormAsistentePortal loFormAsistente = new FormAsistentePortal())
464  {
465  if (tlPaginaEmpresas)
466  loFormAsistente._PaginaAsistente = _oEmpConnect._EmpresasRelacion.Count == 0 ? 2 : 3;
467 
468  loFormAsistente._ShowDialog();
469  }
470 
471  if (!_lAsistente)
472  {
473  _cCodigo = string.Empty;
474 
475  GuardarMantenimiento();
476  }
477  }
478 
482  private void GuardarMantenimiento()
483  {
484  _ewMante._Estado = ewMante._EstadosMantenimiento.MostrandoRegistro;
485 
486  EnUso loEnUso = new EnUso
487  {
488  _Clave = $"GRUPOSEMP|{_ewMante._Codigo}",
489  _Tipo = "MANTES"
490  };
491 
492  loEnUso._Desbloquear();
493  loEnUso = null;
494 
495  _Binding();
496  }
497 
501  private void ConfigurarGridSegunModo()
502  {
503  if (_lAsistente)
504  {
506  {
507  ldgtbColSel.Name = "sel";
508  ldgtbColSel.HeaderText = "Sel.";
509  ldgtbColSel.ValueType = typeof(bool);
510  ldgtbColSel.Visible = true;
511  ldgtbColSel.ReadOnly = false;
512  ldgtbColSel.Width = _lAsistente ? 40 : 60;
513  ldgtbColSel.DataPropertyName = "_Sel";
514  ldgtbColSel.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
515  ldgtbColSel.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
516  ldgtbColSel.SortMode = DataGridViewColumnSortMode.Automatic;
517  ewgridEmpresas.Columns.Add(ldgtbColSel);
518  }
519 
520  CreateTextBoxColumn("_ImagenConexion", "Imagen conexión", "_ImagenConexion", 10, tlVisible: false);
521  CreateTextBoxColumn("_TipoRelacionEmpresa", "Tipo relación", "_TipoRelacionEmpresa", 10, tlVisible: false);
522 
523  using (DataGridViewImageColumn ldgtbColObservaciones = new DataGridViewImageColumn())
524  {
525  ldgtbColObservaciones.Name = "Conexion";
526  ldgtbColObservaciones.HeaderText = "Conexión";
527  ldgtbColObservaciones.Width = 30;
528  ldgtbColObservaciones.Resizable = DataGridViewTriState.False;
529 
530  ldgtbColObservaciones.DefaultCellStyle.NullValue = null;
531  ldgtbColObservaciones.ValueType = typeof(ew.objetos.ewbutton);
532  ldgtbColObservaciones.Visible = true;
533  ldgtbColObservaciones.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
534  ldgtbColObservaciones.SortMode = DataGridViewColumnSortMode.NotSortable;
535 
536  ldgtbColObservaciones.ReadOnly = true;
537 
538  ewgridEmpresas.Columns.Add(ldgtbColObservaciones);
539  }
540  }
541  else
542  {
543  CreateTextBoxColumn("usuario", "Usuario", "_NombreUsuario", 100);
544  }
545  }
546 
550  private void LoadEmpConnect()
551  {
552  if (!_lAsistente) // En modo asistente no es necesario realizar el Load del Addon ya viene del asistente cargado
553  {
554  if (_oEmpConnect == null)
555  {
556  _oEmpConnect = PORTALCLI._CfgPortalCli._EmpConnect;
557  _oEmpConnect._Asistente = _lAsistente;
558  }
559 
560  _oEmpConnect._DescargarDatos();
561  _oEmpConnect._Grupo = _cGrupo;
562  _oEmpConnect._Asistente = _lAsistente;
563 
564  bool llOk = true;
565 
566  if ((!_lAsistente && !string.IsNullOrWhiteSpace(_cGrupo)) || _lAsistente) // Si estamos en el mantenimiento de grupos y no hay grupo no es necesario realizar el _Load
567  _oEmpConnect._Load();
568 
569  if (!llOk && !string.IsNullOrWhiteSpace(_oEmpConnect._Error_Message))
570  FUNCTIONS._MessageBox(_oEmpConnect._Error_Message, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, DialogResult.OK, tcText: "Mantenimiento de grupos de empresas");
571  }
572  }
573 
577  private void ConfigurarGrid()
578  {
579  LoadEmpConnect();
580 
581  if (ewgridEmpresas.Columns.Count > 0)
582  ewgridEmpresas.Columns.Clear();
583 
584  ewgridEmpresas.AutoGenerateColumns = false;
585  ewgridEmpresas.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
586  ewgridEmpresas.AllowUserToResizeRows = false;
587 
588  ConfigurarGridSegunModo();
589 
590  CreateTextBoxColumn("empresa", "Empresa", "_Empresa", _lAsistente ? 70 : 80);
591  CreateTextBoxColumn("nombre", "Nombre", "_Nombre", _lAsistente ? 200 : 350);
592  CreateTextBoxColumn("cif", "CIF", "_Cif", _lAsistente ? 80 : 100);
593 
594  if (_lAsistente)
595  CreateComboBoxColumnEmpresaDespacho();
596  else
597  CreateTextBoxColumn("emp_nom_desp", "Empresa despacho", "_Emp_Nom_Desp", 350, tlFill: true);
598  }
599 
603  private void RefreshData()
604  {
605  if (_oEmpConnect == null)
606  return;
607 
608  BindingList<EmpConnectRelacion> lstEmpresas = new BindingList<EmpConnectRelacion>(_oEmpConnect._EmpresasRelacion);
609 
610  ewgridEmpresas.DataSource = lstEmpresas;
611 
612  RefrescarImagenesTooltips();
613 
614  IdentificarDespacho();
615 
616  ConfigurarBotonConectar();
617  }
618 
622  private void RefrescarImagenesTooltips()
623  {
624  if (!_lAsistente)
625  return;
626 
627  string lcImagenConexion = string.Empty;
628  string lcTipoRelacion = string.Empty;
629  string lcToolTip = string.Empty;
630 
631  foreach (DataGridViewRow ldrDataGridViewRow in ewgridEmpresas.Rows)
632  ResfrescarImagenToolTip(ldrDataGridViewRow);
633  }
634 
639  private void ResfrescarImagenToolTip(DataGridViewRow toDataGridViewRow)
640  {
641  string lcImagenConexion = ImagenConexion(toDataGridViewRow);
642  string lcToolTip = TooltipRelacionEmpresa(toDataGridViewRow);
643 
644  Bitmap loBitmap = null;
645 
646  if (!string.IsNullOrWhiteSpace(lcImagenConexion))
647  {
648  switch (lcImagenConexion)
649  {
650  case "Correcto":
651  loBitmap = Resources.icon_correcto;
652  break;
653 
654  case "Aviso":
655  loBitmap = Resources.icon_aviso;
656  break;
657 
658  case "Error":
659  loBitmap = Resources.icon_error;
660  break;
661 
662  default:
663  break;
664  }
665  }
666 
667  toDataGridViewRow.Cells["Conexion"].Value = loBitmap;
668  toDataGridViewRow.Cells["Conexion"].ToolTipText = lcToolTip;
669  }
670 
676  private string ImagenConexion(DataGridViewRow toDataGridViewRow)
677  {
678  string lcImagenConexion = string.Empty;
679 
680  try
681  {
682  lcImagenConexion = Convert.ToString(toDataGridViewRow.Cells["_ImagenConexion"].Value);
683  }
684  catch (Exception loEx)
685  {
686  DB.Registrar_Error(loEx);
687  }
688 
689  return lcImagenConexion;
690  }
691 
697  private string TooltipRelacionEmpresa(DataGridViewRow toDataGridViewRow)
698  {
699  string lcToolTip = string.Empty;
700 
701  try
702  {
703  string lcTipoRelacion = Convert.ToString(toDataGridViewRow.Cells["_TipoRelacionEmpresa"].Value);
704  Enum.TryParse(lcTipoRelacion, out TipoRelacionEmpresas loTipoRelacionEmpresas);
705 
706  switch (loTipoRelacionEmpresas)
707  {
708  case TipoRelacionEmpresas.Ninguna:
709  break;
710  case TipoRelacionEmpresas.SinEmpresas:
711  break;
712  case TipoRelacionEmpresas.EmpresaUnicaConPermisos:
713  break;
714  case TipoRelacionEmpresas.VariasEmpresasConPermisos:
715  lcToolTip = "Existen varias empresas despacho con mismo CIF seleccione la que corresponda";
716  break;
717  case TipoRelacionEmpresas.EmpresaConectadaPreviamenteConPermisos:
718  lcToolTip = "Empresa con mismo CIF en Sage 50, selecciónela si debe conectar la empresa";
719  break;
720  case TipoRelacionEmpresas.EmpresaSinPermisos:
721  lcToolTip = "No tienes permisos para enviar datos contables a la empresa despacho";
722  break;
723  case TipoRelacionEmpresas.EmpresaSinCIF:
724  break;
725  case TipoRelacionEmpresas.EmpresaConectadaPreviamente:
726  lcToolTip = "Existe empresa en el portal del cliente con mismo CIF marque check para conectar";
727  break;
728  default:
729  break;
730  }
731  }
732  catch (Exception loEx)
733  {
734  DB.Registrar_Error(loEx);
735  }
736 
737  return lcToolTip;
738  }
739 
750  private void CreateTextBoxColumn(string tcName, string tcHeader, string tcDataPropertyName, int tnWidth, bool tlFill = false, bool tlVisible = true, bool tlReadOnly = true)
751  {
753  {
754  ldgtbNuevaColumna.Name = tcName;
755  ldgtbNuevaColumna.HeaderText = tcHeader;
756  ldgtbNuevaColumna.ValueType = typeof(string);
757  ldgtbNuevaColumna.Width = tnWidth;
758  ldgtbNuevaColumna.Visible = tlVisible;
759  ldgtbNuevaColumna.ReadOnly = tlReadOnly;
760  ldgtbNuevaColumna.DataPropertyName = tcDataPropertyName;
761 
762  if (tlFill)
763  ldgtbNuevaColumna.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
764 
765  ewgridEmpresas.Columns.Add(ldgtbNuevaColumna);
766  }
767  }
768 
775  private void CreateComboBoxColumnEmpresaDespacho()
776  {
777  if (_oEmpConnect == null)
778  return;
779 
780  //Dictionary<string, string> lstDict = _oEmpConnect._GetEmpresasCombo(_lstRelacionEmpresas);
781  Dictionary<string, string> lstDict = _oEmpConnect._GetEmpresasCombo();
782 
784  {
785  loCol.Name = "emp_desp";
786  loCol.HeaderText = "Empresa despacho";
787  loCol.DataPropertyName = "_Emp_Desp";
788  loCol.FlatStyle = FlatStyle.Flat;
789  loCol.Width = _lAsistente ? 200 : 350;
790  loCol.ReadOnly = !_lAsistente || lstDict.Count == 0;
791 
792  loCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
793 
794  loCol.ValueType = typeof(string);
795 
796  loCol.DisplayMember = "Value";
797  loCol.ValueMember = "Key";
798  loCol.DataSource = lstDict.ToList();
799 
800  loCol.Visible = true;
801  ewgridEmpresas.Columns.Add(loCol);
802  }
803  }
804 
810  private DataTable PosiblesValoresClaveString(Dictionary<string, string> tdictValores)
811  {
812  DataTable ldtValores = new DataTable();
813  ldtValores.Columns.Add("codigo", typeof(string));
814  ldtValores.Columns.Add("nombre");
815 
816  foreach (KeyValuePair<string, string> lodicValues in tdictValores)
817  ldtValores.Rows.Add(lodicValues.Key, lodicValues.Value);
818 
819  return ldtValores;
820  }
821 
825  private void CreateCheckBoxColumnPermisos()
826  {
828  {
829  ldgtbColSel.Name = "permisos";
830  ldgtbColSel.HeaderText = "Permisos";
831  ldgtbColSel.ValueType = typeof(bool);
832  ldgtbColSel.Visible = true;
833  ldgtbColSel.ReadOnly = true;
834  ldgtbColSel.Width = 60;
835  ldgtbColSel.DataPropertyName = "_PermisosExportacion";
836  ldgtbColSel.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
837  ldgtbColSel.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
838  ldgtbColSel.SortMode = DataGridViewColumnSortMode.Automatic;
839  ewgridEmpresas.Columns.Add(ldgtbColSel);
840  }
841  }
842 
846  private void IdentificarDespacho()
847  {
848  ewtextboxIdentificadorDespacho.Text = _oEmpConnect._IdDespacho;
849  }
850  #endregion Métodos privados
851  }
852 }
Control de usuario para las empresas de portalcli
Definition: UserEmpresas.cs:27
Clase de negocio base para mantenimientos
Definition: clsEwBase.cs:1643
TipoRelacionEmpresas
• No se encuentra ninguna empresa en la lista devuelta por la API para una empresa de Sage 50: Apare...
Definition: Enums.cs:64
Definición de la interfície necesaria para las páginas(tabPage) a utilizar en formularios de tipo For...
Definition: ITabMante.cs:13
Este es el espacio de nombres de su módulo. Puede encontrar más información y ayuda en el fichero rea...
Dictionary< string, string > _GetEmpresasCombo()
Devuelve el diccionario de empresas para presentar en la combo
Definition: EmpConnect.cs:362
bool _Asistente
Consulta la información para presentar en modo asistente
Definition: EmpConnect.cs:133
string _Mensaje
Mensaje para presentar en la capa visual para las validaciones
Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
bool _Save()
Realizamos el Save de la información
void _BloquearControles(bool tlReadOnly)
Bloquear controles
string _IdDespacho
Identificador del despacho. Neceario para gestionar el identificador cuando estamos consultando la in...
Definition: EmpConnect.cs:105
static System.Drawing.Bitmap anul_linea_16
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
bool _Delete()
Realizamos el Delete de las relaciones de la empresa
Definition: EmpConnect.cs:544
Clase base para las extensiones de los mantenimientos
List< EmpConnectRelacion > _EmpresasRelacion
Devuelve la lista de la relación de empresas
Definition: EmpConnect.cs:123
Asistente para la configuración acceso Portal Cliente con Sage Despachos
static System.Drawing.Bitmap icon_correcto
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
void _DescargarDatos()
Descargamos los datos
Definition: EmpConnect.cs:603
_EstadosMantenimiento
Declaro un enum para los estados del mantenimiento.
Definition: clsEwBase.cs:1671
Clase para presentar la lista de empresas en el control de usuario "UserEmpresas" ...
bool _Desbloquear(bool tlRefreshSello=true, string tcTs="")
Desbloquea un documento / mantenimiento / ...
Definition: EnUso.cs:499
Clase EmpConnect para gestionar la relación de las empresas de Sage 50 con las empresas del portal ...
Definition: EmpConnect.cs:18
bool _EmpDespReadOnly
Para saber si la empresa despacho se puede modificar
bool _Save()
Actualizamos la información de las relaciones entre las empresas
Definition: EmpConnect.cs:486
static System.Drawing.Bitmap icon_aviso
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
static System.Drawing.Bitmap add_line_16
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
UserEmpresas(_ExtensionMante _extensionMante, ewMante toMante, bool tlAsistente=true)
Constructor para utilizar en el grupo de empresas
string _Error_Message
Descripción del error
Definition: EmpConnect.cs:150
Presenta un datagridview con botones añadir y borrar tipo Mantegrid de Eurowin
Definition: Mantegrid.cs:30
static System.Drawing.Bitmap icon_error
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
Clase EnUso. PE-103176 Centralización de código para la gestión del KeyCopy de las clases que lo requ...
Definition: EnUso.cs:18