protected void rgFacturaAlmacenCobroDet_InsertCommand(object sender, GridCommandEventArgs e)
        {
            try
            {
                GridEditableItem       insertedItem           = (GridEditableItem)e.Item;
                Sesion                 sesion                 = (Sesion)Session["Sesion" + Session.SessionID];
                FacturaAlmacenCobroDet FacturaAlmacenCobroDet = new FacturaAlmacenCobroDet();

                FacturaAlmacenCobroDet.Id_Emp           = sesion.Id_Emp;
                FacturaAlmacenCobroDet.Id_Cd            = sesion.Id_Cd_Ver;
                FacturaAlmacenCobroDet.Id_Fac           = 0; //se debe volver asignar cuando se guarda la orden de compra, cuando actualiza queda igual
                FacturaAlmacenCobroDet.Id_FacDet        = 0;
                FacturaAlmacenCobroDet.Id_Reg           = null;
                FacturaAlmacenCobroDet.Fac_Doc          = Convert.ToInt32((insertedItem.FindControl("txtFac_Doc") as RadNumericTextBox).Text);
                FacturaAlmacenCobroDet.Fac_Fecha        = Convert.ToDateTime((insertedItem.FindControl("txtFac_Fecha") as RadDatePicker).SelectedDate);
                FacturaAlmacenCobroDet.Id_Cte           = Convert.ToInt32((insertedItem.FindControl("lblId_CteEdit") as Label).Text);
                FacturaAlmacenCobroDet.Cte_NomComercial = (insertedItem.FindControl("lblId_CteStrEdit") as Label).Text;
                FacturaAlmacenCobroDet.Fac_Importe      = Convert.ToDouble((insertedItem.FindControl("txtFac_ImporteEdit") as RadNumericTextBox).Text);
                // FacturaAlmacenCobroDet.Fac_EnviarA = Convert.ToInt32((insertedItem.FindControl("cmbFac_EnviarA") as RadComboBox).SelectedValue);
                // FacturaAlmacenCobroDet.Fac_EnviarAStr = (insertedItem.FindControl("cmbFac_EnviarA") as RadComboBox).SelectedItem.Text;
                FacturaAlmacenCobroDet.Fac_Seleccionado = (insertedItem.FindControl("chkIncluirEditar") as CheckBox).Checked;
                //agregar producto de nota de cargo a la lista
                this.ListaFacturaAlmacenCobro_Agregar(FacturaAlmacenCobroDet);
            }
            catch (Exception ex)
            {
                ErrorManager(ex, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name);
            }
        }
        protected void ListaFacturaAlmacenCobro_Agregar(FacturaAlmacenCobroDet FacturaAlmacenCobro_nueva)
        {
            int repetido = ListaFacturaAlmacenCobro.Where(FacturaAlmacenCobro => FacturaAlmacenCobro.Fac_Doc == FacturaAlmacenCobro_nueva.Fac_Doc && FacturaAlmacenCobro.Fac_Tipo == FacturaAlmacenCobro_nueva.Fac_Tipo).ToList().Count;

            if (repetido > 0)
            {
                Alerta("Este documento ya ha sido capturado");
            }
            else
            {
                ListaFacturaAlmacenCobro.Add(FacturaAlmacenCobro_nueva);
            }
            //List<FacturaAlmacenCobroDet> lista = this.ListaFacturaAlmacenCobro;

            //buscar en la lista para ver si ya existe
            //for (int i = 0; i < lista.Count; i++)
            //{
            //    FacturaAlmacenCobroDet FacturaAlmacenCobro = lista[i];
            //    if (FacturaAlmacenCobro.Fac_Doc == FacturaAlmacenCobro_nueva.Fac_Doc && FacturaAlmacenCobro.Fac_Tipo == FacturaAlmacenCobro_nueva.Fac_Tipo)//si el documento es el mismo
            //    {
            //        throw new Exception("rgFacturaAlmacenCobroDet_insert_repetida");
            //    }
            //}

            //this.ListaFacturaAlmacenCobro = lista;
        }
        protected void ListaFacturaAlmacenCobro_Eliminar(int Fac_Doc, string Fac_Tipo)
        {
            List <FacturaAlmacenCobroDet> lista = this.ListaFacturaAlmacenCobro;

            //buscar producto de factura en la lista
            for (int i = 0; i < lista.Count; i++)
            {
                FacturaAlmacenCobroDet FacturaAlmacenCobroDetDet = lista[i];
                if (FacturaAlmacenCobroDetDet.Fac_Doc == Fac_Doc && FacturaAlmacenCobroDetDet.Fac_Tipo == Fac_Tipo)
                {
                    lista.RemoveAt(i);
                    break;
                }
            }
            this.ListaFacturaAlmacenCobro = lista;
        }
        protected void ListaFacturaAlmacenCobro_Modificar(FacturaAlmacenCobroDet FacturaAlmacenCobro_nueva, string doc_old)
        {
            List <FacturaAlmacenCobroDet> lista = this.ListaFacturaAlmacenCobro;

            //buscar producto de factura en la lista
            for (int i = 0; i < lista.Count; i++)
            {
                FacturaAlmacenCobroDet notaCargoDet = lista[i];
                if (notaCargoDet.Fac_Doc.ToString() == doc_old && notaCargoDet.Fac_Tipo == FacturaAlmacenCobro_nueva.Fac_Tipo)
                {
                    lista[i] = FacturaAlmacenCobro_nueva;
                    break;
                }
            }
            this.ListaFacturaAlmacenCobro = lista;
        }
        public void ConsultarFacturaAlmacenCobro(ref FacturaAlmacenCobro FacturaAlmacenCobro, string Conexion)
        {
            try
            {
                SqlDataReader      dr        = null;
                CapaDatos.CD_Datos CapaDatos = new CapaDatos.CD_Datos(Conexion);

                string[] Parametros =
                {
                    "@Id_Emp"
                    , "@Id_Cd"
                    , "@Id_Fac"
                };
                object[] Valores =
                {
                    FacturaAlmacenCobro.Id_Emp
                    , FacturaAlmacenCobro.Id_Cd
                    , FacturaAlmacenCobro.Id_Fac
                };

                SqlCommand sqlcmd = CapaDatos.GenerarSqlCommand("spCapFacAlmacenCobro_Consultar", ref dr, Parametros, Valores);
                NotaCargo  fac    = new NotaCargo();
                if (dr.HasRows)
                {
                    dr.Read();
                    FacturaAlmacenCobro.Id_Emp      = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Emp")));
                    FacturaAlmacenCobro.Id_Cd       = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Cd")));
                    FacturaAlmacenCobro.Cd_Nombre   = dr.GetValue(dr.GetOrdinal("Cd_Nombre")).ToString();
                    FacturaAlmacenCobro.Id_Fac      = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_AlmCob")));
                    FacturaAlmacenCobro.Id_U        = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_U")));
                    FacturaAlmacenCobro.Fac_Entrego = dr.GetValue(dr.GetOrdinal("AlmCob_Entrego")).ToString();
                    FacturaAlmacenCobro.Fac_Recibio = dr.GetValue(dr.GetOrdinal("AlmCob_Recibio")).ToString();
                    FacturaAlmacenCobro.Fac_Fecha   = Convert.ToDateTime(dr.GetValue(dr.GetOrdinal("AlmCob_Fecha")));
                    FacturaAlmacenCobro.Fac_Estatus = dr.IsDBNull(dr.GetOrdinal("AlmCob_Estatus")) ? string.Empty : dr.GetValue(dr.GetOrdinal("AlmCob_Estatus")).ToString();
                }

                dr.Close();
                FacturaAlmacenCobro.ListaFacturaAlmacenCobroDet = new List <FacturaAlmacenCobroDet>();

                Parametros = new string[] {
                    "@Id_Emp"
                    , "@Id_Cd"
                    , "@Id_Fac"
                    , "@Db"
                };
                Valores = new object[] {
                    FacturaAlmacenCobro.Id_Emp
                    , FacturaAlmacenCobro.Id_Cd
                    , FacturaAlmacenCobro.Id_Fac
                    , FacturaAlmacenCobro.DbName
                };
                sqlcmd = CapaDatos.GenerarSqlCommand("spCapFacAlmacenCobroDetalle_Consultar", ref dr, Parametros, Valores);
                while (dr.Read())
                {
                    FacturaAlmacenCobroDet FacturaAlmacenCobroDet = new FacturaAlmacenCobroDet();
                    FacturaAlmacenCobroDet.Id_Emp           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Emp")));
                    FacturaAlmacenCobroDet.Id_Cd            = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Cd")));
                    FacturaAlmacenCobroDet.Id_Fac           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_AlmCob")));
                    FacturaAlmacenCobroDet.Id_FacDet        = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_AlmCobDet")));
                    FacturaAlmacenCobroDet.Fac_Doc          = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Fac")));
                    FacturaAlmacenCobroDet.Fac_Fecha        = Convert.ToDateTime(dr.GetValue(dr.GetOrdinal("Fac_Fecha")));
                    FacturaAlmacenCobroDet.Id_Cte           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Cte")));
                    FacturaAlmacenCobroDet.Cte_NomComercial = dr.GetValue(dr.GetOrdinal("Cte_NomComercial")).ToString();
                    FacturaAlmacenCobroDet.Fac_Importe      = Convert.ToDouble(dr.GetValue(dr.GetOrdinal("Fac_Importe")));
                    FacturaAlmacenCobroDet.Fac_Confirmado   = Convert.ToBoolean(dr.GetValue(dr.GetOrdinal("Confirmado")));
                    FacturaAlmacenCobroDet.Fac_Seleccionado = Convert.ToBoolean(dr.GetValue(dr.GetOrdinal("Seleccionado")));
                    FacturaAlmacenCobroDet.Cte_DiasRevision = dr.GetValue(dr.GetOrdinal("DiasRevicion")).ToString();
                    if (FacturaAlmacenCobroDet.Cte_DiasRevision.Length > 0)
                    {
                        FacturaAlmacenCobroDet.Cte_DiasRevision = FacturaAlmacenCobroDet.Cte_DiasRevision.Substring(0, FacturaAlmacenCobroDet.Cte_DiasRevision.Length - 1);
                    }

                    FacturaAlmacenCobro.ListaFacturaAlmacenCobroDet.Add(FacturaAlmacenCobroDet);
                }

                CapaDatos.LimpiarSqlcommand(ref sqlcmd);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void ConsultarFacturaAlmacenCobro_Sugerido(ref FacturaAlmacenCobro facturaAlmacenCobro, string Conexion)
        {
            try
            {
                SqlDataReader      dr        = null;
                CapaDatos.CD_Datos CapaDatos = new CapaDatos.CD_Datos(Conexion);

                string[] Parametros =
                {
                    "@Id_Emp",
                    "@Id_Cd",
                    "@Fecha",
                    "@FechaFin",
                    "@Db"
                };
                object[] Valores =
                {
                    facturaAlmacenCobro.Id_Emp,
                    facturaAlmacenCobro.Id_Cd,
                    facturaAlmacenCobro.Fac_Fecha,
                    facturaAlmacenCobro.Fac_FechaFin,
                    facturaAlmacenCobro.DbName
                };

                SqlCommand sqlcmd = CapaDatos.GenerarSqlCommand("spProSeguimientoAlmacenCobranza_Consultar", ref dr, Parametros, Valores);



                while (dr.Read())
                {
                    FacturaAlmacenCobroDet FacturaAlmacenCobroDet = new FacturaAlmacenCobroDet();
                    FacturaAlmacenCobroDet.Id_Emp           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Emp")));
                    FacturaAlmacenCobroDet.Id_Cd            = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Cd")));
                    FacturaAlmacenCobroDet.Id_Fac           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Fac")));
                    FacturaAlmacenCobroDet.Id_FacDet        = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_FacDet")));
                    FacturaAlmacenCobroDet.Id_Reg           = dr.IsDBNull(dr.GetOrdinal("Id_Reg")) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Reg")));
                    FacturaAlmacenCobroDet.Fac_Tipo         = dr.GetValue(dr.GetOrdinal("Fac_Tipo")).ToString();
                    FacturaAlmacenCobroDet.Fac_TipoStr      = dr.GetValue(dr.GetOrdinal("Fac_TipoStr")).ToString();
                    FacturaAlmacenCobroDet.Fac_Doc          = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Fac_Doc")));
                    FacturaAlmacenCobroDet.Fac_Fecha        = Convert.ToDateTime(dr.GetValue(dr.GetOrdinal("Fac_Fecha")));
                    FacturaAlmacenCobroDet.Id_Cte           = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Cte")));
                    FacturaAlmacenCobroDet.Cte_NomComercial = dr.GetValue(dr.GetOrdinal("Cte_NomComercial")).ToString();
                    FacturaAlmacenCobroDet.Fac_Importe      = Convert.ToDouble(dr.GetValue(dr.GetOrdinal("Fac_Importe")));
                    FacturaAlmacenCobroDet.Cte_DiasRevision = dr.GetValue(dr.GetOrdinal("DiasRevicion")).ToString();
                    if (FacturaAlmacenCobroDet.Cte_DiasRevision.Length > 0)
                    {
                        FacturaAlmacenCobroDet.Cte_DiasRevision = FacturaAlmacenCobroDet.Cte_DiasRevision.Substring(0, FacturaAlmacenCobroDet.Cte_DiasRevision.Length - 1);
                    }

                    FacturaAlmacenCobroDet.Fac_Confirmado   = Convert.ToBoolean(dr.GetValue(dr.GetOrdinal("Confirmado")));
                    FacturaAlmacenCobroDet.Fac_Seleccionado = Convert.ToBoolean(dr.GetValue(dr.GetOrdinal("Seleccionado")));
                    facturaAlmacenCobro.ListaFacturaAlmacenCobroDet.Add(FacturaAlmacenCobroDet);
                }

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