public bool Delete(string empresaid, tb_cm_ordendecompracab BE)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                using (SqlCommand cmd = new SqlCommand("gspTb60Movimientoscab_DELETE", cnx))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                    cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                    cmd.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                    cmd.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                    cmd.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;

                    try
                    {
                        cnx.Open();
                        if (cmd.ExecuteNonQuery() > 0)
                        {
                            return true;
                        }
                        else
                        {
                            return false;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }
        private void ValidaDocref()
        {
            if (tipref.SelectedIndex != -1 && serref.Text.Trim().Length == 4 && numdococ.Text.Trim().Length == 6)
            {
                var BL = new tb_cm_ordendecompracabBL();
                var BE = new tb_cm_ordendecompracab();

                var dt = new DataTable();
                BE.moduloid = "0100";
                BE.local = "001";
                BE.tipodoc = tipref.SelectedValue.ToString();
                BE.serdoc = serref.Text.Trim();
                BE.numdoc = numdococ1.Text.ToString() + numdococ.Text.Trim();
                dt = BL.GetOne(EmpresaID, BE).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    serref.Text = dt.Rows[0]["serdoc"].ToString().Trim();
                    var numdoc = dt.Rows[0]["numdoc"].ToString().Trim();
                    numdococ1.Text = Equivalencias.Left(numdoc, 4);
                    numdococ.Text = Equivalencias.Right(numdoc, 6);

                    fechref.Format = DateTimePickerFormat.Short;
                    fechref.Value = Convert.ToDateTime(dt.Rows[0]["fechdoc"]);
                    ctacte.Text = dt.Rows[0]["ctacte"].ToString().Trim();
                    nmruc.Text = dt.Rows[0]["nmruc"].ToString().Trim();
                    ctactename.Text = dt.Rows[0]["ctactename"].ToString().Trim();
                    direc.Text = dt.Rows[0]["direc"].ToString().Trim();
                    moneda.SelectedValue = dt.Rows[0]["moneda"].ToString().Trim();

                    dt.Rows[0]["sigla"].ToString().Trim();
                    txtmoneda.Text = dt.Rows[0]["sigla"].ToString().Trim();
                }
            }
        }
        //*** OPT
        public DataSet GetAll(string empresaid, tb_cm_ordendecompracab BE)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                using (SqlCommand cmd = new SqlCommand("gspTb60Movimientoscab_SEARCH", cnx))
                {
                    DataSet ds = new DataSet();

                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                    cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                    cmd.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                    cmd.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                    cmd.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;
                    cmd.Parameters.Add("@moduloiddes", SqlDbType.Char, 4).Value = BE.moduloiddes;
                    cmd.Parameters.Add("@localdes", SqlDbType.Char, 3).Value = BE.localdes;
                    cmd.Parameters.Add("@status", SqlDbType.Char, 1).Value = BE.status;
                    cmd.Parameters.Add("@fechdoc", SqlDbType.DateTime).Value = fecha(BE.fechdoc);
                    cmd.Parameters.Add("@almacaccionid", SqlDbType.Char, 2).Value = BE.almacaccionid;
                    cmd.Parameters.Add("@ctacteaccionid", SqlDbType.Char, 2).Value = BE.ctacteaccionid;
                    cmd.Parameters.Add("@ctacte", SqlDbType.Char, 7).Value = BE.ctacte;
                    cmd.Parameters.Add("@ctactename", SqlDbType.VarChar, 70).Value = BE.ctactename;
                    cmd.Parameters.Add("@direc", SqlDbType.VarChar, 70).Value = BE.direc;
                    cmd.Parameters.Add("@tipdid", SqlDbType.Char, 1).Value = BE.tipdid;
                    cmd.Parameters.Add("@nmruc", SqlDbType.Char, 11).Value = BE.nmruc;
                    cmd.Parameters.Add("@tipref", SqlDbType.Char, 2).Value = BE.tipref;
                    cmd.Parameters.Add("@serref", SqlDbType.Char, 4).Value = BE.serref;
                    cmd.Parameters.Add("@numref", SqlDbType.Char, 10).Value = BE.numref;
                    cmd.Parameters.Add("@fechref", SqlDbType.DateTime).Value = fecha(BE.fechref);
                    cmd.Parameters.Add("@tipped", SqlDbType.Char, 2).Value = BE.tipped;
                    cmd.Parameters.Add("@serped", SqlDbType.Char, 4).Value = BE.serped;
                    cmd.Parameters.Add("@numped", SqlDbType.Char, 10).Value = BE.numped;
                    cmd.Parameters.Add("@compradorid", SqlDbType.Char, 4).Value = BE.compradorid;
                    cmd.Parameters.Add("@condpagoid", SqlDbType.Char, 3).Value = BE.condpagoid;
                    cmd.Parameters.Add("@ubige", SqlDbType.Char, 6).Value = BE.ubige;
                    cmd.Parameters.Add("@bruto", SqlDbType.Decimal).Value = BE.bruto;
                    cmd.Parameters.Add("@pdscto", SqlDbType.Decimal).Value = BE.pdscto;
                    cmd.Parameters.Add("@idscto", SqlDbType.Decimal).Value = BE.idscto;
                    cmd.Parameters.Add("@afectoigv", SqlDbType.Bit).Value = BE.afectoigv;
                    cmd.Parameters.Add("@pigv", SqlDbType.Decimal).Value = BE.pigv;
                    cmd.Parameters.Add("@incprec", SqlDbType.Char, 1).Value = BE.incprec;
                    cmd.Parameters.Add("@moneda", SqlDbType.Char).Value = BE.moneda;
                    cmd.Parameters.Add("@tcamb", SqlDbType.Decimal).Value = BE.tcamb;
                    cmd.Parameters.Add("@valventa", SqlDbType.Decimal).Value = BE.valventa;
                    cmd.Parameters.Add("@totimpto", SqlDbType.Decimal).Value = BE.totimpto;
                    cmd.Parameters.Add("@totimporte", SqlDbType.Decimal).Value = BE.totimporte;
                    cmd.Parameters.Add("@valor_ocompra", SqlDbType.Decimal).Value = BE.valor_ocompra;
                    cmd.Parameters.Add("@valor_guiado", SqlDbType.Decimal).Value = BE.valor_guiado;
                    cmd.Parameters.Add("@valor_facturado", SqlDbType.Decimal).Value = BE.valor_facturado;
                    cmd.Parameters.Add("@glosa", SqlDbType.VarChar, 100).Value = BE.glosa;
                    cmd.Parameters.Add("@totpzas", SqlDbType.Decimal).Value = BE.totpzas;
                    cmd.Parameters.Add("@fechentrega", SqlDbType.DateTime).Value = fecha(BE.fechentrega);
                    cmd.Parameters.Add("@fechpago", SqlDbType.DateTime).Value = fecha(BE.fechpago);
                    cmd.Parameters.Add("@fechcancel", SqlDbType.DateTime).Value = fecha(BE.fechcancel);
                    cmd.Parameters.Add("@items", SqlDbType.Decimal).Value = BE.items;
                    cmd.Parameters.Add("@afecdetraccion", SqlDbType.Bit).Value = BE.afecdetraccion;
                    cmd.Parameters.Add("@detraccionid", SqlDbType.Char, 5).Value = BE.detraccionid;
                    cmd.Parameters.Add("@pdetraccion", SqlDbType.Decimal).Value = BE.pdetraccion;
                    cmd.Parameters.Add("@atencion", SqlDbType.VarChar, 100).Value = BE.atencion;
                    cmd.Parameters.Add("@puntollegada", SqlDbType.VarChar, 100).Value = BE.puntollegada;
                    cmd.Parameters.Add("@visado", SqlDbType.Bit).Value = BE.visado;
                    cmd.Parameters.Add("@usuarvisado", SqlDbType.Char, 15).Value = BE.usuarvisado;
                    cmd.Parameters.Add("@observacionvisado", SqlDbType.VarChar, 50).Value = BE.observacionvisado;
                    cmd.Parameters.Add("@fechvisado", SqlDbType.DateTime).Value = fecha(BE.fechvisado);
                    cmd.Parameters.Add("@perianio", SqlDbType.Char, 4).Value = BE.perianio;
                    cmd.Parameters.Add("@perimes", SqlDbType.Char, 2).Value = BE.perimes;
                    cmd.Parameters.Add("@usuar", SqlDbType.Char, 15).Value = BE.usuar;

                    try
                    {
                        cnx.Open();
                        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                        {
                            da.Fill(ds);
                        }
                        return ds;
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }
        public DataSet GetOne_numdocs(string empresaid, tb_cm_ordendecompracab BE)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                using (SqlCommand cmd = new SqlCommand("gspTbCmOrdendecompracab_SELECT_numdocs", cnx))
                {
                    DataSet ds = new DataSet();

                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                    cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                    cmd.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                    cmd.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                    cmd.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;

                    try
                    {
                        cnx.Open();
                        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                        {
                            da.Fill(ds);
                        }
                        return ds;
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }
 public bool Update(string empresaid, tb_cm_ordendecompracab BE)
 {
     return tablaDA.Update(empresaid, BE);
 }
        public DataSet GetAll_CabDet(string empresaid, tb_cm_ordendecompracab BE)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                using (SqlCommand cmd = new SqlCommand("gspTbCmOrdencompra_SEARCH_CabDet", cnx))
                {
                    DataSet ds = new DataSet();

                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                    cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                    cmd.Parameters.Add("@moduloiddes", SqlDbType.Char, 4).Value = BE.moduloiddes;
                    cmd.Parameters.Add("@localdes", SqlDbType.Char, 3).Value = BE.localdes;
                    cmd.Parameters.Add("@tipodoc", SqlDbType.Char, 2).Value = BE.tipodoc;
                    cmd.Parameters.Add("@serdoc", SqlDbType.Char, 4).Value = BE.serdoc;
                    cmd.Parameters.Add("@numdoc", SqlDbType.Char, 10).Value = BE.numdoc;
                    cmd.Parameters.Add("@status", SqlDbType.Char, 1).Value = BE.status;
                    cmd.Parameters.Add("@ctactename", SqlDbType.VarChar, 60).Value = BE.ctactename;
                    cmd.Parameters.Add("@perianio", SqlDbType.Char, 4).Value = BE.perianio;
                    cmd.Parameters.Add("@perimes", SqlDbType.Char, 2).Value = BE.perimes;

                    try
                    {
                        cnx.Open();
                        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                        {
                            da.Fill(ds);
                        }
                        return ds;
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }
 public bool Insert(string empresaid, tb_cm_ordendecompracab BE)
 {
     return tablaDA.Insert(empresaid, BE);
 }
 public DataSet GetOne_numdocs(string empresaid, tb_cm_ordendecompracab BE)
 {
     return tablaDA.GetOne_numdocs(empresaid, BE);
 }
 public DataSet GetAll_paginacion(string empresaid, tb_cm_ordendecompracab BE)
 {
     return tablaDA.GetAll_paginacion(empresaid, BE);
 }
 public DataSet GetAll_CabDet(string empresaid, tb_cm_ordendecompracab BE)
 {
     return tablaDA.GetAll_CabDet(empresaid, BE);
 }
        private void ValidaDocref()
        {
            if (tipref.SelectedIndex != -1 && serref.Text.Trim().Length == 4 && numdococ.Text.Trim().Length == 6)
            {
                tb_cm_ordendecompracabBL BL = new tb_cm_ordendecompracabBL();
                tb_cm_ordendecompracab BE = new tb_cm_ordendecompracab();

                DataTable dt = new DataTable();
                BE.moduloid = "0100";
                BE.local = "001";
                BE.tipodoc = tipref.SelectedValue.ToString();
                BE.serdoc = serref.Text.Trim();
                BE.numdoc = numdococ1.Text.ToString() + numdococ.Text.Trim();
                //BE.numdoc =  numdococ.Text.Trim();
                dt = BL.GetOne(EmpresaID, BE).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    if (local == dt.Rows[0]["localdes"].ToString().Trim())
                    {
                        serref.Text = dt.Rows[0]["serdoc"].ToString().Trim();
                        String numdoc = dt.Rows[0]["numdoc"].ToString().Trim();

                        numdococ1.Text = Equivalencias.Left(numdoc, 4);
                        numdococ.Text = Equivalencias.Right(numdoc, 6);

                        fechref.Format = DateTimePickerFormat.Short;
                        fechref.Value = Convert.ToDateTime(dt.Rows[0]["fechdoc"]);
                        ctacte.Text = dt.Rows[0]["ctacte"].ToString().Trim();
                        nmruc.Text = dt.Rows[0]["nmruc"].ToString().Trim();
                        ctactename.Text = dt.Rows[0]["ctactename"].ToString().Trim();
                        direc.Text = dt.Rows[0]["direc"].ToString().Trim();
                        moneda.SelectedValue = dt.Rows[0]["moneda"].ToString().Trim();

                        String s = dt.Rows[0]["sigla"].ToString().Trim();
                        txtmoneda.Text = dt.Rows[0]["sigla"].ToString().Trim();
                    }
                    else
                    {
                        MessageBox.Show("La Orden de Compra : "
                                            + dt.Rows[0]["numdoc"].ToString().Trim() + "\n"
                                             + "  Esta Destinada a Otro Local !!!");
                        return;
                    }
                }
            }
        }