public Boolean fnInsT_Material_Empaque_x_Orden_Acondicionamiento(BOT_Material_Empaque_x_Orden_Acondicionamiento poBOT_Material_Empaque_x_Orden_Acondicionamiento)
        {
            Boolean lbResultado=true ;
            //conexion
            SqlTransaction loTx ;
            SqlConnection loCn = new SqlConnection();
            loCn.ConnectionString = ClassCadena.fnConexion();
            //parametros

            SqlParameter[] par = new SqlParameter[5];
            par[0] = new SqlParameter("@Codigo_Material_Empaque_x_Orden_Acondicionamiento", System.Data.SqlDbType.VarChar, 10);
            ValidateAndInsertValue(par[0],poBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Orden_Acondiconamiento);
            par[0].Direction = ParameterDirection.Output;
            par[1] = new SqlParameter("@Codigo_Orden_Acondicionamiento",System.Data.SqlDbType.VarChar,10);
            ValidateAndInsertValue(par[1],poBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Orden_Acondicionamiento);
            par[2] = new SqlParameter("@Codigo_Material_Empaque_x_Producto",System.Data.SqlDbType.VarChar,10);
            ValidateAndInsertValue(par[2],poBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Producto);
            par[3] = new SqlParameter("@Cantidad_Entregada",System.Data.SqlDbType.Decimal);
            ValidateAndInsertValue(par[3],poBOT_Material_Empaque_x_Orden_Acondicionamiento.Cantidad_Entregada);
            par[4] = new SqlParameter("@Numero_Analisis",System.Data.SqlDbType.VarChar,10);
            ValidateAndInsertValue(par[4],poBOT_Material_Empaque_x_Orden_Acondicionamiento.Numero_Analisis);

            loCn.Open();
            loTx = loCn.BeginTransaction();
            try
            {
                SqlHelper.ExecuteNonQuery(loTx, CommandType.StoredProcedure, "usp_InsT_Material_Empaque_x_Orden_Acondicionamiento", par);
                loTx.Commit();

                //
                //

            }
            catch (Exception e)
            {
                lbResultado=false;
                loTx.Rollback();
                //throw e;
            }
            finally
            {
                loCn.Close();
                loCn.Dispose();
            }

            return lbResultado;
        }
 private void btn_Aceptar_Click(object sender, EventArgs e)
 {
     BOT_Orden_Acondicionamiento bot_Orden_Acondicionamiento = new BOT_Orden_Acondicionamiento();
     bot_Orden_Acondicionamiento.Codigo_Producto = txt_Codigo_Producto.Text;
     bot_Orden_Acondicionamiento.Vigencia = Convert.ToDateTime(txt_Vigencia.Text);
     if (txt_Observaciones.Text != "")
     {
         bot_Orden_Acondicionamiento.Observaciones = txt_Observaciones.Text;
     }
     bool registraOrdenAcondicionamiento;
     BLT_Orden_Acondicionamiento blt_Orden_Acondicionamiento = new BLT_Orden_Acondicionamiento();
     registraOrdenAcondicionamiento = blt_Orden_Acondicionamiento.fnInsUpdT_Orden_Acondicionamiento(bot_Orden_Acondicionamiento,out _codigo_orden_acondicionamiento);
     bool _registraMaterialEmpaquexOrdenAcondicionamiento = false;
     if (registraOrdenAcondicionamiento)
     {
         bot_Orden_Acondicionamiento.Codigo_Orden_Acondicionamiento = _codigo_orden_acondicionamiento;
         for (int i = 0; i <= dgv_Material_Empaque.Rows.Count - 1; i++)
         {
             BOT_Material_Empaque_x_Producto oMEP = (BOT_Material_Empaque_x_Producto)dgv_Material_Empaque.Rows[i].DataBoundItem;
             BOT_Material_Empaque_x_Orden_Acondicionamiento bot_Material_Empaque_x_Orden_Acondicionamiento = new BOT_Material_Empaque_x_Orden_Acondicionamiento();
             bot_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Orden_Acondicionamiento=_codigo_orden_acondicionamiento;
             bot_Material_Empaque_x_Orden_Acondicionamiento.Cantidad_Entregada = oMEP.Cantidad_Entregada;
             bot_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Producto = oMEP.Codigo_Material_Empaque_x_Producto;
             bot_Material_Empaque_x_Orden_Acondicionamiento.Numero_Analisis = oMEP.Numero_Analisis;
             if (bot_Material_Empaque_x_Orden_Acondicionamiento.Cantidad_Entregada != 0)
             {
                 BLT_Material_Empaque_x_Orden_Acondicionamiento blt_Material_Empaque_x_Orden_Acondicionamiento = new BLT_Material_Empaque_x_Orden_Acondicionamiento();
                 _registraMaterialEmpaquexOrdenAcondicionamiento = blt_Material_Empaque_x_Orden_Acondicionamiento.fnInsT_Material_Empaque_x_Orden_Acondicionamiento(bot_Material_Empaque_x_Orden_Acondicionamiento);
                 if (!_registraMaterialEmpaquexOrdenAcondicionamiento)
                 {
                     registraOrdenAcondicionamiento = false;
                     break;
                 }
             }
         }
         bool _registraAdicional = false;
         for (int i = 0; i <= dgv_Adicional.Rows.Count - 2; i++)
         {
             BOT_Adicional oA = (BOT_Adicional)dgv_Adicional.Rows[i].DataBoundItem;
             if (oA.Codigo_Producto != "")
             {
                 oA.Fecha = DateTime.Now;
                 oA.Codigo_Orden_Acondicionado = _codigo_orden_acondicionamiento;
                 BLT_Adicional blt_adicional = new BLT_Adicional();
                 string codAd;
                 _registraAdicional = blt_adicional.fnInsT_Adicional(oA, out codAd);
                 if (_registraAdicional)
                 {
                     oA.Codigo_Adicional = codAd;
                     bot_Orden_Acondicionamiento.Codigo_Adicional = oA.Codigo_Adicional;
                     BLT_Orden_Acondicionamiento blt_ordenAcondicionamiento = new BLT_Orden_Acondicionamiento();
                     string codOa;
                     blt_ordenAcondicionamiento.fnUpdT_Orden_Acondicionamiento(bot_Orden_Acondicionamiento);
                 }
             }
         }
     }
     if (registraOrdenAcondicionamiento)
     {
         MessageBox.Show("Orden de Acondicionamiento registrada satisfactoriamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
         gpb_Despeje_Linea.Enabled = true;
         gpb_Codificacion_Cajas.Enabled = true;
         gpb_Observaciones_2.Enabled = true;
         btn_Limpiar_2.Enabled = true;
         btn_Aceptar_2.Enabled = true;
     }
     else
     {
         MessageBox.Show("Error inesperado al registrar Orden de Acondicionamiento", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
     if (registraOrdenAcondicionamiento)
     {
         valida[0] = true;
         current++;
         tct_Nueva_Orden_Acondicionamiento.TabIndex = current;
     }
 }
        public List<BOT_Material_Empaque_x_Orden_Acondicionamiento> fnSelT_Material_Empaque_x_Orden_AcondicionamientoDin(string psWhere,string psOrder)
        {
            List<BOT_Material_Empaque_x_Orden_Acondicionamiento> loList = new List<BOT_Material_Empaque_x_Orden_Acondicionamiento>();
            SqlParameter[] par = new SqlParameter[2];
            par[0] = new SqlParameter("@WhereCondition",System.Data.SqlDbType.VarChar,500);
            par[0].Value= psWhere;
            par[1] = new SqlParameter("@OrderByExpression",System.Data.SqlDbType.VarChar,250);
            par[1].Value= psOrder;
            object value;//------------------------- 1
            try
            {
                SqlDataReader loDr = SqlHelper.ExecuteReader(ClassCadena.fnConexion(), CommandType.StoredProcedure, "usp_SelT_Material_Empaque_x_Orden_AcondicionamientosDin",par);
                while (loDr.Read())
                {
                    BOT_Material_Empaque_x_Orden_Acondicionamiento loBOT_Material_Empaque_x_Orden_Acondicionamiento=new BOT_Material_Empaque_x_Orden_Acondicionamiento();
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Material_Empaque_x_Orden_Acondiconamiento"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Orden_Acondiconamiento = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Orden_Acondicionamiento"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Orden_Acondicionamiento = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Material_Empaque_x_Producto"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Producto = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Cantidad_Entregada"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Cantidad_Entregada = value != System.DBNull.Value ? (Decimal)value : default(Decimal);
                    value = loDr.GetValue(loDr.GetOrdinal("Numero_Analisis"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Numero_Analisis = value != System.DBNull.Value ? (String)value : default(String);
                    loList.Add(loBOT_Material_Empaque_x_Orden_Acondicionamiento);
                }
                loDr.Close();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {

            }
            return loList;
        }
        public List<BOT_Material_Empaque_x_Orden_Acondicionamiento> fnSelT_Material_Empaque_x_Orden_AcondicionamientoAll()
        {
            List<BOT_Material_Empaque_x_Orden_Acondicionamiento> loList = new List<BOT_Material_Empaque_x_Orden_Acondicionamiento>();
            object value;
            try
            {
                SqlDataReader loDr = SqlHelper.ExecuteReader(ClassCadena.fnConexion(), CommandType.StoredProcedure, "usp_SelT_Material_Empaque_x_Orden_AcondicionamientosAll");
                while (loDr.Read())
                {
                    BOT_Material_Empaque_x_Orden_Acondicionamiento loBOT_Material_Empaque_x_Orden_Acondicionamiento=new BOT_Material_Empaque_x_Orden_Acondicionamiento();
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Material_Empaque_x_Orden_Acondiconamiento"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Orden_Acondiconamiento = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Orden_Acondicionamiento"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Orden_Acondicionamiento = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Material_Empaque_x_Producto"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Producto = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Cantidad_Entregada"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Cantidad_Entregada = value != System.DBNull.Value ? (Decimal)value : default(Decimal);
                    value = loDr.GetValue(loDr.GetOrdinal("Numero_Analisis"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Numero_Analisis = value != System.DBNull.Value ? (String)value : default(String);
                    loList.Add(loBOT_Material_Empaque_x_Orden_Acondicionamiento);
                }
                loDr.Close();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {

            }
            return loList;
        }
        public BOT_Material_Empaque_x_Orden_Acondicionamiento fnSelT_Material_Empaque_x_Orden_Acondicionamiento(String psCodigo_Material_Empaque_x_Orden_Acondiconamiento)
        {
            BOT_Material_Empaque_x_Orden_Acondicionamiento loBOT_Material_Empaque_x_Orden_Acondicionamiento = new BOT_Material_Empaque_x_Orden_Acondicionamiento();
            //parametros

            SqlParameter[] par = new SqlParameter[1];
            par[0] = new SqlParameter("@Codigo_Material_Empaque_x_Orden_Acondiconamiento",System.Data.SqlDbType.VarChar,10);
            par[0].Value= psCodigo_Material_Empaque_x_Orden_Acondiconamiento;
            object value;
            try
            {
                SqlDataReader loDr = SqlHelper.ExecuteReader(ClassCadena.fnConexion(), CommandType.StoredProcedure, "usp_SelT_Material_Empaque_x_Orden_Acondicionamiento", par);
                while(loDr.Read()){//----------------------------------------------------- AQUI
                    if (loDr != null)
                    {
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Material_Empaque_x_Orden_Acondiconamiento"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Orden_Acondiconamiento = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Orden_Acondicionamiento"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Orden_Acondicionamiento = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Codigo_Material_Empaque_x_Producto"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Codigo_Material_Empaque_x_Producto = value != System.DBNull.Value ? (String)value : default(String);
                    value = loDr.GetValue(loDr.GetOrdinal("Cantidad_Entregada"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Cantidad_Entregada = value != System.DBNull.Value ? (Decimal)value : default(Decimal);
                    value = loDr.GetValue(loDr.GetOrdinal("Numero_Analisis"));
                    loBOT_Material_Empaque_x_Orden_Acondicionamiento.Numero_Analisis = value != System.DBNull.Value ? (String)value : default(String);

                    }
                }
                loDr.Close();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {

            }
            return loBOT_Material_Empaque_x_Orden_Acondicionamiento;
        }
 public Boolean fnUpdT_Material_Empaque_x_Orden_Acondicionamiento(BOT_Material_Empaque_x_Orden_Acondicionamiento poBOT_Material_Empaque_x_Orden_Acondicionamiento)
 {
     BDAT_Material_Empaque_x_Orden_Acondicionamiento loBDAT_Material_Empaque_x_Orden_Acondicionamiento=new BDAT_Material_Empaque_x_Orden_Acondicionamiento();
     return loBDAT_Material_Empaque_x_Orden_Acondicionamiento.fnUpdT_Material_Empaque_x_Orden_Acondicionamiento(poBOT_Material_Empaque_x_Orden_Acondicionamiento);
 }