void cargar_viaticos()
        {
            DAL.Viaticos        viaticos       = new DAL.Viaticos();
            List <DAL.Viaticos> lista_viaticos = new List <DAL.Viaticos>();

            lista_viaticos = viaticos.obtener();

            txtViatico.DataTextField  = "Descripcion";
            txtViatico.DataValueField = "Id";

            txtViatico.DataSource = lista_viaticos;
            txtViatico.DataBind();
        }
        protected void grdViaticos_SelectedIndexChanged(object sender, EventArgs e)
        {
            frmSeleccionar.Visible = false;
            DAL.Viaticos viaticos = new DAL.Viaticos();
            string codigo = grdViaticos.SelectedDataKey.Value.ToString();
            List<DAL.Viaticos> datos = viaticos.obtener(codigo);
            foreach (var item in datos)
            {
                if (ViewState["ViaticoID"] != null)
                    ViewState["ViaticoID"] = item.Id;
                else
                    ViewState.Add("ViaticoID", item.Id);

                txtCodigo.Text = item.Id.ToString();
                txtDescripcion.Text = item.Descripcion;
                txtImporte.Text = item.Importe;
            }
        }
        void guardar(bool nuevo)
        {
            bool errores = false;

            if (nuevo)
            {
                DAL.Viaticos viaticos = new DAL.Viaticos();
                int registros = viaticos.obtener(txtCodigo.Text).Count;

                if (registros > 0)
                {
                    ScriptManager.RegisterStartupScript(Page, this.GetType(), "toast", DAL.Varios.crear_mensaje("La operación no pudo realizarse ya que el código ingresado existe en la base de datos!.", 3000), true);
                    errores = true;
                }
            }

            if (txtCodigo.Text == "" || txtDescripcion.Text == "")
            {
                if (txtDescripcion.Text == "") lblDescripcion.ForeColor = Color.Red;
                if (txtCodigo.Text == "") lblCodigo.ForeColor = Color.Red;
                errores = true;

                ScriptManager.RegisterStartupScript(Page, this.GetType(), "toast", DAL.Varios.crear_mensaje("Los campos señalados en rojo no pueden estar vacíos", 3000), true);
            }

            if (!errores)
            {
                lblDescripcion.ForeColor = Color.Black;

                DAL.Viaticos viaticos = new DAL.Viaticos();
                viaticos.Id = txtCodigo.Text;
                viaticos.Descripcion = txtDescripcion.Text;
                viaticos.Importe = txtImporte.Text;

                if (viaticos.Guardar(nuevo))
                    ScriptManager.RegisterStartupScript(Page, this.GetType(), "toast", DAL.Varios.crear_mensaje("Operacion realizada!", 3000), true);
                else
                    ScriptManager.RegisterStartupScript(Page, this.GetType(), "toast", DAL.Varios.crear_mensaje("Error al realizar el proceso", 3000), true);
            }

        }