/// <summary>
        /// Metodo que borra registros de la tabla CapSegProd
        /// </summary>
        /// <param name="SegPrd">Entidad de los seguimeintos a productos</param>
        /// <param name="conexion">Cadena de conexion a la base de datos</param>
        /// <param name="verificador">Variable que confirma la operacon si regresa con valor mayor a 0</param>
        public void EliminaObservaciones(SeguimientoProductos SegPrd, string conexion, ref int verificador)
        {
            try
            {
                CD_Datos CDDatos = new CD_Datos(conexion);

                string[] parametros =
                {
                    "@Id_SegPrd",
                    "@Id_Emp",
                    "@Id_Cd",
                    "@Id_Prd"
                };
                object[] valores =
                {
                    SegPrd.Id_SegPrd,
                    SegPrd.Id_Emp,
                    SegPrd.Id_Cd,
                    SegPrd.Id_Prd
                };

                SqlCommand sqlcmd = CDDatos.GenerarSqlCommand("spProSeguimientoPrd_Eliminar", ref verificador, parametros, valores);
                CDDatos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void DeleteSeg(GridCommandEventArgs e)
        {
            try
            {
                GridDataItem item = (GridDataItem)e.Item;

                int verificador = 0;

                SeguimientoProductos SegPrd = new SeguimientoProductos();

                SegPrd.Id_SegPrd = Convert.ToInt32(((Label)item.FindControl("lblSegId1")).Text);
                SegPrd.Id_Emp    = this.sesion.Id_Emp;
                SegPrd.Id_Cd     = this.sesion.Id_Cd_Ver;
                SegPrd.Id_Prd    = Convert.ToInt32(this.HF_ID.Value);

                CN_ProSeguimientoPrd CNProSeguimientoPrd = new CN_ProSeguimientoPrd();
                CNProSeguimientoPrd.EliminaObservaciones(SegPrd, this.sesion.Emp_Cnx, ref verificador);

                if (verificador == 1)
                {
                    this.Alerta("Registro eliminado satisfactoriamente");

                    this.Inicializar();
                }
                else
                {
                    this.Alerta("No fue posible eliminar el registro");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void cargaObservaciones()
        {
            try
            {
                SeguimientoProductos        segPrd      = new SeguimientoProductos();
                List <SeguimientoProductos> listaSegPrd = new List <SeguimientoProductos>();

                segPrd.Id_Emp = this.sesion.Id_Emp;
                segPrd.Id_Cd  = this.sesion.Id_Cd_Ver;
                segPrd.Id_Prd = Convert.ToInt32(this.HF_ID.Value);

                CN_ProSeguimientoPrd CNProSegPrd = new CN_ProSeguimientoPrd();

                CNProSegPrd.LlenaGridSeguimiento(segPrd, ref listaSegPrd, this.sesion.Emp_Cnx);

                for (int i = 0; i < listaSegPrd.Count; i++)
                {
                    this.dtSeg.Rows.Add(listaSegPrd[i].Id_SegPrd, listaSegPrd[i].Seg_fecha, listaSegPrd[i].Seg_Comentarios);
                }
                this.rgSeguimiento.Rebind();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 /// <summary>
 /// Metodo que borra registros de la tabla CapSegProd
 /// </summary>
 /// <param name="SegPrd">Entidad de los seguimeintos a productos</param>
 /// <param name="conexion">Cadena de conexion a la base de datos</param>
 /// <param name="verificador">Variable que confirma la operacon si regresa con valor mayor a 0</param>
 public void EliminaObservaciones(SeguimientoProductos SegPrd, string conexion, ref int verificador)
 {
     try
     {
         CD_ProSeguimientoPrd CDProSeguimientoPrd = new CD_ProSeguimientoPrd();
         CDProSeguimientoPrd.EliminaObservaciones(SegPrd, conexion, ref verificador);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        /// <summary>
        /// Metodo utilizado para llenar el grid del formulario de observaciones de seguimieto
        /// </summary>
        /// <param name="segPrd">Entidad del seguimiento de productos</param>
        /// <param name="listaPrd">Lista que contendra los resultados de la operacion</param>
        /// <param name="conexion">Cadena de conexion a la base de datos</param>
        public void LlenaGridSeguimiento(SeguimientoProductos segPrd, ref List <SeguimientoProductos> listaPrd, string conexion)
        {
            try
            {
                CD_ProSeguimientoPrd CDProSeguimientoPrd = new CD_ProSeguimientoPrd();

                CDProSeguimientoPrd.LlenaGridSeguimiento(segPrd, ref listaPrd, conexion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void UpdateSeg(GridCommandEventArgs e)
        {
            try
            {
                GridItem gi = e.Item;

                RadDatePicker rdf = ((RadDatePicker)gi.FindControl("rdFecha"));

                //if (!validarFecha(rdf, e))
                //{
                //    return;
                //}

                if (((RadTextBox)gi.FindControl("txtObservaciones")).Text == "" ||
                    !((RadDatePicker)gi.FindControl("rdFecha")).SelectedDate.HasValue)
                {
                    e.Canceled = true;
                    this.Alerta("Todos los campos son requeridos.");
                    return;
                }

                SeguimientoProductos SegPrd = new SeguimientoProductos();
                SegPrd.Id_SegPrd       = Convert.ToInt32(((Label)gi.FindControl("lblSegId2")).Text);
                SegPrd.Id_Emp          = this.sesion.Id_Emp;
                SegPrd.Id_Cd           = this.sesion.Id_Cd_Ver;
                SegPrd.Id_Prd          = Convert.ToInt32(this.HF_ID.Value);
                SegPrd.Seg_fecha       = Convert.ToDateTime(((RadDatePicker)gi.FindControl("rdFecha")).SelectedDate);
                SegPrd.Seg_Comentarios = ((RadTextBox)gi.FindControl("txtObservaciones")).Text;

                CN_ProSeguimientoPrd CNProSeguimientoPrd = new CN_ProSeguimientoPrd();
                int verificador = -1;

                CNProSeguimientoPrd.ModificaObservaciones(SegPrd, this.sesion.Emp_Cnx, ref verificador);

                if (verificador > 0)
                {
                    this.Inicializar();
                }
                else
                {
                    this.Alerta("Ocurrio un error al intentar guardar la observación");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Metodo que modifica las observaciones en la tabla de CapSegProd
        /// </summary>
        /// <param name="SegPrd">Entidad de los seguimeintos a productos</param>
        /// <param name="conexion">Cadena de conexion a la base de datos</param>
        /// <param name="verificador">Variable que confirma la operacon si regresa con valor mayor a 0</param>
        public void ModificaObservaciones(SeguimientoProductos SegPrd, string conexion, ref int verificador)
        {
            CD_Datos   CDDatos = default(CD_Datos);
            SqlCommand sqlcmd  = default(SqlCommand);

            try
            {
                CDDatos = new CD_Datos(conexion);
                CDDatos.StartTrans();

                string[] parametros =
                {
                    "@Id_SegPrd",
                    "@Id_Emp",
                    "@Id_Cd",
                    "@Id_Prd",
                    "@Seg_fecha",
                    "@Seg_Comentarios"
                };
                object[] valores =
                {
                    SegPrd.Id_SegPrd,
                    SegPrd.Id_Emp,
                    SegPrd.Id_Cd,
                    SegPrd.Id_Prd,
                    SegPrd.Seg_fecha,
                    SegPrd.Seg_Comentarios
                };

                sqlcmd = CDDatos.GenerarSqlCommand("spProSeguimientoPrd_Modificar", ref verificador, parametros, valores);

                if (verificador > 0)
                {
                    CDDatos.CommitTrans();
                    CDDatos.LimpiarSqlcommand(ref sqlcmd);
                }
                else
                {
                    CDDatos.RollBackTrans();
                }
            }
            catch (Exception ex)
            {
                CDDatos.RollBackTrans();
                throw ex;
            }
        }
        /// <summary>
        /// Metodo utilizado para llenar el grid del formulario de observaciones de seguimieto
        /// </summary>
        /// <param name="segPrd">Entidad del seguimiento de productos</param>
        /// <param name="listaPrd">Lista que contendra los resultados de la operacion</param>
        /// <param name="conexion">Cadena de conexion a la base de datos</param>
        public void LlenaGridSeguimiento(SeguimientoProductos segPrd, ref List <SeguimientoProductos> listaPrd, string conexion)
        {
            try
            {
                SqlDataReader      sdr     = null;
                CapaDatos.CD_Datos CDDatos = new CapaDatos.CD_Datos(conexion);

                string[] parametros =
                {
                    "@Id_Emp",
                    "@Id_Cd",
                    "@Id_Prd"
                };
                object[] valores =
                {
                    segPrd.Id_Emp,
                    segPrd.Id_Cd,
                    segPrd.Id_Prd
                };

                SqlCommand sqlcmd = CDDatos.GenerarSqlCommand("spProseguimientoPrd_BuscaObservaciones", ref sdr, parametros, valores);

                while (sdr.Read())
                {
                    segPrd = new SeguimientoProductos();

                    segPrd.Id_Emp          = Convert.ToInt32(sdr.GetValue(sdr.GetOrdinal("Id_Emp")));
                    segPrd.Id_Cd           = Convert.ToInt32(sdr.GetValue(sdr.GetOrdinal("Id_Cd")));
                    segPrd.Id_Prd          = Convert.ToInt32(sdr.GetValue(sdr.GetOrdinal("Id_Prd")));
                    segPrd.Id_SegPrd       = Convert.ToInt32(sdr.GetValue(sdr.GetOrdinal("ID_SegPrd")));
                    segPrd.Seg_fecha       = Convert.ToDateTime(sdr.GetValue(sdr.GetOrdinal("Seg_fecha")));
                    segPrd.Seg_Comentarios = sdr.GetValue(sdr.GetOrdinal("Seg_Comentarios")).ToString();

                    listaPrd.Add(segPrd);
                }

                CDDatos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }