示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
        }