private void butAceptarRec_Click(object sender, System.EventArgs e)
        {
            try
            {
                if ((ddlCodParada.SelectedValue != "") && (ddlCodParada.SelectedValue != "Elija un codigo de parada"))
                {
                    if (((Utiles.Validaciones.obtieneEntero(txtMinEspera.Text) < 60) && (Utiles.Validaciones.obtieneEntero(txtMinEspera.Text) >= 0)) || (txtMinEspera.Text == ""))
                    {
                        if ((txtHoraPartida.Text != "") && (txtHoraPartida.Text.Length == 5))                      //ingreso la hora 00:00 5 caracteres
                        {
                            dtgRecorrido.Enabled = true;
                            butGuardar.Enabled   = true;
                            DsServicioRecorridoEstandar ds = new DsServicioRecorridoEstandar();
                            if (Session["DsServicioRecorridoEstandar"] != null)
                            {
                                ds = (DsServicioRecorridoEstandar)Session["DsServicioRecorridoEstandar"];
                            }
                            DsServicioRecorridoEstandar.DatosRow dr = ds.Datos.NewDatosRow();

                            int len   = ddlCodParada.SelectedItem.Text.Length;
                            int guion = ddlCodParada.SelectedItem.Text.LastIndexOf("-");

                            dr.ParadaDescrip = ddlCodParada.SelectedItem.Text.Substring(guion + 1, len - (guion + 1));
                            dr.ParadaCodigo  = ddlCodParada.SelectedItem.Text.Substring(0, guion);
                            dr.MinutosEspera = Utiles.Validaciones.obtieneEntero(txtMinEspera.Text);

                            string hora = txtHoraPartida.Text.Substring(0, 2);
                            string minu = txtHoraPartida.Text.Substring(3, 2);
                            txtFecha.Text = "01/01/2000";
                            DateTime fecha = Utiles.Fechas.FormatFechaDDMMYYYYHHMMSS(txtFecha.Text + " " + hora + ":" + minu + ":00");
                            dr.HoraPartida = fecha;
                            dr.ParadaOrden = Utiles.Validaciones.obtieneEntero(lblOrden.Text);
                            dr.NroDiaViaje = Utiles.Validaciones.obtieneEntero(txtNroDiaViaje.Text);
                            ds.Datos.Rows.Add(dr);
                            Session["DsServicioRecorridoEstandar"] = ds;                            //.Datos.Select("","ParadaOrden asc");
                            dtgRecorrido.DataSource = ds.Datos;
                            dtgRecorrido.DataBind();
                            limpiarRec();
                            lblOrden.Text = ds.Datos.Rows.Count.ToString();                            //dejo el orden con la cantidad total
                            this.butAceptarRec.Visible  = false;
                            this.butCancelarRec.Visible = false;
                            this.butAgregarRec.Enabled  = true;

                            lblOrdenTotal.Text = ds.Datos.Rows.Count.ToString();
                        }
                        else
                        {
                            ((ErrorWeb)phErrores.Controls[0]).setMensaje("Debe ingresar la hora de partida del recorrido, es obligatorio. Verifique el formato debe ser hh:mm");
                        }
                    }
                    else
                    {
                        ((ErrorWeb)phErrores.Controls[0]).setMensaje("Debe ingresar los minutos de espera y deben ser números válidos, es obligatorio");
                    }
                }
                else
                {
                    ((ErrorWeb)phErrores.Controls[0]).setMensaje("Debe elegir el código de parada, es obligatorio");
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
        public void BindGridRecorridos()
        {
            int min, error = 0;

            try
            {
                SisPackController.AdministrarGrillas.Configurar(dtgRecorrido, "ServicioRecorridoID", this.CantidadOpciones);

                DsServicioRecorridoEstandar ds = new DsServicioRecorridoEstandar();
                if (Session["DsServicioRecorridoEstandar"] != null)
                {
                    ds = (DsServicioRecorridoEstandar)Session["DsServicioRecorridoEstandar"];
                }

                DsServicioRecorridoEstandar.DatosRow dr = ds.Datos.NewDatosRow();

                int len   = ddlCodParada.SelectedItem.Text.Length;
                int guion = ddlCodParada.SelectedItem.Text.LastIndexOf("-");

                dr.ParadaDescrip = (ddlCodParada.SelectedItem.Text.Substring(guion + 1, len - (guion + 1))).Trim();
                dr.ParadaCodigo  = (ddlCodParada.SelectedItem.Text.Substring(0, guion)).Trim();
                if (txtMinEspera.Text == "")
                {
                    min = 0;
                }
                else
                {
                    min = Utiles.Validaciones.obtieneEntero(txtMinEspera.Text);
                }
                dr.MinutosEspera = min;
                string hora  = txtHoraPartida.Text.Substring(0, 2);
                int    horaI = Utiles.Validaciones.obtieneEntero(hora);
                string minu  = txtHoraPartida.Text.Substring(3, 2);
                int    minuI = Utiles.Validaciones.obtieneEntero(minu);
                //string mer= Utiles.Validaciones.obtieneEntero(hora)>=12 ? "p.m." : "a.m.";
                error         = 1;
                txtFecha.Text = "01/01/2000";               //para no eliminarlo
                DateTime aux = Convert.ToDateTime("01/01/2000");
                //DateTime fecha =Utiles.Fechas.FormatFechaDDMMYYYYHHMMSS(txtFecha.Text + " " + hora + ":" + minu + ":00");
                DateTime fecha = aux.AddHours(horaI);
                fecha              = fecha.AddMinutes(minuI);
                dr.HoraPartida     = fecha;           // fecha y hora en formato dd/mm/yyyy hh:mm:ss
                this.lblOrden.Text = Convert.ToString(Utiles.Validaciones.obtieneEntero(lblOrden.Text) + 1);
                dr.ParadaOrden     = Utiles.Validaciones.obtieneEntero(lblOrden.Text);
                dr.NroDiaViaje     = (txtNroDiaViaje.Text) == "" ? 1 : Utiles.Validaciones.obtieneEntero(txtNroDiaViaje.Text);

                ds.Datos.Rows.Add(dr);
                Session["DsServicioRecorridoEstandar"] = ds;                //lo asigno a la sesion
                dtgRecorrido.DataSource = ds.Datos;
                dtgRecorrido.DataBind();
                lblOrdenTotal.Text    = ds.Datos.Rows.Count.ToString();
                lblRecorridos.Visible = true;
            }
            catch (Exception ex)
            {
                if (error == 1)
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La hora y/o fecha de partida no es correcta");
                }
                else
                {
                    throw ex;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }