protected override void Mostrar(int id) { if (comboArea.SelectedValue == null || listActuales.SelectedValue == null) { return; } try { DataSet dh = new z_despacho_habil().Getz_despacho_habil((int)comboArea.SelectedValue, (int)listActuales.SelectedValue); if (dh.Tables[0].Rows.Count == 0) { groupdh.Enabled = false; groupdi.Enabled = false; return; } groupdh.Enabled = true; foreach (DataRow dr in tc.Tables[0].Rows) { Control c = dbHabil.Controls[(string)dr["columna_despacho"]]; c.Text = dh.Tables[0].Rows[0][c.Name].ToString(); } // 2-6 check2_6.Checked = (bool)dh.Tables[0].Rows[0]["dos_6"]; listCarro.SelectedItems.Clear(); if ((bool)dh.Tables[0].Rows[0]["dos_6"]) { DataSet ds = new z_dos_6().GetDos6Despacho((int)dh.Tables[0].Rows[0]["id_despacho"]); // marcar carros 2-6... 100% ineficiente for (int i = 0; i < listCarro.Items.Count; i++) { var id_carro = (int)((DataRowView)listCarro.Items[i])["id_carro"]; foreach (DataRow dr in ds.Tables[0].Rows) { if ((int)dr["id_carro"] == id_carro) { listCarro.SetSelected(i, true); } } } CarroSelectionChanged = false; } // inhabil checkInhabil.Checked = (bool)dh.Tables[0].Rows[0]["inhabil"]; // limpiar marcas for (int i = 0; i < listBloques.Items.Count; i++) { listBloques.SetItemChecked(i, false); } if ((bool)dh.Tables[0].Rows[0]["inhabil"]) { foreach (string s in ((string)dh.Tables[0].Rows[0]["bloques"]).Split(',')) { string s1 = s; int index = horario_inhabil.FindIndex(i => (i.index == int.Parse(s1))); listBloques.SetItemChecked(index, true); } // cargar inhabil DataSet di = new z_despacho_inhabil().Getz_despacho_inhabil((int)dh.Tables[0].Rows[0]["id_despacho"]); foreach (DataRow dr in tc.Tables[0].Rows) { Control c = dbInhabil.Controls[(string)dr["columna_despacho"]]; c.Text = di.Tables[0].Rows[0][c.Name].ToString(); } } } catch (Exception ex) { Log.ShowAndLog(ex); } }
protected override void Actualizar() { try { DataRow dh = new z_despacho_habil().Getz_despacho_habil((int)comboArea.SelectedValue, (int)listActuales.SelectedValue).Tables[0].Rows[0]; var columnas = new List <KeyValuePair <string, string> >(); // carros foreach (Control c in dbHabil.Controls) { if (c is TextBox) { columnas.Add(new KeyValuePair <string, string>(c.Name, c.Text)); } } // 2-6 //dh.dos_6 = check2_6.Checked; columnas.Add(new KeyValuePair <string, string>("dos_6", check2_6.Checked.ToString())); if (check2_6.Checked) { if (CarroSelectionChanged) { // borrar anteriores var dos6 = new z_dos_6(); dos6.DeleteDos6Despacho((int)dh["id_despacho"]); // agregar nuevos foreach (object obj in listCarro.SelectedItems) { var d6 = new z_dos_6 { id_despacho = ((int)dh["id_despacho"]), id_carro = ((int)((DataRowView)obj)["id_carro"]) }; d6.addz_dos_6(d6); } } } // inhabil //dh.inhabil = checkInhabil.Checked; columnas.Add(new KeyValuePair <string, string>("inhabil", checkInhabil.Checked.ToString())); if (checkInhabil.Checked) { // bloques string bloques = ""; for (int i = 0; i < horario_inhabil.Count; i++) { if (horario_inhabil[i].check) { bloques += "," + horario_inhabil[i].index; } } //dh.bloques = bloques.Trim(','); columnas.Add(new KeyValuePair <string, string>("bloques", "'" + bloques.Trim(',') + "'")); // carros DataRow di = null; DataSet dsi = new z_despacho_inhabil().Getz_despacho_inhabil((int)dh["id_despacho"]); if (dsi.Tables[0].Rows.Count != 0) { di = dsi.Tables[0].Rows[0]; } var columnas_inhabil = new List <KeyValuePair <string, string> >(); foreach (Control c in dbInhabil.Controls) { if (c is TextBox) { columnas_inhabil.Add(new KeyValuePair <string, string>(c.Name, c.Text)); } } if (di == null) { // nuevo columnas_inhabil.Add(new KeyValuePair <string, string>("codigo_llamado", dh["codigo_llamado"].ToString())); columnas_inhabil.Add(new KeyValuePair <string, string>("id_area", dh["id_area"].ToString())); columnas_inhabil.Add(new KeyValuePair <string, string>("id_despacho", dh["id_despacho"].ToString())); new z_despacho_inhabil().addz_despacho_inhabil(columnas_inhabil); } else { new z_despacho_inhabil().modifyz_despacho_inhabil((int)dh["id_despacho"], columnas_inhabil); } } new z_despacho_habil().modifyz_despacho_habil((int)dh["id_despacho"], columnas); BitacoraGestion.NuevoEvento(zeusWin.IdOperadora, zeusWin.IdAval, "Modificación Tablas Despacho"); MessageBox.Show("Operación realizada correctamente.", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { Log.ShowAndLog(ex); } }
private static CantidadCarros ObtenerCantidadCarros(int id_area, int codigo_llamado, out List <int> dos_6) { var dos6 = new List <int>(); // 4 var cantidad = new CantidadCarros(); // obtener cantidad de carros necesaria DataTable di = null; DataTable dh = new z_despacho_habil().Getz_despacho_habil(id_area, codigo_llamado).Tables[0]; DataTable tipo_carro = new z_tipo_carro().Getz_tipo_carro_despacho().Tables[0]; // 4.a if ((bool)dh.Rows[0]["inhabil"]) { if (EnBloqueHorario((string)dh.Rows[0]["bloques"])) { di = new z_despacho_inhabil().Getz_despacho_inhabil(id_area, codigo_llamado).Tables[0]; } } if (di == null) { for (int i = 0; i < tipo_carro.Rows.Count; i++) { var columna = (string)tipo_carro.Rows[i]["columna_despacho"]; cantidad.Cantidad[i] = (int)dh.Rows[0][columna]; } //dos6? if ((bool)dh.Rows[0]["dos_6"]) { var dos = new z_dos_6(); DataSet ds = dos.GetDos6Despacho((int)dh.Rows[0]["id_despacho"]); foreach (DataRow dr in ds.Tables[0].Rows) { var carro = new z_carros(); carro = carro.getObjectz_carros((int)dr["id_carro"]); if (Carro.EstaDisponible(carro)) { Carro.Despachar(carro); //Conductor.FueraServicio(carro.id_conductor, carro.id_carro); dos6.Add(carro.id_carro); } } } } else { // despacho inhábil for (int i = 0; i < tipo_carro.Rows.Count; i++) { string columna = (string)tipo_carro.Rows[i]["columna_despacho"]; cantidad.Cantidad[i] = (int)di.Rows[0][columna]; } //dos6? if ((bool)di.Rows[0]["dos_6"]) { var dos = new z_dos_6(); DataSet ds = dos.GetDos6Despacho((int)di.Rows[0]["id_despacho"]); foreach (DataRow dr in ds.Tables[0].Rows) { var carro = new z_carros(); carro = carro.getObjectz_carros((int)dr["id_carro"]); if (Carro.EstaDisponible(carro)) { Carro.Despachar(carro); //Conductor.FueraServicio(carro.id_conductor, carro.id_carro); dos6.Add(carro.id_carro); } } } } dos_6 = dos6; return(cantidad); }