AsistenteOfflineConfigGrupoSucursal.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;
9 using sage.ew.interficies;
10 using sage.ew.db;
11 using sage.ew.global;
12 using sage.ew.empresa;
13 using sage.ew.objetos;
14 using System.Drawing.Drawing2D;
16 using sage.ew.botones;
19 
20 namespace sage.addons.offline.Visual.UserControls
21 {
26  {
27 
28  #region PROPIEDADES
29 
30  List<DataTable> lstDatatable = new List<DataTable>();
31 
32  #endregion PROPIEDADES
33 
34 
35  #region CONSTRUCTORES
36 
41  {
42  InitializeComponent();
43 
44  ConstructorPrivado();
45  }
46 
50  private void ConstructorPrivado()
51  {
52  cboSucursales.SelectedValueChanged += cboSucursales_SelectedValueChanged;
53  }
54 
55  #endregion CONSTRUCTORES
56 
57 
58  #region METODOS PUBLICOS
59 
63  public override void _Binding()
64  {
65  Dictionary<string, string> sucursales = new Dictionary<string, string>();
66 
67  foreach (DataTable dt in lstDatatable)
68  {
69  if (dt.TableName == "SUCURSALES")
70  {
71  if (dt.Rows.Count > 1)
72  sucursales.Add("", "");
73 
74  for (int i = 0; i < dt.Rows.Count; i++)
75  {
76  sucursales.Add(dt.Rows[i][0].ToString().Trim(), dt.Rows[i][0].ToString().Trim() + " - " + dt.Rows[i][1].ToString().Trim());
77  }
78  break;
79  }
80  }
81 
82 
83  cboSucursales.DisplayMember = "Value";
84  cboSucursales.ValueMember = "Key";
85  cboSucursales.SelectedIndex = -1;
86  cboSucursales.DataSource = new BindingSource(sucursales, null);
87 
88  BindearControlPropiedad(cboSucursales, _negocioOffline, "SelectedValue", nameof(_negocioOffline.CodigoSucursal));
89 
90  }
91 
95  public void LoadIni()
96  {
97  lstDatatable = _negocioOffline.ConvertirFicheroXML();
98  _negocioOffline.Save_TablasSucursales(lstDatatable);
99  ConfigurarGrid();
100  }
101 
102 
103  #endregion METODOS PUBLICOS
104 
105 
106  #region METODOS PRIVADOS
107 
108  private void ConfigurarGrid()
109  {
110  // Grid series
111  mantegrid_series._Grid.Columns.Clear();
112  mantegrid_series._Grid.AutoGenerateColumns = false;
113 
115  ldgtbColCodigo.DataPropertyName = "LETRA";
116  ldgtbColCodigo.Name = "Codigo";
117  ldgtbColCodigo.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
118  ldgtbColCodigo.HeaderText = "Código";
119  ldgtbColCodigo.ValueType = typeof(string);
120  ldgtbColCodigo.Visible = true;
121  ldgtbColCodigo._NoParar = false;
122  ldgtbColCodigo.MaxInputLength = 4;
123  ldgtbColCodigo.ReadOnly = false;
124  ldgtbColCodigo.Width = 70;
125  ldgtbColCodigo.ToolTipText = "Código de la serie";
126  mantegrid_series._Grid.Columns.Add(ldgtbColCodigo);
127 
129  ldgtbColDescripcion.DataPropertyName = "_NOMBRE";
130  ldgtbColDescripcion.Name = "Descripcion";
131  ldgtbColDescripcion.HeaderText = "Descripción";
132  ldgtbColDescripcion.ValueType = typeof(string);
133  ldgtbColDescripcion.Visible = true;
134  ldgtbColDescripcion._NoParar = false;
135  ldgtbColDescripcion.ReadOnly = false;
136  ldgtbColDescripcion.MaxInputLength = 50;
137  ldgtbColDescripcion.Width = 100;
138  ldgtbColDescripcion.ToolTipText = "Descipción de la serie";
139  ldgtbColDescripcion.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
140  mantegrid_series._Grid.Columns.Add(ldgtbColDescripcion);
141 
142  mantegrid_series._Grid.DataSource = EstadoComunicaBizRule.Instance._sourceSeries;
143  mantegrid_series._Grid.ReadOnly = true;
144 
145 
146  // Grid almacenes
147  mantegrid_almacenes._Grid.Columns.Clear();
148  mantegrid_almacenes._Grid.AutoGenerateColumns = false;
149 
151  ldgtbColCodigoAlm.DataPropertyName = "ALMACEN";
152  ldgtbColCodigoAlm.Name = "Codigo";
153  ldgtbColCodigoAlm.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
154  ldgtbColCodigoAlm.HeaderText = "Código";
155  ldgtbColCodigoAlm.ValueType = typeof(string);
156  ldgtbColCodigoAlm.Visible = true;
157  ldgtbColCodigoAlm._NoParar = false;
158  ldgtbColCodigoAlm.MaxInputLength = 4;
159  ldgtbColCodigoAlm.ReadOnly = false;
160  ldgtbColCodigoAlm.Width = 70;
161  ldgtbColCodigoAlm.ToolTipText = "Código del almacén";
162  mantegrid_almacenes._Grid.Columns.Add(ldgtbColCodigoAlm);
163 
165  ldgtbColDescripcionAlm.DataPropertyName = "_NOMBRE";
166  ldgtbColDescripcionAlm.Name = "Descripcion";
167  ldgtbColDescripcionAlm.HeaderText = "Descripción";
168  ldgtbColDescripcionAlm.ValueType = typeof(string);
169  ldgtbColDescripcionAlm.Visible = true;
170  ldgtbColDescripcionAlm._NoParar = false;
171  ldgtbColDescripcionAlm.ReadOnly = false;
172  ldgtbColDescripcionAlm.MaxInputLength = 50;
173  ldgtbColDescripcionAlm.Width = 100;
174  ldgtbColDescripcionAlm.ToolTipText = "Descipción del almacén";
175  ldgtbColDescripcionAlm.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
176  mantegrid_almacenes._Grid.Columns.Add(ldgtbColDescripcionAlm);
177 
178  mantegrid_almacenes._Grid.DataSource = EstadoComunicaBizRule.Instance._sourceAlmacenes;
179  mantegrid_almacenes._Grid.ReadOnly = true;
180  }
181 
182  private void cboSucursales_SelectedValueChanged(object sender, EventArgs e)
183  {
186  if (cboSucursales.SelectedIndex >= 0)
187  {
188  _negocioOffline.CodigoSucursal = Convert.ToString(cboSucursales.SelectedValue);
189 
190  SeriesAlmacenesCajas_Sucursal();
191  }
192  }
193 
194  private void SeriesAlmacenesCajas_Sucursal()
195  {
196  if (!string.IsNullOrEmpty(_negocioOffline.CodigoSucursal))
197  {
198  DataTable dtSucurLet = new DataTable();
199  DataTable dtSucurAlm = new DataTable();
200  DataTable dtSucurCaja = new DataTable();
201 
202  foreach (DataTable dt in lstDatatable)
203  {
204  switch (dt.TableName)
205  {
206  case "SUCURLET":
207 
208  dtSucurLet = dt.Copy();
209 
210  DataRow[] rowsToDelete = dtSucurLet.Select("SUCURSAL <>" + DB.SQLString(_negocioOffline.CodigoSucursal));
211  foreach (var row in rowsToDelete)
212  row.Delete();
213  dtSucurLet.AcceptChanges();
214 
215  foreach (DataRow dr in dtSucurLet.Rows)
216  {
217  SucurletDto item = new SucurletDto();
218  item.LINIA = Convert.ToInt32(dr["LINIA"]);
219  item.SUCURSAL = Convert.ToString(dr["SUCURSAL"]);
220  item.LETRA = Convert.ToString(dr["LETRA"]);
221  DataRow[] rows = lstDatatable[1].Select("CODIGO =" + DB.SQLString(dr["LETRA"]));
222  if (rows.Length > 0)
223  item._NOMBRE = rows[0]["NOMBRE"].ToString();
224 
226  }
227  break;
228 
229 
230  case "SUCURALM":
231  dtSucurAlm = dt.Copy();
232 
233  DataRow[] rowsToDeleteAlm = dtSucurAlm.Select("SUCURSAL <>" + DB.SQLString(_negocioOffline.CodigoSucursal));
234  foreach (var row in rowsToDeleteAlm)
235  row.Delete();
236  dtSucurAlm.AcceptChanges();
237 
238  foreach (DataRow dr in dtSucurAlm.Rows)
239  {
240  SucuralmDto item = new SucuralmDto();
241  item.LINIA = Convert.ToInt32(dr["LINIA"]);
242  item.SUCURSAL = Convert.ToString(dr["SUCURSAL"]);
243  item.ALMACEN = Convert.ToString(dr["ALMACEN"]);
244  DataRow[] rows = lstDatatable[0].Select("CODIGO =" + DB.SQLString(dr["ALMACEN"]));
245  if (rows.Length > 0)
246  item._NOMBRE = rows[0]["NOMBRE"].ToString();
247 
249  }
250 
251  break;
252 
253  case "SUCURCAJA":
254 
255  dtSucurCaja = dt.Copy();
256 
257  DataRow[] rowsToDeleteCaja = dtSucurCaja.Select("SUCURSAL <>" + DB.SQLString(_negocioOffline.CodigoSucursal));
258  foreach (var row in rowsToDeleteCaja)
259  row.Delete();
260  dtSucurCaja.AcceptChanges();
261 
262  foreach (DataRow dr in dtSucurCaja.Rows)
263  {
264  SucurcajaDto item = new SucurcajaDto();
265  item.LINIA = Convert.ToInt32(dr["LINIA"]);
266  item.SUCURSAL = Convert.ToString(dr["SUCURSAL"]);
267  item.CAJA = Convert.ToString(dr["CAJA"]);
268  DataRow[] rows = lstDatatable[1].Select("CODIGO =" + DB.SQLString(dr["CAJA"]));
269  if (rows.Length > 0)
270  item._NOMBRE = rows[0]["NOMBRE"].ToString();
271 
273  }
274  break;
275  }
276  }
277  }
278  }
279 
280 
281  #endregion METODOS PRIVADOS
282 
283 
284 
285 
290  protected void _ShowMessage(string message)
291  {
292  MessageBox.Show(message, "Asistente offline", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
293  }
294  }
295 }
override void _Binding()
Bindado de controles de la página del asistente
BindingList< SucurcajaDto > _sourceCajas
BindingList para datasource
BindingList< SucurletDto > _sourceSeries
BindingList para datasource
BindingList< SucuralmDto > _sourceAlmacenes
BindingList para datasource
Presenta un datagridview con botones añadir y borrar tipo Mantegrid de Eurowin
Definition: Mantegrid.cs:30