ExtensionFrmDocAlbaranProduccion.cs
1 using sage.ew.interficies;
5 using System.Windows.Forms;
6 using System;
8 
9 namespace sage.addons.offline.Visual.Forms
10 {
14  public class ExtensionFrmDocAlbaranProduccion: IDisposable
15 
16  {
17  #region Properties
18 
19  private readonly frmAlbaranProduccion _oFormDocAlbaranProduccion;
20  private btNavegacion ewbtNavegar = new btNavegacion();
21 
22  #endregion Properties
23 
24 
25  #region Constructor
26 
32  {
33  if (_toFormBase is frmAlbaranProduccion)
34  {
35  _oFormDocAlbaranProduccion = (frmAlbaranProduccion)_toFormBase;
36  SubscripcionEventosInvalidate();
37  }
38  }
39 
40  #endregion Constructor
41 
42 
43  #region Public Methods
44 
48  public void Dispose()
49  {
50  _oFormDocAlbaranProduccion.FormClosed -= _oFormDocAlbaranProduccion_FormClosed;
51  _oFormDocAlbaranProduccion.Shown -= _oFormDocPartesCostes_Shown;
52 
53  if (ewbtNavegar != null && ewbtNavegar.Controls.Count > 0)
54  {
55  for (int i = 0; i < ewbtNavegar.Controls.Count; i++)
56  {
57  ewbtNavegar.Controls[i].Click -= ExtensionFrmDocAlbaranProduccion_Click;
58  }
59  }
60  }
61 
62  #endregion Public Methods
63 
64 
65  #region Private Methods
66 
70  private void SubscripcionEventosInvalidate()
71  {
72  _oFormDocAlbaranProduccion.FormClosed += _oFormDocAlbaranProduccion_FormClosed;
73  _oFormDocAlbaranProduccion.Shown += _oFormDocPartesCostes_Shown;
74 
75  ewbtNavegar = (btNavegacion)_oFormDocAlbaranProduccion._FindControl("btNavegacion");
76 
77  if (ewbtNavegar != null)
78  {
79  if (ewbtNavegar.Controls.Count > 0)
80  {
81  for (int i = 0; i < ewbtNavegar.Controls.Count; i++)
82  {
83  ewbtNavegar.Controls[i].Click += ExtensionFrmDocAlbaranProduccion_Click;
84  }
85  }
86  }
87  }
88 
89  private void ExtensionFrmDocAlbaranProduccion_Click(object sender, EventArgs e)
90  {
91  InicializarBotones();
92  }
93 
94  private void _oFormDocPartesCostes_Shown(object sender, EventArgs e)
95  {
96  InicializarBotones();
97  }
98 
99  private void InicializarBotones()
100  {
101  if (_oFormDocAlbaranProduccion._Documento is AlbaranProduccion)
102  {
103  AlbaranProduccion loDoc;
104 
105  loDoc = _oFormDocAlbaranProduccion._Documento;
106 
107  if (loDoc._Addons.ContainsKey(OFFLINE._NombreAddOn) && loDoc._Addons[OFFLINE._NombreAddOn] is ExtensionDocAlbProduccion)
108  {
109  if (((ExtensionDocAlbProduccion)loDoc._Addons[OFFLINE._NombreAddOn])._bSoloLectura)
110  {
111  _oFormDocAlbaranProduccion.btNuevo.Enabled = true;
112  _oFormDocAlbaranProduccion.btImprimir.Enabled = true;
113  _oFormDocAlbaranProduccion.btPropiedad.Enabled = true;
114  _oFormDocAlbaranProduccion.btOpciones.Enabled = true;
115  _oFormDocAlbaranProduccion.btObserva.Enabled = true;
116  _oFormDocAlbaranProduccion.btProducciones.Enabled = true;
117  _oFormDocAlbaranProduccion.btAbrirCerrar.Enabled = true;
118  _oFormDocAlbaranProduccion.btConsultarAsignacion.Enabled = true;
119  }
120  }
121  }
122  }
123 
129  private void _oFormDocAlbaranProduccion_FormClosed(object sender, FormClosedEventArgs e)
130  {
131  this.Dispose();
132  }
133 
134  #endregion Private Methods
135  }
136 }
Interface para formularios que deriven de FormBase
Definition: IFormBase.cs:12
Clase de negocio del albarán de producción
Extensión del documento para albaranes de producción
dynamic _Documento
PE-95085: En algunos mantenimientos necesitamos la referencia al _Documento para poder hacer tratamie...
Definition: clsEwBase.cs:1835
Dictionary< string, object > _Addons
Diccionario donde cargaremos los addons disponibles
Definition: clsEwBase.cs:1761