frmVisores.cs
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using sage.ew.formul;
10 using sage.ew.formul.Forms;
11 using sage.ew.objetos;
12 using sage.ew.global;
13 using sage.ew.netvfp;
14 using sage.ew.functions.Clases;
17 
18 namespace sage.ew.empresa.Forms
19 {
23  public partial class frmVisores : FormDialog
24  {
25  #region PROPIEDADES
26 
30  private Visores _oVisores;
31 
35  private Visores _Visores
36  {
37  get
38  {
39  return _oVisores;
40  }
41  set
42  {
43  _oVisores = value;
44  }
45  }
46 
50  private bool _Actualizando = false;
51 
52  #endregion
53 
57  public frmVisores()
58  {
59  InitializeComponent();
60  _Pantalla = "VISORES"; // Bug 196400
61  }
62 
63  #region PRIVATE METHODS
64 
65 
71  private void btDocAceptar1_Click(object sender, EventArgs e)
72  {
73  _Actualizando = true;
74  SuscribirEventos(true);
75  HabilitarBotones(false);
76 
77  _Visores._ActualizarVisores();
78  ewVisores.Refresh();
79 
80  HabilitarBotones(true);
81  SuscribirEventos(false);
82  BarraVisible(false);
83  _Actualizando = false;
84  int lnCont = _Visores._Visores.AsEnumerable().Where(s => s._actualizado).Count();
85  _MessageBox("El proceso ha finalizado actualizando " + lnCont.ToString().Trim() + " visores.", Text, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
86 
87  this.DialogResult = DialogResult.None;
88  return;
89  }
90 
97  void btDocCancelar1_Click(object sender, EventArgs e)
98  {
99  this.DialogResult = DialogResult.Cancel;
100  this.Close();
101  }
102 
108  private void frmVisores_Shown(object sender, EventArgs e)
109  {
110  if (_Visores == null)
111  {
112  _Visores = new Visores();
113  _Visores._Load();
114  }
115  ConfigurarGrid();
116  }
117 
121  private void ConfigurarGrid()
122  {
123  ewVisores.Columns.Clear();
124 
125  DataGridViewTextBoxColumn colId = new DataGridViewTextBoxColumn();
126  colId.Name = "id";
127  colId.HeaderText = "";
128  colId.DataPropertyName = "_Id";
129  colId.Visible = false;
130  ewVisores.Columns.Add(colId);
131 
134  colSel._SelectionColumn = true;
135  colSel.Name = "sel";
136  colSel.HeaderText = " ";
137  colSel.ValueType = typeof(bool);
138  colSel.Visible = true;
139  colSel.ReadOnly = false;
140  colSel.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
141  colSel.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
142  colSel.SortMode = DataGridViewColumnSortMode.Automatic;
143  colSel.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
144  colSel.DataPropertyName = "_sel";
145  colSel.ReadOnly = false;
146  ewVisores.Columns.Add(colSel);
147 
148  DataGridViewTextBoxColumn colNombre = new DataGridViewTextBoxColumn();
149  colNombre.Name = "nombre";
150  colNombre.HeaderText = "Nombre";
151  colNombre.DataPropertyName = "_Nombre";
152  colNombre.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
153  colNombre.ReadOnly = true;
154  ewVisores.Columns.Add(colNombre);
155 
156  DataGridViewTextBoxColumn colFecha = new DataGridViewTextBoxColumn();
157  colFecha.Name = "fecha";
158  colFecha.HeaderText = "Fecha Ult.";
159  colFecha.DataPropertyName = "_FechaUlt";
160  colFecha.ReadOnly = true;
161  ewVisores.Columns.Add(colFecha);
162 
163  DataGridViewTextBoxColumn colVersion = new DataGridViewTextBoxColumn();
164  colVersion.Name = "version";
165  colVersion.HeaderText = "Versión instalada";
166  colVersion.DataPropertyName = "_Version";
167  colVersion.ReadOnly = true;
168  ewVisores.Columns.Add(colVersion);
169 
170  DataGridViewTextBoxColumn colVersionActua = new DataGridViewTextBoxColumn();
171  colVersionActua.Name = "versionActua";
172  colVersionActua.HeaderText = "Versión actualización";
173  colVersionActua.DataPropertyName = "_VersionActua";
174  colVersionActua.ReadOnly = true;
175  ewVisores.Columns.Add(colVersionActua);
176 
177  ewVisores.AutoGenerateColumns = false;
178  ewVisores.AllowUserToAddRows = false;
179  ewVisores.AllowUserToDeleteRows = false;
180  ewVisores.AllowUserToResizeColumns = false;
181  ewVisores.AllowUserToResizeRows = false;
182  ewVisores.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
183 
184  //ewVisores.Columns["nombre"].Width = 200;
185  ewVisores.Columns["fecha"].Width = 95;
186  ewVisores.Columns["version"].Width = 130;
187  ewVisores.Columns["versionActua"].Width = 140;
188 
189  ewVisores.DataSource = _Visores._Visores;
190  ewVisores._Event_ToggleSeleccionCheck += ewVisores__Event_ToggleSeleccionCheck;
191  ewVisores.RowPrePaint += new DataGridViewRowPrePaintEventHandler(this.ewVisores_RowPrePaint);
192 
193  }
194 
195  // Nueva operativa para columnas de selección
196  private void ewVisores__Event_ToggleSeleccionCheck(bool tlEstado)
197  {
198  // Pasar el foco fuera del grid para evitar que la fila actual no cambie el estado de Selección correctamente
199  this.btDocAceptar1.Focus();
200 
201  if (ewVisores.Rows.Count > 0)
202  {
203  // Recorro el grid marcando los visores
204  for (int lnIndexFila = 0; lnIndexFila < ewVisores.Rows.Count; lnIndexFila++)
205  {
206  ewVisores.Rows[lnIndexFila].Cells["sel"].Value = tlEstado;
207  }
208  }
209  }
210 
216  private void ewVisores_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
217  {
218  DataGridViewRow loRow = ewVisores.Rows[e.RowIndex];
219 
220  if (Convert.ToString(loRow.Cells["version"].Value).ToLower().Trim() != Convert.ToString(loRow.Cells["versionActua"].Value).ToLower().Trim())
221  ewVisores.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Red;
222  else
223  ewVisores.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Black;
224  }
225 
226  private void _Visores__Mostrar_Progreso_Async(VisorProgres toProgres)
227  {
228  try
229  {
230  BarraVisible(toProgres.Visible);
231  ewprogressbar.Value = toProgres.Valor;
232  ewprogressbar.Maximum = toProgres.Maximo;
233  ewlblProgreso.Text = toProgres.Texto;
234  Refresh();
235  }
236  catch (Exception) { }
237  }
238 
243  private void BarraVisible(bool tlVisible)
244  {
245  ewpanel1.Visible = tlVisible;
246  ewlblProgreso.Visible = tlVisible;
247  ewprogressbar.Visible = tlVisible;
248  }
249 
250  private void SuscribirEventos(bool tlSuscribir)
251  {
252  if (tlSuscribir)
253  {
254  _Visores._Mostrar_Progreso_Async += _Visores__Mostrar_Progreso_Async;
255  FormClosing += FrmVisores_FormClosing;
256  }
257  else
258  {
259  _Visores._Mostrar_Progreso_Async -= _Visores__Mostrar_Progreso_Async;
260  FormClosing -= FrmVisores_FormClosing;
261  }
262  }
263 
264  private void HabilitarBotones(bool tlHabilitar)
265  {
266  btDocAceptar1.Enabled = tlHabilitar;
267  btDocCancelar1.Enabled = tlHabilitar;
268  }
269 
270  private void FrmVisores_FormClosing(object sender, FormClosingEventArgs e)
271  {
272  if (_Actualizando)
273  e.Cancel = true;
274  }
275 
276  #endregion
277 
278  }
279 
280 }
Clase visual para mostrar visores
Definition: frmVisores.cs:23
Clase sage.ew.objetos.ewprogressbar
HorizontalAlignment _ColumnHeaderImageAlign
Posición de la imagen de la columna
Definition: Mantegrid.cs:5476
Clase FormDialog basada en FormBase
Definition: FormDialog.cs:17
Clase para la gestión de descarga de los Visores
Definition: Visores.cs:24
Al volver de la web del Compliance en algunos casos es necesario realizar el refresco de los parámetr...
Presenta un datagridview con botones añadir y borrar tipo Mantegrid de Eurowin
Definition: Mantegrid.cs:30