public bool Update(string empresaid, tb_co_canjeletraretencion BE)
 {
     return tablaDA.Update(empresaid, BE);
 }
        public void InsertRetencionesLetras()
        {
            //if (rbnLetras.Checked == true)
            //{
                decimal vmtcambio = VariablesPublicas.StringtoDecimal(txtTipocambio.Text);

                // Variables de Cabecera
                tb_co_canjeletraretencionBL BL = new tb_co_canjeletraretencionBL();
                tb_co_canjeletraretencion BE = new tb_co_canjeletraretencion();

                // Variables para Detalle
                tb_co_canjeletraretencion.Item Detalle = new tb_co_canjeletraretencion.Item();
                List<tb_co_canjeletraretencion.Item> ListaItems = new List<tb_co_canjeletraretencion.Item>();

                #region **ingreso movimiento cabecera***
                //caso Retenciones
                string activo = "0"; //Activo
                string anulad = "9"; //Anulado
                string xMoneda = Equivalencias.Left(cboMoneda.SelectedValue.ToString(), 1);

                BE.perianio = VariablesPublicas.perianio;
                BE.perimes = VariablesPublicas.PADL(txtMes.Text.Trim(), 2, "0");
                BE.moduloid = VariablesDominio.VarTesoreria.Moduloid;
                BE.local = VariablesDominio.VarTesoreria.Local;
                BE.diarioid = cboSubdiario.SelectedValue.ToString();
                BE.asiento = VariablesPublicas.PADL(txtAsiento.Text.Trim(), 6, "0");
                //if (rbnPagos.Checked == true)
                //{
                //    BE.tiporegistro = "1";
                //}
                //else if (rbnEmision.Checked == true)
                //{
                //    BE.tiporegistro = "2";
                //}
                //else if (rbnLetras.Checked == true)
                //{
                //    BE.tiporegistro = "3";
                //}
                BE.ctacte = xctacte;
                BE.nmruc = txtRuc.Text.Trim();
                BE.ctactename = txtCtactename.Text.Trim();
                //BE.direc = txtDireccion.Text.Trim();
                BE.ubige = xubige;
                //BE.tipdoc = cboTipdoc.SelectedValue.ToString();
                //BE.serdoc = txtSerie.Text.Trim();
                //BE.numdoc = txtNumero.Text.Trim();
                BE.fechdoc = Convert.ToDateTime(fRegistro.Text.Trim());
                BE.fechvcto = Convert.ToDateTime(fecVenc.Text.Trim());
                BE.moneda = cboMoneda.SelectedValue.ToString();
                BE.tipcamb = Convert.ToDecimal(txtTipocambio.Text.Trim());
                BE.tipcambuso = "V";
                BE.glosa = txtGlosa.Text.Trim();
                //BE.diarioidpago = cboSubdiarioP.SelectedValue.ToString();
                //BE.monedap = cboMonedaP.SelectedValue.ToString();
                //BE.numdocpago = txtNumOpe.Text;
                //Puede ser null
                //if (cboFlujoefectivo.Text.Length > 0)
                //{ BE.flujoefectivo = cboFlujoefectivo.SelectedValue.ToString(); }
                //else
                //{ BE.flujoefectivo = ""; }
                //Puede ser null
                if (cboMedioPago.Text.Length > 0)
                { BE.mediopago = cboMedioPago.SelectedValue.ToString(); }
                else
                { BE.mediopago = ""; }
                BE.importesoles = Convert.ToDecimal(txtLetrasoles.Text);
                BE.importedolares = Convert.ToDecimal(txtLetraDolares.Text);
                BE.importeotros = 0;
                BE.ctacteaval = xctacteaval;
                BE.nmrucaval = txtRucAval.Text.Trim();
                BE.referencia = txtReferencia.Text.Trim();
                BE.lugargiro = txtLugargiro.Text.Trim();
                if (chkActivo.Checked == true)
                {
                    BE.status = activo;
                }
                if (chkActivo.Checked == false)
                {
                    BE.status = anulad;
                }

                BE.usuar = VariablesPublicas.Usuar.Trim();
                #endregion

                #region ****ingreso movimiento detalle***

                int item = 0;
                foreach (DataRow fila in DetLetras.Rows)
                {
                    Detalle = new tb_co_canjeletraretencion.Item();

                    item++;

                    Detalle.perianio = VariablesPublicas.perianio;
                    Detalle.perimes = BE.perimes;
                    Detalle.moduloid = BE.moduloid;
                    Detalle.local = BE.local;
                    Detalle.diarioid = BE.diarioid;
                    Detalle.asiento = txtAsiento.Text.PadLeft(6, '0'); // BE.asiento;
                    Detalle.asientoitems = item.ToString().PadLeft(5, '0');
                    Detalle.cuentaid = fila["cuentaid"].ToString();
                    Detalle.ctacte = xctacte; //fila["ctacte"].ToString();
                    Detalle.nmruc = fila["nmruc"].ToString();
                    Detalle.tipdoc = fila["tipdoc"].ToString();
                    Detalle.serdoc = fila["serdoc"].ToString();
                    Detalle.numdoc = fila["numdoc"].ToString();
                    if (object.ReferenceEquals(fila["fechdoc"], DBNull.Value))
                    {
                        Detalle.fechdoc = Convert.ToDateTime(fRegistro.Text.Trim());
                    }
                    else
                    {
                        Detalle.fechdoc = Convert.ToDateTime(fila["fechdoc"].ToString());
                    }

                    if (object.ReferenceEquals(fila["fechvcto"], DBNull.Value))
                    {
                        Detalle.fechvcto = Convert.ToDateTime(fRegistro.Text.Trim());
                    }
                    else
                    {
                        Detalle.fechvcto = Convert.ToDateTime(fila["fechvcto"].ToString());
                    }
                    if (object.ReferenceEquals(fila["fechpago"], DBNull.Value))
                    {
                        Detalle.fechpago = Convert.ToDateTime(fRegistro.Text.Trim());
                    }
                    else
                    {
                        Detalle.fechpago = Convert.ToDateTime(fila["fechpago"].ToString());
                    }
                    Detalle.moneda = fila["moneda"].ToString();

                    Detalle.importe1 = Convert.ToDecimal(fila["importe1"].ToString());
                    Detalle.total1 = Convert.ToDecimal(fila["total1"].ToString());
                    Detalle.importe2 = Convert.ToDecimal(fila["importe2"].ToString());
                    Detalle.total2 = Convert.ToDecimal(fila["total2"].ToString());
                    Detalle.ctacte1 = fila["ctacte1"].ToString();
                    Detalle.nmruc1 = fila["nmruc1"].ToString();
                    Detalle.ctactename1 = fila["ctactename1"].ToString();
                    Detalle.direc1 = fila["direc1"].ToString();
                    Detalle.ctacte2 = fila["ctacte2"].ToString();
                    Detalle.nmruc2 = fila["nmruc2"].ToString();
                    Detalle.ctactename2 = fila["ctactename2"].ToString();
                    Detalle.direc2 = fila["direc2"].ToString();
                    Detalle.importeenletras = fila["importeenletras"].ToString();
                    Detalle.telefaval = txtTelefAval.Text.Trim();
                    Detalle.cantletras = Convert.ToDecimal(txtCantlet.Text.ToString());
                    Detalle.cantdias = Convert.ToDecimal(txtDias.Text.ToString());
                    if (chkActivo.Checked == true)
                    {
                        Detalle.status = activo;
                    }
                    if (chkActivo.Checked == false)
                    {
                        Detalle.status = anulad;
                    }
                    Detalle.usuar = VariablesPublicas.Usuar.Trim();

                    ListaItems.Add(Detalle);
                }
                BE.ListaItems = ListaItems;
                #endregion

                #region ** Save BD
                try
                {
                    if (u_n_opsel == 1)  //Si es nuevo
                    {
                        if (BL.Insert(VariablesPublicas.EmpresaID.ToString(), BE))
                        {
                            // Impresion
                            //ReportesContabilidad.Frm_ReporteVouchers frm = new ReportesContabilidad.Frm_ReporteVouchers();
                            //frm._tipComprobante = cboSubdiarioR.SelectedValue.ToString();
                            //frm._xModulo = BE.moduloid;
                            //frm._xLocal = BE.local;
                            //frm._nroComprobante = BE.perimes + txtAsiento.Text; //nAsiento;//xcodmes + nlastreg;
                            //frm._tipoOperacion = BE.tipooperacion; //cac3g00.Rows[0]["tasien_3"].ToString();
                            //frm.Owner = this;
                            //frm.ShowInTaskbar = false;
                            //frm.ShowDialog();
                        }
                    }
                    else if (u_n_opsel == 2)  //Si NO es nuevo
                    {
                        if (BL.Update(VariablesPublicas.EmpresaID.ToString(), BE))
                        {
                            //seguridadlog();
                            //if (!nopideimpresion)
                            //{
                            //    string message = "Desea Imprimir Documento Nro: " + txtMes.Text + "-" + txtAsiento.Text + " ...?";
                            //    string caption = "Impresión";
                            //    MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                            //    DialogResult result;

                            //    // Muestra el cuadro de mensaje.
                            //    result = MessageBox.Show(this, message, caption, buttons, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                            //    if (result == DialogResult.Yes)
                            //    {
                            //        Accion(6, "", xnum);
                            //    }
                            //}
                            //tmptablacab = null;
                            //tmptabladet = null;
                            //U_CancelarEdicion(0);
                        }
                    }
                }
                catch (Exception ex)
                {
                    DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                #endregion
            //}
        }
 public bool Insert(string empresaid, tb_co_canjeletraretencion BE)
 {
     return tablaDA.Insert(empresaid, BE);
 }
        public bool Update(string empresaid, tb_co_canjeletraretencion BE)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                using (SqlCommand cmd = new SqlCommand("gspTbCoCanjeletras_UPDATE", cnx))
                {
                    {
                        cmd.CommandTimeout = 0;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@perianio", SqlDbType.Char, 4).Value = BE.perianio;
                        cmd.Parameters.Add("@perimes", SqlDbType.Char, 2).Value = BE.perimes;
                        cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                        cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                        cmd.Parameters.Add("@diarioid", SqlDbType.Char, 4).Value = BE.diarioid;
                        cmd.Parameters.Add("@asiento", SqlDbType.Char, 6).Value = BE.asiento;
                        cmd.Parameters.AddWithValue("@tiporegistro", string.IsNullOrEmpty(BE.tiporegistro) ? (object)DBNull.Value : BE.tiporegistro);
                        cmd.Parameters.AddWithValue("@ctacte", string.IsNullOrEmpty(BE.ctacte) ? (object)DBNull.Value : BE.ctacte);
                        cmd.Parameters.AddWithValue("@nmruc", string.IsNullOrEmpty(BE.nmruc) ? (object)DBNull.Value : BE.nmruc);
                        cmd.Parameters.AddWithValue("@ctactename", string.IsNullOrEmpty(BE.ctactename) ? (object)DBNull.Value : BE.ctactename);
                        cmd.Parameters.AddWithValue("@direc", string.IsNullOrEmpty(BE.direc) ? (object)DBNull.Value : BE.direc);
                        cmd.Parameters.AddWithValue("@ubige", string.IsNullOrEmpty(BE.ubige) ? (object)DBNull.Value : BE.ubige);
                        cmd.Parameters.AddWithValue("@tipdoc", string.IsNullOrEmpty(BE.tipdoc) ? (object)DBNull.Value : BE.tipdoc);
                        cmd.Parameters.AddWithValue("@serdoc", string.IsNullOrEmpty(BE.serdoc) ? (object)DBNull.Value : BE.serdoc);
                        cmd.Parameters.AddWithValue("@numdoc", string.IsNullOrEmpty(BE.numdoc) ? (object)DBNull.Value : BE.numdoc);
                        cmd.Parameters.AddWithValue("@fechdoc", SqlDbType.DateTime).Value = BE.fechdoc;
                        cmd.Parameters.AddWithValue("@fechvcto", SqlDbType.DateTime).Value = BE.fechvcto;
                        cmd.Parameters.AddWithValue("@moneda", string.IsNullOrEmpty(BE.moneda) ? (object)DBNull.Value : BE.moneda);
                        cmd.Parameters.AddWithValue("@tipcamb", SqlDbType.Decimal).Value = BE.tipcamb;
                        cmd.Parameters.AddWithValue("@tipcambuso", string.IsNullOrEmpty(BE.tipcambuso) ? (object)DBNull.Value : BE.tipcambuso);
                        cmd.Parameters.AddWithValue("@glosa", string.IsNullOrEmpty(BE.glosa) ? (object)DBNull.Value : BE.glosa);
                        cmd.Parameters.AddWithValue("@diarioidpago", string.IsNullOrEmpty(BE.diarioidpago) ? (object)DBNull.Value : BE.diarioidpago);
                        cmd.Parameters.AddWithValue("@monedap", string.IsNullOrEmpty(BE.monedap) ? (object)DBNull.Value : BE.monedap);
                        cmd.Parameters.AddWithValue("@numdocpago", string.IsNullOrEmpty(BE.numdocpago) ? (object)DBNull.Value : BE.numdocpago);
                        cmd.Parameters.AddWithValue("@flujoefectivo", string.IsNullOrEmpty(BE.flujoefectivo) ? (object)DBNull.Value : BE.flujoefectivo);
                        cmd.Parameters.AddWithValue("@mediopago", string.IsNullOrEmpty(BE.mediopago) ? (object)DBNull.Value : BE.mediopago);
                        cmd.Parameters.AddWithValue("@importesoles", SqlDbType.Decimal).Value = BE.importesoles;
                        cmd.Parameters.AddWithValue("@importedolares", SqlDbType.Decimal).Value = BE.importedolares;
                        cmd.Parameters.AddWithValue("@importeotros", SqlDbType.Decimal).Value = BE.importeotros;
                        cmd.Parameters.AddWithValue("@ctacteaval", string.IsNullOrEmpty(BE.ctacteaval) ? (object)DBNull.Value : BE.ctacteaval);
                        cmd.Parameters.AddWithValue("@nmrucaval", string.IsNullOrEmpty(BE.nmrucaval) ? (object)DBNull.Value : BE.nmrucaval);
                        cmd.Parameters.AddWithValue("@referencia", string.IsNullOrEmpty(BE.referencia) ? (object)DBNull.Value : BE.referencia);
                        cmd.Parameters.AddWithValue("@lugargiro", string.IsNullOrEmpty(BE.lugargiro) ? (object)DBNull.Value : BE.lugargiro);
                        cmd.Parameters.Add("@status", SqlDbType.Char, 1).Value = BE.status;
                        cmd.Parameters.AddWithValue("@usuar", string.IsNullOrEmpty(BE.usuar) ? (object)DBNull.Value : BE.usuar);

                        cmd.Parameters.Add("@XML", SqlDbType.Xml).Value = BE.GetItemXML();
                    }
                    try
                    {
                        cnx.Open();
                        if (cmd.ExecuteNonQuery() > 0)
                        {
                            return true;
                        }
                        else
                        {
                            return false;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }