AsientosBasePortalCli.cs
1 using sage.ew.global;
2 using sage.ew.interficies;
3 using sage.ew.objetos;
4 using Sage.ES.S50.Addons;
5 using System;
6 using System.Collections.Generic;
7 using System.Linq;
8 using System.Text;
9 using System.Windows.Forms;
10 using sage.ew.articulo;
11 using sage.ew.docsven;
12 using sage.ew.functions;
13 using System.Data;
14 using sage.ew.formul;
16 using sage.ew.contabilidad;
17 
18 namespace sage.addons.portalcli.Visual.UserControls
19 {
23  public partial class AsientosPortalCliMenuItem : ToolStripMenuItem
24  {
25  #region Propiedades
26 
30  protected IFormBase _oForm = null;
31 
32  protected IAsientos _oAsiento = null;
33 
34  #endregion Propiedades
35 
36 
37  #region Métodos públicos
38 
39 
45  {
46  _Asiento = toAsiento as Asientos;
47  }
48 
53  {
54 
55  }
56 
61  {
62  if (toFormBase is IFormBase) _oForm = (IFormBase)toFormBase;
63  CargarMenu();
64  }
65 
70  {
71  _oForm = (IFormBase)toFormBase;
72  CargarMenu();
73  }
74 
75  #endregion Métodos públicos
76 
77  #region Métodos protected
78 
79  protected Asientos _Asiento
80  {
81  get
82  {
83  if(_oAsiento == null ) _oAsiento = ((frmAsientos)_oForm)?._Documento as Asientos;
84  return _oAsiento as Asientos;
85  }
86  set
87  {
88  _oAsiento = value;
89  }
90  }
91 
92  protected ExtensionAsientos _Extension
93  {
94  get
95  {
96  ExtensionAsientos loExt = null;
97 
98  if (_Asiento._Addons.ContainsKey(PORTALCLI._NombreAddOn)) loExt = _Asiento._Addons[PORTALCLI._NombreAddOn] as ExtensionAsientos;
99 
100  return loExt;
101  }
102  }
103 
104  protected virtual string GetTitulo() => "";
105 
106  protected virtual string GetPregunta() => "";
107 
108  protected virtual bool OnClick()
109  {
110  return true;
111  }
112 
113  #endregion Métodos protected
114 
115  #region Métodos privados
116 
121  private void CargarMenu()
122  {
123  Text = GetTitulo();
124  Click += BtOpcionesAsientosPortalCli_Click;
125 
126  }
127 
128  private void BtOpcionesAsientosPortalCli_Click(object sender, EventArgs e)
129  {
130  DialogResult loDialog;
131  Dictionary<eBotonesMessagebox, string> loDic = new Dictionary<eBotonesMessagebox, string>() { { eBotonesMessagebox.Ok, "Continuar" }, { eBotonesMessagebox.Cancel, "Cancelar" } };
132 
133  if (!_Asiento._EnUso)
134  {
135  loDialog = FUNCTIONS._MessageBox(GetPregunta(), "Mi Asesoría", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, loDic);
136 
137  if (loDialog == DialogResult.OK)
138  {
139  OnClick();
140 
141  ((frmAsientos)_oForm)._EstadoDocumento = EstadosDocumento.HayDocumento;
142 
143  }
144  }
145  else
146  {
147  FUNCTIONS._MessageBox("El documento está \"En uso\" no se puede modificar.", ((IModulo)AddonsController.Instance.AddonsManager.GetAddon(PORTALCLI._NombreAddOn))._Nombre2, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
148  }
149  }
150 
151 
152  #endregion Métodos privados
153  }
154 }
eBotonesMessagebox
Enumeración de los botones que se pueden definir en un _Messagebox
Definition: formul.cs:11
PE-93426 Interficie para los módulos de la aplicación
Definition: IModulo.cs:22
Este es el espacio de nombres de su módulo. Puede encontrar más información y ayuda en el fichero rea...
static AddonsController Instance
Instancia al objeto singleton Addons
Clase base para el módulo portalcli
Definition: SageAddons.cs:33
Argumentos para los eventos lanzados por el addons en caso de error
Interficie Asientos
Definition: IAsientos.cs:17
Clase utilizada para realizar asientos contables.
Definition: Asientos.cs:36
Formulario de asientos contables
Definition: frmAsientos.cs:30
object GetAddon(int numaddon)
Obtiene el addon por numero
Interficie para paginas de documentos
Interface para formularios que deriven de FormBase
Definition: IFormBase.cs:12
AsientosPortalCliMenuItem(IListasPreviasDocumento toFormBase)
Inicializa una nueva instancia de la clase
AsientosPortalCliMenuItem()
Constructor para utilizar en la navegación de los modelos
IAddonsManager AddonsManager
Gestor de Addons
EstadosDocumento
Enumera los posibles estados del documento
AsientosPortalCliMenuItem(IAsientos toAsiento)
Constructor para utilizar en la navegación de los modelos
AsientosPortalCliMenuItem(IFormBase toFormBase)
Inicializa una nueva instancia de la clase