protected void btnSend_Click(object sender, EventArgs e)
        {
            // btnEnviar.Visible = false;
            if (string.IsNullOrEmpty(txtReturnOrder.Text.Trim()))
            {
                //RequiredField.Enabled = true;
                //RequiredField.IsValid = false;
                txtReturnOrder.Focus();
                // grdRecords.DataSource = "";
                //  grdRecords.DataBind();
                return;
            }

            tblReturnInfo.Visible = false;
            grdRecords.Visible    = false;
            InterfazDAL_twhcol130 idal = new InterfazDAL_twhcol130();

            string strError = string.Empty;
            string retorno  = string.Empty;

            string returnorder = string.Empty;

            returnorder = txtReturnOrder.Text.Trim().ToString().ToUpperInvariant();


            DataTable resultado = idal.vallidatePurchaseOrder(ref returnorder, ref strError);


            string tableName = string.Empty;
            string retorder, position, secuence, item, description, supplier, quantity, lot, dsca, STUN, waredesc;
            // decimal order_qty, pending_qty;

            ListItem itemS = null;

            itemS = new ListItem();
            int rowIndex = 0;

            itemS.Text  = _idioma == "INGLES" ? "-- Select an Position -- " : " -- Seleccione --";
            itemS.Value = "";
            dropDownPosition.Items.Clear();

            dropDownPosition.Items.Insert(rowIndex, itemS);

            lblError.Text = "";
            if (resultado.Rows.Count < 1)
            { //Purchase Order Return doesn´t exist
                lblError.Text = mensajes("PONotExists");
                return;
            }
            else
            {
                tblReturnInfo.Visible = true;

                /*
                 * select pur401.t$orno "ret_order", pur401.t$pono "position", pur401.t$sqnb "secuence",
                 * pur401.t$oqua "order_qty", pur401.t$bqua "pending_qty", pur401.t$item "item",
                 * ibd001.T$dsca "description", pur401.t$ddtb "date_pl_receive", inh210.t$oset "set",
                 * ipu001.t$rtdp "datetol_max", ipu001.t$rtdm "datetol_min", ipu001.t$rtqp "qtytol_max",
                 * ipu001.t$rtqm "qtytol_min", pur401.t$oltp "type", pur401.t$cwar "warehouse",
                 * inh210.t$seqn "secuence", inh210.t$clot "lot", ibd001.t$cuni "unit",
                 * pur400.t$cotp "currency", pur401.t$otbp "supplier", com100.t$nama "name"
                 */
                DataRow dr = resultado.Rows[0];
                retorder = dr.ItemArray[0].ToString();

                position = dr.ItemArray[1].ToString();
                secuence = dr.ItemArray[2].ToString();
                //  order_qty = dr.ItemArray[3].ToString();
                //  pending_qty = dr.ItemArray[4].ToString();
                item        = dr.ItemArray[5].ToString();
                description = dr.ItemArray[6].ToString();
                supplier    = dr.ItemArray[19].ToString();
                lot         = dr.ItemArray[16].ToString();
                STUN        = dr.ItemArray[17].ToString();
                //lblItemValue.Text = item;
                //lblItemDescValue.Text = description;
                lblSupplierValue.Text    = supplier;
                lblreturnorderValue.Text = retorder;

                lblstun.Value = STUN;
                //lblUnitValue.Text = unit;
                lbllotValue.Text = lot;

                grdRecords.DataSource = resultado;
                grdRecords.DataBind();
                grdRecords.Visible = true;
                itemS = new ListItem();
                // rowIndex = (int)resultado.Rows.IndexOf(dr);
                //itemS.DataSource = resultado;
                //itemS.Value = position;
                //itemS.Text = position;
                //dropDownPosition.Items.Insert(rowIndex + 1, itemS);



                DropDownList listregrind = (DropDownList)dropDownPosition;
                listregrind.DataSource     = resultado;
                listregrind.DataTextField  = "position";
                listregrind.DataValueField = "position";
                listregrind.DataBind();
                listregrind.Items.Insert(0, new ListItem(_idioma == "INGLES" ? "Select Item here..." : "Seleccione un articulo...", string.Empty));



                //btnSave.Visible = true;
            }
        }
        public static string vallidatePalletID(string palletID, string position, string returnOrder)
        {
            InterfazDAL_tticol125 idal = new InterfazDAL_tticol125();
            Ent_tticol125         obj  = new Ent_tticol125();
            string strError            = string.Empty;
            string retorno             = string.Empty;

            //TextBox quantity = (TextBox)e.Row.Cells[10].FindControl("palletId");



            obj.paid = palletID.Trim().ToUpperInvariant();

            DataTable resultado = idal.vallidatePalletData(ref obj, ref strError);
            //decimal palletQuantity = 0;
            //decimal status;
            //string tableName = string.Empty;
            //decimal givenQuantity = Convert.ToDecimal(quantity);

            /* select  col131.t$paid "palletid", col131.t$loaa "current_location",
             * col131.t$qtya "current_qty", col131.t$item "item", ibd001.t$dsca "description"*/
            string  item, description, palletid, current_location, unit, war, stat;
            decimal current_qty;

            if (resultado.Rows.Count < 1)
            {
                return(null);
            }
            else
            {
                foreach (DataRow dr in resultado.Rows)
                {
                    palletid         = dr.ItemArray[0].ToString();
                    current_location = dr.ItemArray[1].ToString();
                    current_qty      = Convert.ToDecimal(dr.ItemArray[2].ToString());
                    item             = dr.ItemArray[3].ToString();
                    description      = dr.ItemArray[4].ToString();
                    unit             = dr.ItemArray[5].ToString();
                    war  = dr.ItemArray[6].ToString();
                    stat = dr.ItemArray[7].ToString();

                    // lblItemValue.Text = item;
                    //lblItemDescValue.Text = description;
                    //lblUnitValue.Text = unit;
                    //lbllotValue.Text = lot;


                    string  warehouse, itemcode;
                    decimal qty;
                    InterfazDAL_twhcol130 idal2      = new InterfazDAL_twhcol130();
                    DataTable             resultado1 = idal2.vallidatePurchaseOrderWithPosition(ref returnOrder, ref position, ref strError);
                    if (resultado1.Rows.Count < 1)
                    {
                        return(null);
                    }
                    else
                    {
                        foreach (DataRow dr1 in resultado1.Rows)
                        {
                            itemcode  = dr1.ItemArray[0].ToString();
                            warehouse = dr1.ItemArray[1].ToString();
                            qty       = Convert.ToDecimal(dr1.ItemArray[2].ToString());
                            if (warehouse.Trim() != war.Trim())
                            {
                                return(PalletWarehousedoesnotmatch);
                            }
                            if (itemcode.Trim() != item.Trim())
                            {
                                return(PalletItemcodedoesnotmatch);
                            }
                            if (current_qty < qty)
                            {
                                return(ActualquantitypalletIDequalorlessthanorderedquantity
                                       );
                            }
                        }
                    }
                }

                return(JsonConvert.SerializeObject(resultado));
            }
        }