Exemple #1
0
        protected void txtClave_TextChanged(object sender, EventArgs e)
        {
            if (txtClave.Text == "")
            {
                txtContribucion.Value = 0;
                ObtenerSegmentos(-1);
                return;
            }

            Sesion Sesion = new Sesion();

            Sesion = (Sesion)Session["Sesion" + Session.SessionID];
            CN_CatProducto cn_producto = new CN_CatProducto();
            Producto       prd         = new Producto();

            cn_producto.ConsultaProducto(ref prd, Sesion.Emp_Cnx, Sesion.Id_Emp, Sesion.Id_Cd_Ver, (int)txtClave.Value.Value);

            int Id_prd = -1;

            if (prd.Prd_Descripcion != null)
            {
                CmbPrd.Text = prd.Prd_Descripcion;
                Id_prd      = (int)txtClave.Value.Value;
            }
            else
            {
                txtClave.Text        = "";
                txtContribucion.Text = "";
            }
            consultarProducto = false;
            ObtenerSegmentos((int)txtClave.Value.Value);
        }
Exemple #2
0
        protected void txtIdPrd_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Sesion            sesion      = (Sesion)Session["Sesion" + Session.SessionID];
                RadNumericTextBox combo       = (RadNumericTextBox)sender;
                CN_CatProducto    clsProducto = new CN_CatProducto();
                Producto          producto    = new Producto();
                producto.Id_Prd = Convert.ToInt32((sender as RadNumericTextBox).Value.HasValue ? (sender as RadNumericTextBox).Value : -1);
                clsProducto.ConsultaProducto(ref producto, sesion.Emp_Cnx, sesion.Id_Emp, producto.Id_Prd, sesion.Id_Cd_Ver, Convert.ToInt32(combo.Value));

                if (producto.Prd_Descripcion != null)
                {
                    txtProducto.Text = producto.Prd_Descripcion;
                    txtProducto.Focus();
                }
                else
                {
                    txtProducto.Text = "";
                    Alerta("El Producto no existe o esta inactivo");
                }
            }
            catch (Exception ex)
            {
                ErrorManager(ex, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name);
            }
        }
        protected void txtId_PrdFinal_TextChanged(object sender, EventArgs e)
        {
            Sesion         sesion      = (Sesion)Session["Sesion" + Session.SessionID];
            Producto       producto    = new Producto();
            CN_CatProducto clsProducto = new CN_CatProducto();

            try
            {
                int productoFinal = txtId_PrdFinal.Value.HasValue ? (int)txtId_PrdFinal.Value.Value : -1;
                if (productoFinal > 0)
                {
                    clsProducto.ConsultaProducto(ref producto, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, sesion.Id_Cd_Ver, productoFinal);
                }
                else
                {
                    txtId_PrdFinal.Text = "";
                    txtProductoFin.Text = "";
                    return;
                }
            }
            catch (Exception ex)
            {
                AlertaFocus(ex.Message, txtProductoFin.ClientID);
                txtId_PrdFinal.Text = "";
                txtProductoFin.Text = "";
                return;
            }
            txtProductoFin.Text = producto.Prd_Descripcion;
            btnBusqueda.Focus();
        }
Exemple #4
0
        protected void txtId_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Sesion            sesion     = (Sesion)Session["Sesion" + Session.SessionID];
                RadNumericTextBox cmbProd    = sender as RadNumericTextBox;
                Producto          prd        = new Producto();
                CN_CatProducto    cnProducto = new CN_CatProducto();
                int id_prd = Convert.ToInt32(cmbProd.Value.HasValue ? cmbProd.Value.Value : -1);

                try
                {
                    cnProducto.ConsultaProducto(ref prd, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, id_prd);
                }
                catch (Exception ex)
                {
                    AlertaFocus(ex.Message, (sender as RadNumericTextBox).ClientID);
                    (cmbProd.Parent.FindControl("txtDescripcion") as RadTextBox).Text = "";
                    (sender as RadNumericTextBox).Text = "";
                    return;
                }
                (cmbProd.Parent.FindControl("txtDescripcion") as RadTextBox).Text = prd.Prd_Descripcion;
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #5
0
        protected void txtProductoDestino_TextChanged(object sender, EventArgs e)
        {
            try
            {
                ErrorManager();
                if (!txtProductoDestino.Value.HasValue)
                {
                    txtProductoNombreDestino.Text = "";
                    return;
                }

                Producto prd = new Producto();
                prd.Id_Emp = session.Id_Emp;
                prd.Id_Cd  = session.Id_Cd_Ver;
                //cte.Id_Cte = Convert.ToInt32(cmbCliente.SelectedValue);
                prd.Id_Prd = Convert.ToInt32(txtProductoDestino.Value.HasValue ? txtProductoDestino.Value.Value : -1);
                CN_CatProducto catproducto = new CN_CatProducto();
                try
                {
                    catproducto.ConsultaProducto(ref prd, session.Emp_Cnx, prd.Id_Emp, prd.Id_Cd, prd.Id_Prd);
                    if (prd.Id_Ptp != 1)
                    {
                        AlertaFocus("El producto no es accesorio", txtProductoDestino.ClientID);
                        txtProductoDestino.Text       = "";
                        txtProductoNombreDestino.Text = "";
                        return;
                    }
                    txtProductoNombreDestino.Text = prd.Prd_Descripcion;
                }
                catch (Exception ex)
                {
                    AlertaFocus(ex.Message, txtProductoDestino.ClientID);
                    txtProductoDestino.Text       = "";
                    txtProductoNombreDestino.Text = "";
                    return;
                }

                if (txtProductoDestino.Text != "" && txtProductoOrigen.Text != "")
                {
                    txtCantQuitar.Enabled = true;
                    txtCantQuitar.Focus();
                }
                else
                {
                    txtCantQuitar.Enabled = false;
                    txtExplicacion.Focus();
                }
            }
            catch (Exception ex)
            {
                ErrorManager(ex, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name);
            }
        }
