protected void ImgEliminar_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         GridViewRow gvRow = (GridViewRow)(sender as Control).Parent.Parent;
         codigo = int.Parse(GrdvBrench.DataKeys[gvRow.RowIndex].Values["Codigo"].ToString());
         //Buscar si no existe contacto agregado
         dtbBrench = (DataTable)ViewState["BrenchDet"];
         result    = dtbBrench.Select("Codigo='" + codigo + "'").FirstOrDefault();
         result.Delete();
         dtbBrench.AcceptChanges();
         //reordenar
         orden = 0;
         foreach (DataRow dr in dtbBrench.Rows)
         {
             orden++;
             dr["Orden"] = orden;
             if (orden < 10)
             {
                 etiqueta = "0" + orden + ") " + dr["RangoIni"].ToString() + " a " + dr["RangoFin"].ToString();
             }
             else
             {
                 etiqueta = orden + ") " + dr["RangoIni"].ToString() + " a " + dr["RangoFin"].ToString();
             }
             dr["Etiqueta"] = etiqueta;
             dtbBrench.AcceptChanges();
         }
         ViewState["BrenchDet"] = dtbBrench;
         GrdvBrench.DataSource  = dtbBrench;
         GrdvBrench.DataBind();
     }
     catch (Exception ex)
     {
         Lblerror.Text = ex.Message;
     }
 }
        private void FunCargaMantenimiento()
        {
            SoftCob_BRENCH datos = new ListaTrabajoDAO().FunGetBrenchAdminPorID(int.Parse(ViewState["CodigoBrench"].ToString()));

            DdlCedente.SelectedValue = datos.brch_cedecodigo.ToString();
            ChkEstadoBrench.Checked  = datos.brch_estado;
            ChkEstadoBrench.Text     = datos.brch_estado ? "Activo" : "Inactivo";
            FunCargarCombos(1);
            DdlCatalogo.SelectedValue     = datos.brch_cpcecodigo.ToString();
            ViewState["CodCatalogo"]      = datos.brch_cpcecodigo.ToString();
            ViewState["fechacreacion"]    = datos.brch_fechacreacion.ToString();
            ViewState["usucreacion"]      = datos.brch_usuariocreacion;
            ViewState["terminalcreacion"] = datos.brch_terminalcreacion;
            dts = new ListaTrabajoDAO().FunGetBrenchDet(int.Parse(ViewState["CodigoBrench"].ToString()));
            ViewState["BrenchDet"] = dts.Tables[0];
            GrdvBrench.DataSource  = dts;
            GrdvBrench.DataBind();
            //if (dts.Tables[0].Rows.Count >= 1)
            //{
            //    imgSubir = (ImageButton)grdvBrench.Rows[0].Cells[4].FindControl("imgSubir");
            //    imgSubir.ImageUrl = "~/Botones/desactivada_up.png";
            //    imgSubir.Enabled = false;
            //}
        }
        protected void ImgModificar_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                if (DdlCedente.SelectedValue == "0")
                {
                    new FuncionesDAO().FunShowJSMessage("Seleccione Cedente..!", this);
                    return;
                }

                if (DdlCatalogo.SelectedValue == "0")
                {
                    new FuncionesDAO().FunShowJSMessage("Seleccione Catálogo..!", this);
                    return;
                }

                if (string.IsNullOrEmpty(TxtRinicio.Text.Trim()) || TxtRinicio.Text.Trim() == "0")
                {
                    new FuncionesDAO().FunShowJSMessage("Ingrese Rango Inicio..!", this);
                    return;
                }

                if (string.IsNullOrEmpty(TxtRFin.Text.Trim()) || TxtRFin.Text.Trim() == "0")
                {
                    new FuncionesDAO().FunShowJSMessage("Ingrese Rango Fin..!", this);
                    return;
                }

                if (int.Parse(TxtRFin.Text.Trim()) <= int.Parse(TxtRinicio.Text.Trim()))
                {
                    new FuncionesDAO().FunShowJSMessage("Rango Final no puede ser menor o igual al Inicial..!", this);
                    return;
                }

                if (ViewState["BrenchDet"] != null)
                {
                    dtbBrench = (DataTable)ViewState["BrenchDet"];
                    resultado = dtbBrench.Select("Codigo<>'" + ViewState["Codigo"].ToString() + "'");
                    foreach (DataRow dr in resultado)
                    {
                        between = new FuncionesDAO().FunBetween(int.Parse(dr["RangoIni"].ToString()), int.Parse(dr["RangoFin"].ToString()),
                                                                int.Parse(TxtRinicio.Text), int.Parse(TxtRFin.Text));
                        if (between > 0)
                        {
                            lexiste = true;
                            break;
                        }
                    }
                }

                if (lexiste)
                {
                    new FuncionesDAO().FunShowJSMessage("Rango ya existe creado..!", this);
                    return;
                }

                etiqueta  = "0" + ViewState["Orden"].ToString() + ") " + TxtRinicio.Text + " a " + TxtRFin.Text;
                dtbBrench = (DataTable)ViewState["BrenchDet"];
                result    = dtbBrench.Select("Codigo='" + int.Parse(ViewState["Codigo"].ToString()) + "'").FirstOrDefault();
                result.Delete();
                dtbBrench.AcceptChanges();
                filagre             = dtbBrench.NewRow();
                filagre["Codigo"]   = ViewState["Codigo"].ToString();
                filagre["RangoIni"] = TxtRinicio.Text.Trim();
                filagre["RangoFin"] = TxtRFin.Text.Trim();
                filagre["Etiqueta"] = etiqueta;
                filagre["Orden"]    = ViewState["Orden"].ToString();
                filagre["Estado"]   = ViewState["Estado"].ToString();
                filagre["auxv1"]    = "";
                filagre["auxv2"]    = "";
                filagre["auxv3"]    = "";
                filagre["auxi1"]    = "0";
                filagre["auxi2"]    = "0";
                filagre["auxi3"]    = "0";
                dtbBrench.Rows.Add(filagre);
                dtbBrench.DefaultView.Sort = "Orden";
                ViewState["BrenchDet"]     = dtbBrench;
                GrdvBrench.DataSource      = dtbBrench;
                GrdvBrench.DataBind();
                TxtRinicio.Text      = "";
                TxtRFin.Text         = "";
                ImgAgregar.Enabled   = true;
                ImgModificar.Enabled = false;
            }
            catch (Exception ex)
            {
                Lblerror.Text = ex.ToString();
            }
        }
 protected void ImgAgregar_Click(object sender, ImageClickEventArgs e)
 {
     Lblerror.Text = "";
     try
     {
         if (DdlCedente.SelectedValue == "0")
         {
             new FuncionesDAO().FunShowJSMessage("Seleccione Cedente..!", this);
             return;
         }
         if (DdlCatalogo.SelectedValue == "0")
         {
             new FuncionesDAO().FunShowJSMessage("Seleccione Catálogo..!", this);
             return;
         }
         if (string.IsNullOrEmpty(TxtRinicio.Text.Trim()) || TxtRinicio.Text.Trim() == "0")
         {
             new FuncionesDAO().FunShowJSMessage("Ingrese Rango Inicio..!", this);
             return;
         }
         if (string.IsNullOrEmpty(TxtRFin.Text.Trim()) || TxtRFin.Text.Trim() == "0")
         {
             new FuncionesDAO().FunShowJSMessage("Ingrese Rango Fin..!", this);
             return;
         }
         if (int.Parse(TxtRFin.Text.Trim()) <= int.Parse(TxtRinicio.Text.Trim()))
         {
             new FuncionesDAO().FunShowJSMessage("Rango Final no puede ser menor o igual al Inicial..!", this);
             return;
         }
         if (ViewState["BrenchDet"] != null)
         {
             dtbBrench = (DataTable)ViewState["BrenchDet"];
             if (dtbBrench.Rows.Count > 0)
             {
                 maxCodigo = dtbBrench.AsEnumerable()
                             .Max(row => int.Parse((string)row["Codigo"]));
                 orden = dtbBrench.AsEnumerable()
                         .Max(row => int.Parse((string)row["Orden"]));
             }
             else
             {
                 maxCodigo = 0;
             }
             if (dtbBrench.Rows.Count > 0)
             {
                 foreach (DataRow dr in dtbBrench.Rows)
                 {
                     between = new FuncionesDAO().FunBetween(int.Parse(dr[1].ToString()), int.Parse(dr[2].ToString()),
                                                             int.Parse(TxtRinicio.Text), int.Parse(TxtRFin.Text));
                     if (between > 0)
                     {
                         lexiste = true;
                         break;
                     }
                 }
             }
         }
         if (lexiste)
         {
             new FuncionesDAO().FunShowJSMessage("Rango ya existe creado..!", this);
             return;
         }
         rangox = orden + 1;
         if (orden < 10)
         {
             etiqueta = "0" + rangox + ") " + TxtRinicio.Text + " a " + TxtRFin.Text;
         }
         else
         {
             etiqueta = rangox + ") " + TxtRinicio.Text + " a " + TxtRFin.Text;
         }
         dtbBrench           = (DataTable)ViewState["BrenchDet"];
         filagre             = dtbBrench.NewRow();
         filagre["Codigo"]   = maxCodigo + 1;
         filagre["RangoIni"] = TxtRinicio.Text.Trim();
         filagre["RangoFin"] = TxtRFin.Text.Trim();
         filagre["Etiqueta"] = etiqueta;
         filagre["Orden"]    = orden + 1;
         filagre["Estado"]   = "Activo";
         filagre["auxv1"]    = "";
         filagre["auxv2"]    = "";
         filagre["auxv3"]    = "";
         filagre["auxi1"]    = "0";
         filagre["auxi2"]    = "0";
         filagre["auxi3"]    = "0";
         dtbBrench.Rows.Add(filagre);
         dtbBrench.DefaultView.Sort = "Orden";
         ViewState["BrenchDet"]     = dtbBrench;
         GrdvBrench.DataSource      = dtbBrench;
         GrdvBrench.DataBind();
         TxtRinicio.Text = "";
         TxtRFin.Text    = "";
     }
     catch (Exception ex)
     {
         Lblerror.Text = ex.ToString();
     }
 }