Exemple #6
0
        protected void cmbProducto_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            try
            {
                //verificar que el producto este el segmento
                if (false)
                {
                }
                else
                {
                    Sesion      sesion = (Sesion)Session["Sesion" + Session.SessionID];
                    RadComboBox combo  = (RadComboBox)sender;
                    //obtiene la tabla contenedora de los controles de edición de registro del Grid
                    Telerik.Web.UI.GridTableCell tabla    = (Telerik.Web.UI.GridTableCell)combo.Parent;
                    RadTextBox        txtPrd_Descripcion  = (RadTextBox)tabla.FindControl("txtPrd_Descripcion");
                    RadTextBox        txtPrd_Presentacion = (RadTextBox)tabla.FindControl("txtPrd_Presentacion");
                    RadTextBox        txtPrd_UniNe        = (RadTextBox)tabla.FindControl("txtPrd_UniNe");
                    RadNumericTextBox txtNcr_Cantidad     = (RadNumericTextBox)tabla.FindControl("txtNcr_Cantidad");
                    RadNumericTextBox txtNcr_Precio       = (RadNumericTextBox)tabla.FindControl("txtNcr_Precio");
                    RadComboBoxItem   item = ((RadComboBox)sender).FindItemByValue(e.Value);
                    int id_Cd_Prod         = sesion.Id_Cd_Ver;// Convert.ToInt32(((Label)item.FindControl("lblLiCd")).Text);

                    Producto producto = null;
                    if (e.Value != string.Empty && e.Value != "-1")
                    {
                        //obtener datos de producto
                        CN_CatProducto clsProducto = new CN_CatProducto();
                        clsProducto.ConsultaProducto(ref producto, sesion.Emp_Cnx, sesion.Id_Emp, id_Cd_Prod, sesion.Id_Cd_Ver, Convert.ToInt32(e.Value));


                        //Finalmente introduce el precio de producto aceptado para la partida
                        txtNcr_Precio.Text = "";
                    }
                    txtPrd_Descripcion.Text  = producto == null ? string.Empty : producto.Prd_Descripcion;
                    txtPrd_Presentacion.Text = producto == null ? string.Empty : producto.Prd_Presentacion;
                    txtPrd_UniNe.Text        = producto == null ? string.Empty : producto.Prd_UniNe;

                    //este evento es porque se elige producto, por lo que
                    //se habilita el campo de cantidad porque ya eligió producto y se estableció las unidades de empaque
                    txtNcr_Cantidad.Enabled = true;
                    txtNcr_Cantidad.Text    = string.Empty;

                    txtPrd_Descripcion.Focus();
                    //Limpiar controles de compras locales
                    //combo.Items[0].FindControl("liComprasLocales").Controls.Clear();
                }
            }
            catch (Exception ex)
            {
                ErrorManager(ex, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name);
            }
        }
        protected void txtId_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Sesion            sesion     = (Sesion)Session["Sesion" + Session.SessionID];
                RadNumericTextBox cmbProd    = sender as RadNumericTextBox;
                Producto          prd        = new Producto();
                CN_CatProducto    cnProducto = new CN_CatProducto();
                int id_prd = Convert.ToInt32(cmbProd.Value.HasValue ? cmbProd.Value.Value : -1);

                DataRow[] Ar_Dr = list.Select("Id='" + id_prd + "'");
                if (Ar_Dr.Length > 0)
                {
                    this.Alerta("El producto ya esta incluido");

                    (sender as RadNumericTextBox).Text = "";

                    return;
                }


                try
                {
                    cnProducto.ConsultaProducto(ref prd, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, id_prd);
                }
                catch (Exception ex)
                {
                    AlertaFocus(ex.Message, (sender as RadNumericTextBox).ClientID);
                    (cmbProd.Parent.FindControl("txtDescripcion") as RadTextBox).Text   = "";
                    (cmbProd.Parent.FindControl("lblDisponibleEdit") as Label).Text     = "";
                    (cmbProd.Parent.FindControl("txtPrecio") as RadNumericTextBox).Text = "";
                    (sender as RadNumericTextBox).Text = "";

                    return;
                }
                (cmbProd.Parent.FindControl("txtDescripcion") as RadTextBox).Text = prd.Prd_Descripcion;

                List <int> listInt = new List <int>();
                cnProducto.ConsultaProducto_Disponible(sesion.Id_Emp, sesion.Id_Cd_Ver, id_prd.ToString(), ref listInt, sesion.Emp_Cnx);

                (cmbProd.Parent.FindControl("lblDisponibleEdit") as Label).Text = listInt[2].ToString();

                CN_CatProducto cn_catproducto = new CN_CatProducto();
                Producto       pr             = new Producto();
                cn_catproducto.ConsultaProducto(ref pr, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, id_prd);
                (cmbProd.Parent.FindControl("txtPrecio") as RadNumericTextBox).Text = pr.Prd_Precio.ToString();
            }
            catch (Exception)
            {
                throw;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Sesion Sesion = new Sesion();
                Sesion = (Sesion)Session["Sesion" + Session.SessionID];
                if (Sesion == null)
                {
                    CerrarVentana("");
                }
                else
                {
                    if (!IsPostBack)
                    {
                        //if (list == null)
                        //{
                        list = new DataTable();

                        list.Columns.Add("Id");
                        list.Columns.Add("Descripcion");
                        list.Columns.Add("Disponible");
                        list.Columns.Add("Cantidad");
                        list.Columns.Add("Precio");
                        CN_CapAcys acys = new CN_CapAcys();
                        Acys       a    = new Acys();
                        a.Id_Emp = Sesion.Id_Emp;
                        a.Id_Cd  = Sesion.Id_Cd_Ver;
                        a.Id_Acs = Convert.ToInt32(Request.QueryString["Id_Acs"]);
                        DataTable list2 = list;
                        acys.ConsultarReemplazos(a, Convert.ToInt32(Request.QueryString["Id_Prd"]), ref list2, Sesion.Emp_Cnx);
                        list = list2;
                        //}
                        RadGrid1.Rebind();

                        CN_CatProducto cn_catproducto = new CN_CatProducto();
                        Producto       pr             = new Producto();
                        int            id_Prd;
                        for (int x = 0; x < RadGrid1.Items.Count; x++)
                        {
                            id_Prd = Convert.ToInt32((RadGrid1.Items[x]["Id"].FindControl("lblId") as Label).Text);
                            cn_catproducto.ConsultaProducto(ref pr, Sesion.Emp_Cnx, Sesion.Id_Emp, Sesion.Id_Cd_Ver, id_Prd);
                            (RadGrid1.Items[x]["Precio"].FindControl("txtPrecio") as RadNumericTextBox).DbValue = pr.Prd_Precio;
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Sesion Sesion = new Sesion();
                Sesion = (Sesion)Session["Sesion" + Session.SessionID];
                string valor_retorno = "";

                if (Sesion == null)
                {
                    valor_retorno = "-0";
                }
                else
                {
                    int Prd = Convert.ToInt32(Request.Params["prd"]);

                    Sesion         sesion      = (Sesion)Session["Sesion" + Session.SessionID];
                    Producto       producto    = new Producto();
                    CN_CatProducto clsProducto = new CN_CatProducto();
                    try
                    {
                        clsProducto.ConsultaProducto(ref producto, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, sesion.Id_Cd_Ver, Prd);
                        if (Request.Params["Bi"] != null)
                        {
                            if (!(bool)producto.Prd_AparatoSisProp)
                            {
                                valor_retorno = "-2";
                            }
                            else
                            {
                                valor_retorno = producto.Prd_Descripcion;
                            }
                        }
                        else
                        {
                            valor_retorno = producto.Prd_Descripcion;
                        }
                    }
                    catch (Exception ex)
                    {
                        valor_retorno = ex.Message;
                    }
                }
                Response.Write(valor_retorno);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #10
0
        protected void cmbProducto_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            try
            {
                //verificar que el producto este el segmento
                if (false)
                {
                }
                else
                {
                    RadComboBox combo = (RadComboBox)sender;
                    //obtiene la tabla contenedora de los controles de edición de registro del Grid
                    Telerik.Web.UI.GridTableCell tabla = (Telerik.Web.UI.GridTableCell)combo.Parent;

                    RadTextBox        txtPrd_Descripcion  = (RadTextBox)tabla.FindControl("txtPrd_Descripcion");
                    RadTextBox        txtPrd_Presentacion = (RadTextBox)tabla.FindControl("txtPrd_Presentacion");
                    RadTextBox        txtPrd_UniNe        = (RadTextBox)tabla.FindControl("txtPrd_UniNe");
                    RadNumericTextBox txtRem_Cantidad     = (RadNumericTextBox)tabla.FindControl("txtRem_Cantidad");
                    RadNumericTextBox txtRem_Precio       = (RadNumericTextBox)tabla.FindControl("txtRem_Precio");

                    Sesion          sesion     = (Sesion)Session["Sesion" + Session.SessionID];
                    RadComboBoxItem item       = ((RadComboBox)sender).FindItemByValue(e.Value);
                    int             id_Cd_Prod = sesion.Id_Cd_Ver;

                    Producto producto = new Producto();
                    if (e.Value != string.Empty && e.Value != "-1")
                    {
                        //obtener datos de producto
                        CN_CatProducto clsProducto = new CN_CatProducto();
                        clsProducto.ConsultaProducto(ref producto, sesion.Emp_Cnx, sesion.Id_Emp, id_Cd_Prod, sesion.Id_Cd_Ver, Convert.ToInt32(e.Value));
                    }
                    txtRem_Precio.Text       = "";
                    txtPrd_Descripcion.Text  = producto == null ? string.Empty : producto.Prd_Descripcion;
                    txtPrd_Presentacion.Text = producto == null ? string.Empty : producto.Prd_Presentacion;
                    txtPrd_UniNe.Text        = producto == null ? string.Empty : producto.Prd_UniNe;

                    //este evento es porque se elige producto, por lo que
                    //se habilita el campo de cantidad porque ya eligió producto y se estableció las unidades de empaque
                    txtRem_Cantidad.Enabled = true;
                    txtRem_Cantidad.Text    = string.Empty;

                    txtPrd_Descripcion.Focus();
                }
            }
            catch (Exception ex)
            {
                this.DisplayMensajeAlerta(string.Concat(ex.Message, "cmbProducto_IndexChanging_error"));
            }
        }
Exemple #11
0
        protected void txtProducto_TextChanged(object sender, EventArgs e)
        {
            if (txtProducto.Text == "")
            {
                return;
            }
            Sesion Sesion = new Sesion();

            Sesion = (Sesion)Session["Sesion" + Session.SessionID];
            CN_CatProducto cn_producto = new CN_CatProducto();
            Producto       prd         = new Producto();

            cn_producto.ConsultaProducto(ref prd, Sesion.Emp_Cnx, Sesion.Id_Emp, Sesion.Id_Cd_Ver, (int)txtProducto.Value.Value);

            if (prd.Prd_Descripcion != null)
            {
                cmbProductosLista.Text = prd.Prd_Descripcion;
                txtPresentacion.Text   = prd.Prd_Presentacion;
                txtPresentacion0.Text  = prd.Prd_UniNs;
                txtInventario.Text     = prd.Prd_InvFinal.ToString();
                txtFisico.Text         = prd.Prd_Fisico.ToString();
                lblProducto2.Text      = txtProducto.Text + " " + prd.Prd_Descripcion;
                dt.Rows.Clear();
                List <FisicoConsignado> lista = GetList(prd.Id_Prd);
                foreach (FisicoConsignado objFisico in lista)
                {
                    DataRow row = dt.NewRow();
                    row["Id_Emp"]          = objFisico.Id_Emp;
                    row["Id_Cd"]           = objFisico.Id_Cd;
                    row["Id_Fis"]          = objFisico.Id_Fis;
                    row["Id_FisCons"]      = objFisico.Id_FisCons;
                    row["Id_Cte"]          = objFisico.Id_Cte;
                    row["Id_CteStr"]       = objFisico.Cte_Nombre;
                    row["Id_Ter"]          = objFisico.Id_Ter;
                    row["Id_TerStr"]       = objFisico.Ter_Nombre;
                    row["Fis_Consignados"] = objFisico.Fis_Consignados;
                    dt.Rows.Add(row);
                }

                rg1.DataSource = dt;
                rg1.DataBind();
                txtFisico.Focus();
            }
            else
            {
                Nuevo();
            }
        }
        protected void txtProducto_TextChanged(object sender, EventArgs e)
        {
            if (txtProductoID.Text == "")
            {
                cmbProducto_SelectedIndexChanged(null, null);
                return;
            }


            Sesion Sesion = new Sesion();

            Sesion = (Sesion)Session["Sesion" + Session.SessionID];

            CN_CatProducto cn_producto = new CN_CatProducto();
            Producto       prd         = new Producto();

            try
            {
                cn_producto.ConsultaProducto(ref prd, Sesion.Emp_Cnx, Sesion.Id_Emp, Sesion.Id_Cd_Ver, (int)txtProductoID.Value.Value);
            }
            catch (Exception ex)
            {
                AlertaFocus(ex.Message, txtProductoID.ClientID);
                txtProductoID.Text = "";
                cmbProducto_SelectedIndexChanged(null, null);
                return;
            }


            if (prd.Prd_Descripcion != null)
            {
                cmbProducto.Text          = prd.Prd_Descripcion;
                cmbProducto.SelectedValue = prd.Id_Prd.ToString();
                lblProducto.Text          = prd.Id_Prd.ToString() + " - " + prd.Prd_Descripcion;
                cmbProducto_SelectedIndexChanged(null, null);
            }
            else
            {
                txtProductoID.Text = "";
                cmbProducto.Text   = "";
                lblProducto.Text   = "";
                Inicializar();
            }
        }
        private void ObtenerProductoInfo()
        {
            try
            {
                int Id_Prd = txtProductoID.Text == "" ? -1 : Convert.ToInt32(cmbProducto.SelectedValue);//Id_Prd;
                if (Id_Prd != -1)
                {
                    Sesion session2 = new Sesion();
                    session2 = (Sesion)Session["Sesion" + Session.SessionID];
                    Producto       prd            = new Producto();
                    CN_CatProducto cn_catproducto = new CN_CatProducto();
                    cn_catproducto.ConsultaProducto(ref prd, session2.Emp_Cnx, session2.Id_Emp, session2.Id_Cd_Ver, Id_Prd);

                    txtInventarioFin.Value = prd.Prd_InvFinal;
                    txtAsignado.Value      = prd.Prd_Asignado;
                }
                else
                {
                    txtInventarioFin.Text = "";
                    txtAsignado.Text      = "";
                    cmbProducto.Text      = "";
                    txtClave.Text         = "";
                    txtDescripcion.Text   = "";
                    txtPresentacion.Text  = "";
                    txtUnidades.Text      = "";
                    txtCantFact.Text      = "";
                    dt = new DataTable();
                    DataColumn dc = new DataColumn();
                    dt.Columns.Add("Id_ClpDet", System.Type.GetType("System.Int32"));
                    dt.Columns.Add("TPrecio", System.Type.GetType("System.Int32"));
                    dt.Columns.Add("TPrecioStr", System.Type.GetType("System.String"));
                    dt.Columns.Add("Precio", System.Type.GetType("System.String"));
                    dt.Columns.Add("Pesos", System.Type.GetType("System.Double"));
                    rgDet.Rebind();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #14
0
        private void Inicializar()
        {
            HF_Ped.Value     = Request.QueryString["Id_Prd"].ToString();
            txtProducto.Text = Request.QueryString["Id_Prd"].ToString();
            // Request.QueryString["Prd_Nom"].ToString();

            CN_CatProducto cn_producto = new CN_CatProducto();

            Sesion Sesion = new Sesion();

            Sesion = (Sesion)Session["Sesion" + Session.SessionID];
            Producto prd = new Producto();

            cn_producto.ConsultaProducto(ref prd, Sesion.Emp_Cnx, Sesion.Id_Emp, Sesion.Id_Cd_Ver, Convert.ToInt32(HF_Ped.Value));
            txtProductoNombre.Text = prd.Prd_Descripcion;

            _PermisoGuardar   = Convert.ToBoolean(Request.QueryString["PermisoGuardar"]);
            _PermisoModificar = Convert.ToBoolean(Request.QueryString["PermisoModificar"]);
            _PermisoEliminar  = Convert.ToBoolean(Request.QueryString["PermisoEliminar"]);
            _PermisoImprimir  = Convert.ToBoolean(Request.QueryString["PermisoImprimir"]);
            rgPedido.Rebind();
            ValidarPermisos();
        }
        protected void rtb1_ButtonClick(object sender, RadToolBarEventArgs e)
        {
            try
            {
                int    Id_Prd_Original = Convert.ToInt32(Request.QueryString["Id_Prd"]);
                int    Id_Prd          = 0;
                int    Cantidad        = 0;
                double precio          = 0;
                string Acs_Doc         = "";
                string Acs_Dia         = "";
                string Acs_DiaStr      = "";


                DateTime  rdFechaF = default(DateTime);
                DataRow[] Ar_dr    = dt.Select("Id_Prd='" + Id_Prd_Original + "'");
                if (Ar_dr.Length > 0)
                {
                    Acs_Doc    = Ar_dr[0]["Acs_Doc"].ToString();
                    Acs_Dia    = Ar_dr[0]["Acs_Dia"].ToString();
                    Acs_DiaStr = Ar_dr[0]["Acs_DiaStr"].ToString();

                    try
                    {
                        rdFechaF = Convert.ToDateTime(Ar_dr[0]["Acs_FechaF"]);
                    }
                    catch (Exception)
                    {
                    }

                    //Ar_dr[0].Delete();
                    //dt.AcceptChanges();
                }

                int    contador = 0;
                string cantidad = "";
                for (int x = 0; x < RadGrid1.Items.Count; x++)
                {
                    cantidad = (RadGrid1.Items[x].FindControl("txtCantidad") as RadNumericTextBox).Text;
                    if (cantidad != "0" && cantidad != "")
                    {
                        Cantidad = Convert.ToInt32((RadGrid1.Items[x].FindControl("txtCantidad") as RadNumericTextBox).Text);
                        Id_Prd   = Convert.ToInt32((RadGrid1.Items[x].FindControl("lblId") as Label).Text);
                        precio   = (RadGrid1.Items[x].FindControl("txtPrecio") as RadNumericTextBox).Text == "" ? 0 : Convert.ToDouble((RadGrid1.Items[x].FindControl("txtPrecio") as RadNumericTextBox).Text);

                        Sesion         sesion         = (Sesion)Session["Sesion" + Session.SessionID];
                        CN_CatProducto cn_catproducto = new CN_CatProducto();
                        Producto       pr             = new Producto();
                        cn_catproducto.ConsultaProducto(ref pr, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, Id_Prd);
                        string Id_Cte = Request.QueryString["Id_Cte"].ToString();
                        cn_catproducto.ConsultarVentas(ref pr, Convert.ToInt32(Id_Cte), sesion.Emp_Cnx);


                        dt.Rows.Add(new object[] {
                            -1,
                            Id_Prd,
                            pr.Prd_Descripcion,
                            pr.Prd_Presentacion,
                            pr.Prd_UniNs,
                            pr.ventaMes[0],
                            pr.ventaMes[1],
                            pr.ventaMes[2],
                            Cantidad,
                            precio,
                            precio,
                            Cantidad * precio,
                            Acs_Doc,
                            rdFechaF,
                            0,
                            Acs_Dia,
                            Acs_DiaStr,
                            0,
                            0,
                            0
                        });

                        CN_CapAcys cn_acys = new CN_CapAcys();
                        cn_acys.ModificarEquivalencia(Id_Prd, Id_Prd_Original, Request.QueryString["Id_Acs"].ToString(), sesion.Id_Emp, sesion.Id_Cd_Ver, sesion.Emp_Cnx);
                        contador++;
                    }

                    if (Ar_dr.Length > 0 && contador > 0)
                    {
                        Ar_dr[0].Delete();
                        dt.AcceptChanges();
                    }
                }
                CerrarVentana("");
                list = null;
            }
            catch (Exception)
            {
                throw;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Sesion sesion        = (Sesion)Session["Sesion" + Session.SessionID];
                string valor_retorno = "";

                if (Request.Params["ini"] != null || sesion == null)
                {
                    valor_retorno = "-0";
                }
                else
                {
                    try
                    {
                        string acc_ = Request.Params["acc"].ToString();
                        string prd_ = Request.Params["prd"].ToString();

                        string gpo_ = "";
                        string ref_ = "";
                        string es_  = "";
                        string ter_ = "";
                        string nat_ = "";
                        string mov_ = "";
                        string cte_ = "";
                        string pre_ = "";
                        int    can_ = 0;



                        if (acc_ == "can")
                        {
                            nat_ = Request.Params["nat"].ToString();
                            mov_ = Request.Params["mov"].ToString();
                            cte_ = Request.Params["cte"].ToString();
                            can_ = Convert.ToInt32(Request.Params["can"]);
                            es_  = Request.Params["es"].ToString();
                        }

                        if (acc_ == "can" || acc_ == "val")
                        {
                            gpo_      = Request.Params["gpo"].ToString();
                            ref_      = Request.Params["ref"].ToString();
                            ter_      = Request.Params["ter"].ToString();
                            HF_ClvPag = Request.Params["clv"].ToString();
                        }

                        if (acc_ == "cos")
                        {
                            pre_ = Request.Params["pre"].ToString();
                        }



                        CN_CatProducto cn_pro   = new CN_CatProducto();
                        Producto       producto = new Producto();
                        try
                        {
                            cn_pro.ConsultaProducto(ref producto, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, sesion.Id_Cd_Ver, Convert.ToInt32(prd_));

                            if (acc_ == "val") //PRODUCTO VALIDO
                            {
                                valor_retorno = Producto_Valido(sesion, valor_retorno, gpo_, ref_, ter_, prd_, producto);
                            }
                            else if (acc_ == "can") //CANTIDAD
                            {
                                valor_retorno = Producto_Cantidad(sesion, valor_retorno, nat_, gpo_, Convert.ToInt32(prd_), ref_, Convert.ToInt32(es_), Convert.ToInt32(ter_), can_, mov_, cte_, producto);
                            }
                            else if (acc_ == "cos") //COSTO
                            {
                                valor_retorno = Producto_Costo(sesion, valor_retorno, producto, Convert.ToDouble(pre_));
                            }
                        }
                        catch (Exception ex)
                        {
                            valor_retorno = "-1@@" + ex.Message;
                        }
                    }
                    catch
                    {
                        valor_retorno = "-1";
                    }
                }
                Response.Write(valor_retorno);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private string Producto_Cantidad(Sesion sesion, string valor_retorno, string nat_, string gpo_, int id_prd, string ref_, int es_, int ter_, int can_, string mov_, string cte_, Producto producto)
        {
            try
            {
                if (nat_ == "1")
                {
                    int cantidadB = 0;
                    foreach (EntradaSalidaDetalle dr in list_Es)
                    {
                        if (dr.Id_Prd.ToString() == id_prd.ToString())
                        {
                            cantidadB = cantidadB + Convert.ToInt32(dr.Es_Cantidad);
                        }
                    }
                    if (Session["estatus" + Session.SessionID + HF_ClvPag].ToString() == "1")
                    {
                        cantidadB = cantidadB - Convert.ToInt32(Session["CantidadEdicion" + Session.SessionID + HF_ClvPag]);
                    }

                    CN_CapRemision rem         = new CN_CapRemision();
                    int            cantidadES2 = 0;
                    if (actualizacionDocumento)
                    {
                        rem.ConsultarRemisionesCantidadRemCantidad(sesion.Id_Emp, sesion.Id_Cd_Ver, es_, id_prd, nat_, ref cantidadES2, sesion.Emp_Cnx);
                    }


                    if (producto.Prd_InvFinal - producto.Prd_Asignado + cantidadES2 < can_ + cantidadB)
                    {
                        return("-1@@" + "No hay producto suficiente");
                    }
                }
                else if (gpo_ == "0")
                {
                    int edicion = Convert.ToInt32(Session["CantidadEdicion" + Session.SessionID + HF_ClvPag]);
                    if (producto.Prd_InvFinal - producto.Prd_Asignado - (edicion - can_) < 0)
                    {
                        return("-1@@" + "Producto " + producto.Id_Prd.ToString() + " inventario disponible insuficiente, inventario final: " + producto.Prd_InvFinal.ToString() + ", asignado: " + producto.Prd_Asignado.ToString() + ", disponible:" + (producto.Prd_InvFinal - producto.Prd_Asignado).ToString());
                    }
                }

                if (gpo_ == "4" || gpo_ == "2")
                {
                    CN_CapEntradaSalida CNentrada = new CN_CapEntradaSalida();
                    int verificador = 0;
                    CNentrada.ConsultarSaldo(sesion.Id_Emp, sesion.Id_Cd_Ver, id_prd.ToString(), ter_.ToString(), cte_, sesion.Emp_Cnx, ref verificador, mov_);
                    int Prd_AgrupadoSpo = producto.Prd_AgrupadoSpo;

                    int cantidadEnDt = 0;
                    foreach (EntradaSalidaDetalle dr in list_Es.Where(EntradaSalidaDetalle => EntradaSalidaDetalle.Prd_AgrupadoSpo == Prd_AgrupadoSpo && EntradaSalidaDetalle.Id_Ter == ter_ && EntradaSalidaDetalle.Id_Prd != id_prd).ToList())
                    {
                        cantidadEnDt += dr.Es_Cantidad;
                    }

                    CN_CapRemision rem         = new CN_CapRemision();
                    int            cantidadES2 = 0;
                    if (actualizacionDocumento)
                    {
                        rem.ConsultarRemisionesCantidadRemCantidad(sesion.Id_Emp, sesion.Id_Cd_Ver, es_, Prd_AgrupadoSpo, nat_, ref cantidadES2, sesion.Emp_Cnx);
                        verificador += cantidadES2;
                    }


                    if (cantidadEnDt + can_ > verificador)
                    {
                        return("-1@@" + "Los artículos sobrepasan lo disponible");
                    }
                }
                else if (gpo_ == "3")
                {
                    CN_CapRemision rem = new CN_CapRemision();


                    int cantidadES = 0;

                    int cantidadEnDttemp_original = 0;
                    if (Session["estatus" + Session.SessionID + HF_ClvPag].ToString() != "1")
                    {
                        cantidadEnDttemp_original = 0;
                    }
                    else
                    {
                        cantidadEnDttemp_original = Convert.ToInt32(Session["CantidadEdicion" + Session.SessionID + HF_ClvPag]);
                    }

                    int cantidadB = 0;
                    foreach (EntradaSalidaDetalle dr in list_Es)
                    {
                        if (dr.Id_Prd.ToString() == id_prd.ToString())
                        {
                            cantidadB += dr.Es_Cantidad;
                        }
                    }


                    //rem.ConsultarRemisionesCantidad(session.Id_Emp, session.Id_Cd_Ver, refe, id_prd, ref cantidadES, session.Emp_Cnx);
                    rem.ConsultarRemisionesCantidadRem(sesion.Id_Emp, sesion.Id_Cd_Ver, ref_, id_prd, ref cantidadES, sesion.Emp_Cnx);
                    int cantidadES2 = 0;
                    if (actualizacionDocumento)
                    {
                        rem.ConsultarRemisionesCantidadRemCantidad(sesion.Id_Emp, sesion.Id_Cd_Ver, es_, id_prd, nat_, ref cantidadES2, sesion.Emp_Cnx);
                        cantidadES += cantidadES2;
                    }



                    if (cantidadES < cantidadB - cantidadEnDttemp_original + can_)
                    //if (cantidadES < can_)
                    {
                        return("-1@@" + "Los artículos sobrepasan el disponible");
                    }

                    if (producto.Prd_InvFinal - producto.Prd_Asignado - (cantidadEnDttemp_original - can_) < 0)
                    {
                        return("-1@@" + "Producto " + producto.Id_Prd.ToString() + " inventario disponible insuficiente, inventario final: " + producto.Prd_InvFinal.ToString() + ", asignado: " + producto.Prd_Asignado.ToString() + ", disponible:" + (producto.Prd_InvFinal - producto.Prd_Asignado).ToString());
                    }
                }
                else if (gpo_ == "1")
                {
                    if (actualizacionDocumento)
                    {
                        CN_CapRemision rem         = new CN_CapRemision();
                        int            cantidadES2 = 0;
                        rem.ConsultarRemisionesCantidadRemCantidad(sesion.Id_Emp, sesion.Id_Cd_Ver, es_, id_prd, nat_, ref cantidadES2, sesion.Emp_Cnx);

                        Producto       cp             = new Producto();
                        CN_CatProducto cn_catproducto = new CN_CatProducto();
                        cn_catproducto.ConsultaProducto(ref cp, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, id_prd);

                        int cantidadB = 0;
                        foreach (EntradaSalidaDetalle dr in list_Es)
                        {
                            if (dr.Id_Prd.ToString() == id_prd.ToString())
                            {
                                cantidadB += dr.Es_Cantidad;
                            }
                        }

                        cantidadB = cantidadB - Convert.ToInt32(Session["CantidadEdicion" + Session.SessionID + HF_ClvPag]) + (int)can_;
                        if (cantidadB < cantidadES2 && (cantidadES2 - cantidadB) > (cp.Prd_InvFinal - cp.Prd_Asignado))
                        {
                            return("-1@@" + "Producto " + id_prd.ToString() + " inventario disponible insuficiente, inventario final: " + cp.Prd_InvFinal.ToString() + ", asignado: " + cp.Prd_Asignado.ToString() + " , disponible: " + (cp.Prd_InvFinal - cp.Prd_Asignado).ToString() + "");
                        }
                    }
                }
                return("1");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }