Beispiel #1
0
        public static AplicacionesDePagos getAplicacionesDePagos(ComprobanteDePago parent)
        {
            AplicacionesDePagos adp = new AplicacionesDePagos();

            adp.Parent = parent;
            return(adp);
        }
Beispiel #2
0
        //Cada vez que se elige una cuenta de un cliente se traen comprobantes que se pueden llegar a imputar
        //con el recibo que esta por generar. Cabe aclarar que la grilla se filtra para que solo se muestren
        // aquellos comprobantes que tienen signo -1 en la tabla tsa_TiposDeComprobantes
        private void mzCmbCuenta_ValueChanged(object sender, System.EventArgs e)
        {
            if ((string )mzCmbCuenta.DataValue != "")
            {
                string IdCuenta = mz.erp.businessrules.tsa_Cuentas.GetPkByUk((string)mzCmbCuenta.DataValue);
                if (_comprobante == null || IdCuenta != _comprobante.IdCuenta)
                {
                    _comprobante.CuentaCorriente = Factory.GetCuentaCorriente(IdCuenta, DateTime.MinValue, DateTime.MaxValue);

                    _comprobante.CuentaCorriente.GetDetalleComprobantesAImputar();
                    uneTotalImputado.DataBindings.Clear();
                    uneTotalImputado.DataBindings.Add("Text", _comprobante.CuentaCorriente, "TotalImputado");

                    gridCompAImputar.SetDataBinding(_comprobante.CuentaCorriente.Detalle, null);
                    gridCompAImputar.RootTable.Columns["Comprobante"].EditType      = Janus.Windows.GridEX.EditType.NoEdit;
                    gridCompAImputar.RootTable.Columns["FechaVencimiento"].EditType = Janus.Windows.GridEX.EditType.NoEdit;
                    gridCompAImputar.RootTable.Columns["Numero"].EditType           = Janus.Windows.GridEX.EditType.NoEdit;
                    gridCompAImputar.RootTable.Columns["SaldoSinSigno"].EditType    = Janus.Windows.GridEX.EditType.NoEdit;
                    Janus.Windows.GridEX.GridEXFilterCondition filter1 = new Janus.Windows.GridEX.GridEXFilterCondition();
                    filter1.Column            = gridCompAImputar.RootTable.Columns["Signo"];
                    filter1.ConditionOperator = Janus.Windows.GridEX.ConditionOperator.Equal;
                    filter1.Value1            = -1;

                    gridCompAImputar.RootTable.ApplyFilter(filter1);
                }
            }
            else
            {
                _comprobante = Factory.GetComprobanteDePago();
                gridCompAImputar.SetDataBinding(null, null);
            }
        }
Beispiel #3
0
        private void btnGuardarComprobante_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtNombreCliente.Text))
            {
                txtNombreCliente.Text = " ";
            }
            if (String.IsNullOrEmpty(txtxDniCliente.Text))
            {
                txtxDniCliente.Text = "1";
            }
            if (String.IsNullOrEmpty(txtDireccionCliente.Text))
            {
                txtDireccionCliente.Text = " ";
            }
            if (txtCorreo.Text.Equals("@") || String.IsNullOrEmpty(txtCorreo.Text))
            {
                txtCorreo.Text = " ";
            }
            if (lineasDeVenta.Count == 0)
            {
                MessageBox.Show("No hay productos seleccionados", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                DialogResult dialogResult = MessageBox.Show("¿Desea registrar la Venta?", "Guardar Comprobante", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (dialogResult == DialogResult.Yes)
                {
                    comprobanteDePago.Nombre    = txtNombreCliente.Text;
                    comprobanteDePago.Direccion = txtDireccionCliente.Text;
                    comprobanteDePago.Dni       = long.Parse(txtxDniCliente.Text);
                    comprobanteDePago.Fecha     = dtpFecha.Value;

                    administracionDatos.guardarComprobanteDePago(comprobanteDePago);

                    ComprobanteDePago comprobanteDePagoGuardado = administracionDatos.obtenerComprobanteDePagoGuardado();

                    foreach (LineaDeVenta lineaDeVenta in comprobanteDePago.LineasDeVenta)
                    {
                        lineaDeVenta.ComprobanteDePago = comprobanteDePagoGuardado;
                        administracionDatos.guardarLineaDeVenta(lineaDeVenta);
                        lineaDeVenta.Producto.Stock = lineaDeVenta.Producto.Stock - lineaDeVenta.Cantidad;
                        Console.WriteLine("El nuevo stock es : " + lineaDeVenta.Producto.Stock);
                        administracionDatos.disminuirStock(lineaDeVenta.Producto);
                    }
                    MessageBox.Show("El Comprobante ha sido guardado correctamente", "Guardar Comprobante", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    comprobanteDePago = new ComprobanteDePago();
                    lineasDeVenta     = new List <LineaDeVenta>();
                    listarLineasDeVenta();
                    txtDireccionCliente.Text = "";
                    txtNombreCliente.Text    = "";
                    txtxDniCliente.Text      = "";
                    txtCorreo.Text           = "@";
                    lblIgv.Text         = "0.0";
                    lblPrecioNeto.Text  = "0.0";
                    lblPrecioTotal.Text = "0.0";
                    lblVuelto.Text      = "0.0";
                }
            }
        }
Beispiel #4
0
        public static ComprobantesDetalleDePagos GetComprobantesDetalleDePagos(ComprobanteDePago parent)
        {
            ComprobantesDetalleDePagos cddp = new ComprobantesDetalleDePagos();

            cddp.Parent = parent;
            return(cddp);
        }
Beispiel #5
0
        public static Valores GetValores(ComprobanteDePago cdp, System.Data.DataSet parentDataset)
        {
            Valores valores = GetValores(parentDataset);

            cdp.Valores = valores;
            ArrayList _cotizaciones = new ArrayList();

            _cotizaciones = new ArrayList();
            mz.erp.businessrules.tfi_CotizacionesMonedas.GetCotizaciones(_cotizaciones, cdp.IdMonedaCierre);

            //Recupero los valores asociados al comporbante de Pago cdp
            System.Data.DataSet dataPagos = mz.erp.businessrules.tsa_ComprobanteDetalleDePagos.GetList(null, null, cdp.IdComprobante, null, decimal.MinValue);
            foreach (System.Data.DataRow row in dataPagos.Tables[0].Rows)
            {
                string IdValor = (string)row["IdValor"];
                System.Data.DataRow rowValor = mz.erp.businessrules.tfi_Valores.GetByPk(IdValor);
                Valor   valor           = Factory.GetValor(rowValor, _cotizaciones);
                decimal montoSinRecargo = 0;
                if (!row.IsNull("MontoSinRecargos"))
                {
                    montoSinRecargo = Convert.ToDecimal(row["MontoSinRecargos"]);
                }
                valor.SetValorSinRecargos(montoSinRecargo);
                tfi_ValoresExDataset dataValoresEx = mz.erp.businessrules.data.tfi_ValoresEx.GetByPk(valor.IdValor);
                valores.DataValoresEx.Merge(dataValoresEx);
                cdp.RefreshValores(valores.DataValoresEx, valor);
            }

            return(valores);
        }
        public void InitializeMembers()
        {
            mzCmbCuenta.SearchObject     = typeof(mz.erp.ui.forms.classes.tsa_Cuentas);
            gridCompAImputar.LayoutData  = new mz.erp.ui.forms.classes.tsa_CuentaCorriente().GetLayoutDetalleCuentaCorriente(new string [] { "IdComprobante", "Comprobante", "Cuota", "FechaVencimiento", "Numero", "SaldoSinSigno", "Signo", "Pago" });
            gridEXCompDestino.LayoutData = new mz.erp.ui.forms.classes.tsa_CuentaCorriente().GetLayoutDetalleCuentaCorriente(new string [] { "IdComprobante", "Comprobante", "Cuota", "FechaVencimiento", "Numero", "SaldoSinSigno", "Signo", "Pago" });
            Janus.Windows.GridEX.GridEXFormatCondition fc = new Janus.Windows.GridEX.GridEXFormatCondition(this.gridCompAImputar.RootTable.Columns["Signo"],
                                                                                                           Janus.Windows.GridEX.ConditionOperator.LessThan,
                                                                                                           0);
            //fc.FormatStyle.FontStrikeout=Janus.Windows.GridEX.TriState.True;
            fc.FormatStyle.ForeColor = System.Drawing.Color.Red;
            fc.TargetColumn          = this.gridCompAImputar.RootTable.Columns["SaldoSinSigno"];
            this.gridCompAImputar.RootTable.FormatConditions.Add(fc);


            fc = new Janus.Windows.GridEX.GridEXFormatCondition(this.gridEXCompDestino.RootTable.Columns["Signo"],
                                                                Janus.Windows.GridEX.ConditionOperator.LessThan,
                                                                0);
            //fc.FormatStyle.FontStrikeout=Janus.Windows.GridEX.TriState.True;
            fc.FormatStyle.ForeColor = System.Drawing.Color.Red;
            fc.TargetColumn          = this.gridEXCompDestino.RootTable.Columns["SaldoSinSigno"];
            this.gridEXCompDestino.RootTable.FormatConditions.Add(fc);

            mzCEInstanciasCaja.FillFromDataSource(mz.erp.businessrules.tfi_InstanciasCaja.GetList(Security.IdUsuario).Tables[0], "IdInstanciaCaja", "Descripcion", 8, "ID", "Descripcion", "Descripcion");

            _comprobante = Factory.GetComprobanteDePago();
        }
 private void ResetUI()
 {
     _comprobante = Factory.GetComprobanteDePago();
     gridCompAImputar.SetDataBinding(null, null);
     gridEXCompDestino.SetDataBinding(null, null);
     gridCompAImputar.Refetch();
     gridEXCompDestino.Refetch();
 }
Beispiel #8
0
        public ComprobanteDePago obtenerComprobanteDePagoGuardado()
        {
            gestorAccesoDatos.abrirConexion();
            ComprobanteDePago comprobanteDePago = comprobanteDePagoService.obtenerComprobanteDePagoGuardado();

            gestorAccesoDatos.cerrarConexion();

            return(comprobanteDePago);
        }
        private void Save()
        {
            if (_comprobante.CuentaCorriente != null)
            {
                _comprobante = ObtenerComprobanteDestino();

                if (_comprobante.IsValidFor(Constantes.AplicacionDePagoAction))
                {
                    if (_comprobante.AplicacionesDePagos != null)
                    {
                        if (_comprobante.CuentaCorriente.TotalPagoComprobantesSignoNegativo <= 0 || _comprobante.CuentaCorriente.TotalPagoComprobantesSignoPositivo <= 0)
                        {
                            MessageBox.Show("La imputacion no es valida. Ambos valores deben ser mayores a cero");
                        }
                        else
                        if (_comprobante.CuentaCorriente.TotalPagoComprobantesSignoNegativo != _comprobante.CuentaCorriente.TotalPagoComprobantesSignoPositivo)
                        {
                            MessageBox.Show("La suma de los comprobantes a imputar debe ser igual a la suma de los comprobantes imputados");
                        }

                        else
                        {
                            /*
                             * if(_comprobante.TotalPago > _comprobante.CuentaCorriente.TotalImputado)
                             *      if(MessageBox.Show(this,"Desea que la suma del comprobante" + _comprobante.Numero,"Informacion",System.Windows.Forms.MessageBoxButtons.YesNo,System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                             *              _comprobante.ActualizarTotalyPago();
                             *
                             * this._comprobante.AplicacionesDePagos.Commit();
                             * this._comprobante.CondicionDeVenta.Update(this._comprobante.CuentaCorriente);
                             */
                            if (_comprobante.CuentaCorriente.IsValidDetalleCuentaCorriente())
                            {
                                this._comprobante.AplicacionesDePagos.CommitWF();
                                this._comprobante.ActualizaNumeracion = false;
                                this._comprobante.Flush();
                                //this._comprobante.Flush("EDIT");
                                Evaluate();
                            }
                            else
                            {
                                MessageBox.Show("Imputación No Válida.");
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Debe seleccionar los comprobantes que se imputan", "Advertencia", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
                    }
                }
            }

            else
            {
                MessageBox.Show("Debe seleccionar un cliente", "Advertencia", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
            }
        }
 private ComprobanteDePago ObtenerComprobanteDestino()
 {
     foreach (Janus.Windows.GridEX.GridEXRow row in gridEXCompDestino.GetRows())
     {
         DetalleCuentaCorriente dcc = (DetalleCuentaCorriente)row.DataRow;
         if (dcc.TotalPago > 0)
         {
             _comprobante = Factory.GetComprobanteDePago(dcc.IdComprobante, dcc.Importe, dcc.TotalPago, _comprobante.CuentaCorriente);
         }
     }
     return(_comprobante);
 }
Beispiel #11
0
 public void Initialize()
 {
     comprobanteDePago = new ComprobanteDePago(
         Enum.EstadoDePago.EN_VERIFICACION,
         10000,
         12000,
         Enum.MedioPago.EFECTIVO,
         15000,
         DateTime.Now,
         600,
         1);
 }
        private void tablaComprobantes_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            long idComprobante = long.Parse(tablaComprobantes.Rows[e.RowIndex].Cells[0].Value.ToString());

            ComprobanteDePago      comprobanteDePago      = administracionDatos.buscarComprobanteDePago(idComprobante);
            AdministrarComprobante administrarComprobante = new AdministrarComprobante(comprobanteDePago, this);

            if (menuAbierto == false)
            {
                menuAbierto = true;
                administrarComprobante.Show();
            }
        }
        public override void Commit()
        {
            ComprobanteDePago         cdp  = this.Parent;
            tsa_ComprobantesExDataset data = cdp.DatasetComprobante;
            ArrayList detalles             = cdp.CuentaCorriente.Detalle;

            System.Data.DataRow rowComprobante = null;
            tsa_ComprobantesExDataset.tsa_ComprobantesDataTable TablaComprobantes = data.tsa_Comprobantes;
            rowComprobante = data.tsa_Comprobantes.FindByIdComprobante(this.Parent.IdComprobante);
            if (rowComprobante == null)
            {
                rowComprobante = mz.erp.businessrules.tsa_Comprobantes.GetByPk(this.Parent.IdComprobante);
                data.tsa_Comprobantes.ImportRow(rowComprobante);
            }
            //Para cada item de la cuenta Corriente asociado al comprobante, toma aquellos comprobantes
            //imputados en el pago, es decir, aquellos que tienen signo = -1 (Comprobantes de Venta(Facturas, Notas de Debitos, ect...)
            //y que tienen la propiedad Pago > 0
            foreach (DetalleCuentaCorriente dcc in detalles)
            {
                if ((dcc.Pago > 0) && (dcc.Signo == -1))
                {
                    tsa_ComprobantesExDataset.tsa_AplicacionPagosRow row = data.tsa_AplicacionPagos.Newtsa_AplicacionPagosRow();
                    this.SetRowValues(row, dcc, rowComprobante);

                    //Se actualiza el el saldo del Comprobante de Pago, en base a los comprobantes imputados
                    //Por eso se debe cumplir que dcc.Pago >0 y que dcc.Signo == -1


                    //cdp.Saldo= cdp.Saldo - dcc.Pago;


                    if (cdp.ComprobanteDeVenta != null)
                    {
                        System.Data.DataRow rowComprobanteImputado = cdp.ComprobanteDeVenta.DatasetComprobante.tsa_Comprobantes.FindByIdComprobante(dcc.IdComprobante);
                        data.tsa_Comprobantes.LoadDataRow(rowComprobanteImputado.ItemArray, true);
                    }
                    else
                    {
                        System.Data.DataRow rowComprobanteImputado = data.tsa_Comprobantes.FindByIdComprobante(dcc.IdComprobante);
                        if (rowComprobanteImputado == null)
                        {
                            rowComprobanteImputado = mz.erp.businessrules.tsa_Comprobantes.GetByPk(dcc.IdComprobante);
                            data.tsa_Comprobantes.ImportRow(rowComprobanteImputado);
                        }
                    }
                    data.tsa_AplicacionPagos.Addtsa_AplicacionPagosRow(row);
                }
            }
        }
Beispiel #14
0
        public static ComprobanteDePago GetComprobanteDePago(string IdComprobante, decimal total, decimal Pago, CuentaCorriente ctaCte)
        {
            ComprobanteDePago cdp = new ComprobanteDePago();

            cdp.IdComprobante       = IdComprobante;
            cdp.FechaComprobante    = mz.erp.businessrules.Sistema.DateTime.Now;
            cdp.DatasetComprobante  = new tsa_ComprobantesExDataset();
            cdp.AplicacionesDePagos = Factory.getAplicacionesDePagos(cdp);
            cdp.CondicionDeVenta    = new CondicionDeVenta("NEW", cdp, Variables.GetValueString("Comprobantes.FormaDePago.Contado"));
            cdp.Total           = total;
            cdp.TotalPago       = Pago;
            cdp.CuentaCorriente = ctaCte;
            cdp.Valores         = Factory.GetValores(cdp.DatasetComprobante);

            return(cdp);
        }
Beispiel #15
0
        private ComprobanteDePago obtenerComprobanteDePago(SqlDataReader resultadoSQL)
        {
            ComprobanteDePago comprobanteDePago = new ComprobanteDePago();

            comprobanteDePago.IdComprobante     = resultadoSQL.GetInt64(0);
            comprobanteDePago.NumeroComprobante = resultadoSQL.GetInt64(1);
            comprobanteDePago.Nombre            = resultadoSQL.GetString(2);
            comprobanteDePago.Fecha             = resultadoSQL.GetDateTime(3);
            comprobanteDePago.Direccion         = resultadoSQL.GetString(4);
            comprobanteDePago.Dni         = resultadoSQL.GetInt64(5);
            comprobanteDePago.Igv         = float.Parse(resultadoSQL.GetDouble(6).ToString());
            comprobanteDePago.PrecioNeto  = float.Parse(resultadoSQL.GetDouble(7).ToString());
            comprobanteDePago.PrecioTotal = float.Parse(resultadoSQL.GetDouble(8).ToString());
            comprobanteDePago.Correo      = resultadoSQL.GetString(9);

            return(comprobanteDePago);
        }
Beispiel #16
0
        public void editarComprobante(ComprobanteDePago comprobanteDePago)
        {
            String query = "update comprobanteDePago set nombre = @nombre,direccion = @direccion, dni = @dni, igv = @igv, precioNeto = @precioNeto, precioTotal = @precioTotal, correo = @correo where comprobanteDePago.idComprobante = " + comprobanteDePago.IdComprobante;

            SqlCommand sqlCommand;

            sqlCommand = gestorSQL.obtenerComandoSQL(query);

            sqlCommand.Parameters.AddWithValue("@nombre", comprobanteDePago.Nombre);
            sqlCommand.Parameters.AddWithValue("@fecha", comprobanteDePago.Fecha);
            sqlCommand.Parameters.AddWithValue("@direccion", comprobanteDePago.Direccion);
            sqlCommand.Parameters.AddWithValue("@dni", comprobanteDePago.Dni);
            sqlCommand.Parameters.AddWithValue("@igv", comprobanteDePago.Igv);
            sqlCommand.Parameters.AddWithValue("@precioNeto", comprobanteDePago.PrecioNeto);
            sqlCommand.Parameters.AddWithValue("@precioTotal", comprobanteDePago.PrecioTotal);
            sqlCommand.Parameters.AddWithValue("@correo", comprobanteDePago.Correo);

            sqlCommand.ExecuteNonQuery();
        }
Beispiel #17
0
        public ComprobanteDePago buscarComprobanteDePago(long idComprobanteDePago)
        {
            ComprobanteDePago comprobanteDePago = new ComprobanteDePago();

            String query = "select *from comprobanteDePago where comprobanteDePago.idComprobante = " + idComprobanteDePago;

            SqlDataReader resultadoSQL = gestorSQL.ejecutarConsulta(query);

            if (resultadoSQL.Read())
            {
                comprobanteDePago = obtenerComprobanteDePago(resultadoSQL);
            }
            else
            {
                return(null);
            }

            return(comprobanteDePago);
        }
Beispiel #18
0
        public static ComprobanteDePago GetComprobanteDePago()
        {
            ComprobanteDePago cdp      = new ComprobanteDePago();
            string            IdMoneda = Variables.GetValueString("Contabilidad.MonedaReferencia");

            cdp.IdMonedaCierre   = IdMoneda;
            cdp.FechaComprobante = mz.erp.businessrules.Sistema.DateTime.Now;

            cdp.CondicionDeVenta   = new CondicionDeVenta("NEW", cdp, Variables.GetValueString("Comprobantes.FormaDePago.Contado"));
            cdp.DatasetComprobante = new tsa_ComprobantesExDataset();
            cdp.Valores            = Factory.GetValores(cdp.DatasetComprobante);
            cdp.CompDetalleDePagos = Factory.GetComprobantesDetalleDePagos(cdp);
            cdp.Saldo               = 0;
            cdp.TotalPago           = 0;
            cdp.AplicacionesDePagos = Factory.getAplicacionesDePagos(cdp);
            cdp.IdComprobante       = mz.erp.systemframework.Util.NewStringId();

            return(cdp);
        }
Beispiel #19
0
        public static DetalleCuentaCorriente GetDetalleCuentaCorriente(ComprobanteDePago comprobante)
        {
            string   IdComprobante       = comprobante.IdComprobante;
            string   Comprobante         = comprobante.IdComprobante;
            string   Numero              = comprobante.Numero;
            DateTime FechaVencimiento    = comprobante.FechaComprobante;
            DateTime FechaEmision        = comprobante.FechaComprobante;
            short    Cuota               = 1;
            decimal  Importe             = comprobante.Total;
            decimal  Saldo               = comprobante.Saldo;
            decimal  Total               = comprobante.Total;
            int      signo               = comprobante.SignoCuentaCorriente;
            string   IdTipoDeComprobante = comprobante.TipoComprobanteDestino;
            DetalleCuentaCorriente dcc   = Factory.GetDetalleCuentaCorriente(IdComprobante, Comprobante, Numero,
                                                                             FechaVencimiento, FechaEmision, Cuota, Importe, Saldo, Total, signo, IdTipoDeComprobante);


            return(dcc);
        }
Beispiel #20
0
        public ComprobanteDePago obtenerComprobanteDePagoGuardado()
        {
            ComprobanteDePago comprobanteDePago = new ComprobanteDePago();

            String query = "SELECT TOP 1 * FROM comprobanteDePago ORDER BY comprobanteDePago.idComprobante DESC ";

            SqlDataReader resultadoSQL = gestorSQL.ejecutarConsulta(query);

            if (resultadoSQL.Read())
            {
                comprobanteDePago = obtenerComprobanteDePago(resultadoSQL);
            }
            else
            {
                return(null);
            }

            return(comprobanteDePago);
        }
Beispiel #21
0
        //Esta sobrecarga recibe como parametro el IdComprobante del comprobante
        //que esta imputado o no con un comprobante de pago
        //Esta sobrecarga debe recuperar primero el comprobante de pago

        public static ComprobanteDePago GetComprobanteDePago(string IdComprobanteDeVenta, string IdCondicionDeVenta)
        {
            ComprobanteDePago cdp    = null;
            CuentaCorriente   ctacte = Factory.GetCuentaCorriente();
            string            IdComprobanteDePago = "";

            System.Data.DataSet data = mz.erp.businessrules.tsa_AplicacionPagos.GetList(IdComprobanteDeVenta, 1, decimal.MinValue, null, null, short.MinValue);
            if (data.Tables[0].Rows.Count > 0)
            {
                IdComprobanteDePago = Convert.ToString(data.Tables[0].Rows[0]["IdComprobanteDestino"]);
            }
            if (IdComprobanteDePago != null && !IdComprobanteDePago.Equals(string.Empty))
            {
                System.Data.DataRow rowComprobanteDePago               = mz.erp.businessrules.tsa_Comprobantes.GetByPk(IdComprobanteDePago);
                System.Data.DataRow rowDetalleDeudaComprobanteDePago   = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobanteDePago, 1);
                System.Data.DataSet dataDetalleDeudaComprobanteDeVenta = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetList(IdComprobanteDeVenta, null, null);
                foreach (System.Data.DataRow rowDetalleDeudaComprobanteDeVenta in dataDetalleDeudaComprobanteDeVenta.Tables[0].Rows)
                {
                    DetalleCuentaCorriente dccComprobanteDeVenta = Factory.GetDetalleCuentaCorriente(rowDetalleDeudaComprobanteDeVenta);
                    ctacte.Detalle.Add(dccComprobanteDeVenta);
                }
                ctacte.RecalcularTotalPago();
                decimal total = (decimal)rowComprobanteDePago["Total"];
                decimal pago  = 0;
                if (rowDetalleDeudaComprobanteDePago != null)
                {
                    pago = total - (decimal)rowDetalleDeudaComprobanteDePago["Saldo"];
                }
                else
                {
                    pago = total;
                }
                cdp        = Factory.GetComprobanteDePago(IdComprobanteDePago, total, pago, ctacte, IdCondicionDeVenta);
                cdp.Anular = true;
                cdp.TipoComprobanteDestino = (string)rowComprobanteDePago["IdTipoDeComprobante"];
            }
            else
            {
                cdp = Factory.GetComprobanteDePago();
            }
            return(cdp);
        }
Beispiel #22
0
        public ServiceResponse Crear(ServicesComprobanteCompraRequest request)
        {
            var comprobanteDePago = new ComprobanteDePago(request.EstadoDePago, request.Total, request.SubTotal, request.MedioPago, request.Monto, request.FechaDePago, request.TotalDescuentoAplicados, request.Compra_Id);

            _repositoryCompra.Add(comprobanteDePago);
            if (_unitOfWork.Commit() == 1)
            {
                return(new ServiceResponse()
                {
                    Mensaje = "Operacion exitosa"
                });
            }
            else
            {
                return(new ServiceResponse()
                {
                    Mensaje = "No se pudo realizar la compra"
                });
            }
        }
Beispiel #23
0
        public ComprobanteDePago buscarComprobanteDePago(long idComprobante)
        {
            gestorAccesoDatos.abrirConexion();
            ComprobanteDePago comprobanteDePago = comprobanteDePagoService.buscarComprobanteDePago(idComprobante);

            gestorAccesoDatos.cerrarConexion();

            gestorAccesoDatos.abrirConexion();
            comprobanteDePago.LineasDeVenta = lineaDeVentaService.listarLineasDeVentaDeComprobante(comprobanteDePago.IdComprobante);
            gestorAccesoDatos.cerrarConexion();

            foreach (LineaDeVenta lineaDeVenta in comprobanteDePago.LineasDeVenta)
            {
                gestorAccesoDatos.abrirConexion();
                lineaDeVenta.Producto = buscarProducto(lineaDeVenta.Producto.IdProducto);
                gestorAccesoDatos.cerrarConexion();
            }


            return(comprobanteDePago);
        }
Beispiel #24
0
        public void crearComprobanteDePago(ComprobanteDePago comprobanteDePago)
        {
            String query = "insert into comprobanteDePago(numeroComprobante,nombre,fecha,direccion,dni,igv,precioNeto,precioTotal,correo)" +
                           "values(@numeroComprobante, @nombre, @fecha, @direccion, @dni, @igv, @precioNeto, @precioTotal,@correo)";

            SqlCommand sqlCommand;

            sqlCommand = gestorSQL.obtenerComandoSQL(query);

            sqlCommand.Parameters.AddWithValue("@numeroComprobante", comprobanteDePago.NumeroComprobante);
            sqlCommand.Parameters.AddWithValue("@nombre", comprobanteDePago.Nombre);
            sqlCommand.Parameters.AddWithValue("@fecha", comprobanteDePago.Fecha);
            sqlCommand.Parameters.AddWithValue("@direccion", comprobanteDePago.Direccion);
            sqlCommand.Parameters.AddWithValue("@dni", comprobanteDePago.Dni);
            sqlCommand.Parameters.AddWithValue("@igv", comprobanteDePago.Igv);
            sqlCommand.Parameters.AddWithValue("@precioNeto", comprobanteDePago.PrecioNeto);
            sqlCommand.Parameters.AddWithValue("@precioTotal", comprobanteDePago.PrecioTotal);
            sqlCommand.Parameters.AddWithValue("@correo", comprobanteDePago.Correo);

            sqlCommand.ExecuteNonQuery();
        }
        private LineaDeVenta obtenerLineaDeVenta(SqlDataReader resultadoSql)
        {
            LineaDeVenta lineaDeVenta = new LineaDeVenta();

            lineaDeVenta.IdLineaDeVenta = resultadoSql.GetInt64(0);
            lineaDeVenta.Cantidad       = resultadoSql.GetInt32(1);
            lineaDeVenta.PrecioUnitario = float.Parse(resultadoSql.GetDouble(2).ToString());
            lineaDeVenta.Preciototal    = float.Parse(resultadoSql.GetDouble(3).ToString());

            Producto producto = new Producto();

            producto.IdProducto = resultadoSql.GetInt64(4);

            ComprobanteDePago comprobanteDePago = new ComprobanteDePago();

            comprobanteDePago.IdComprobante = resultadoSql.GetInt64(5);

            lineaDeVenta.Producto          = producto;
            lineaDeVenta.ComprobanteDePago = comprobanteDePago;

            return(lineaDeVenta);
        }
Beispiel #26
0
 public void ListenerAfterFlush(object sender)
 {
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _compVenta = (ComprobanteDeVenta)sender;
         _source    = "COMPROBANTEDEVENTA";
     }
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDePago)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _compPago = (ComprobanteDePago)sender;
         _source   = "COMPROBANTEDEPAGO";
     }
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeEntrega)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _compEntrega = (ComprobanteDeEntrega)sender;
         _source      = "COMPROBANTEDEENTREGA";
     }
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeCompra)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _compCompra = (ComprobanteDeCompra)sender;
         _source     = "COMPROBANTEDECOMPRA";
     }
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.AjustarStock)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _ajustarStock = (AjustarStock)sender;
         _source       = "AJUSTEDESTOCK";
     }
 }
Beispiel #27
0
        public static ComprobanteDePago GetComprobanteDePago(string IdComprobante, decimal total, decimal Pago, CuentaCorriente ctaCte, string IdCondicionDeVenta)
        {
            ComprobanteDePago cdp = new ComprobanteDePago();

            cdp.IdComprobante       = IdComprobante;
            cdp.FechaComprobante    = DateTime.Now;
            cdp.DatasetComprobante  = new tsa_ComprobantesExDataset();
            cdp.AplicacionesDePagos = Factory.getAplicacionesDePagos(cdp);
            cdp.CondicionDeVenta    = new CondicionDeVenta("NEW", cdp, IdCondicionDeVenta);
            cdp.Total           = total;
            cdp.TotalPago       = Pago;
            cdp.CuentaCorriente = ctaCte;

            cdp.CompDetalleDePagos = Factory.GetComprobantesDetalleDePagos(cdp);

            string IdMoneda = Variables.GetValueString("Contabilidad.MonedaReferencia");

            cdp.IdMonedaCierre = IdMoneda;

            cdp.Valores = Factory.GetValores(cdp, cdp.DatasetComprobante);

            return(cdp);
        }
Beispiel #28
0
 public void editarComprobanteDePago(ComprobanteDePago comprobanteDePago)
 {
     gestorAccesoDatos.abrirConexion();
     comprobanteDePagoService.editarComprobante(comprobanteDePago);
     gestorAccesoDatos.cerrarConexion();
 }
Beispiel #29
0
 public void guardarComprobanteDePago(ComprobanteDePago comprobanteDePago)
 {
     gestorAccesoDatos.abrirConexion();
     comprobanteDePagoService.crearComprobanteDePago(comprobanteDePago);
     gestorAccesoDatos.cerrarConexion();
 }
Beispiel #30
0
        public override void Commit()
        {
            ComprobanteDePago         cdp  = this.Parent;
            tsa_ComprobantesExDataset data = cdp.DatasetComprobante;
            Valores Valores = cdp.Valores;

            tsa_ComprobantesExDataset.tfi_ValoresDataTable      TablaValores      = data.tfi_Valores;
            tsa_ComprobantesExDataset.tsa_ComprobantesDataTable TablaComprobantes = data.tsa_Comprobantes;
            string    comprobantesdePago = Variables.GetValueString("Comprobantes.ComprobantesDePago");
            ArrayList comps = mz.erp.systemframework.Util.Parse(comprobantesdePago, ",");

            tsa_ComprobantesExDataset.tsa_ComprobantesRow rowComprobante = null;
            foreach (System.Data.DataRow row in TablaComprobantes.Rows)
            {
                if (comps.Contains(Convert.ToString(row["IdTipoDeComprobante"])))
                {
                    rowComprobante = (tsa_ComprobantesExDataset.tsa_ComprobantesRow)row;
                }
            }


            /*
             * int i = 0;
             *
             * foreach(tsa_ComprobantesExDataset.tfi_ValoresRow row in TablaValores.Rows)
             * {
             *      tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos= data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow();
             *      if (i < Valores.MisValores.Count)
             *      {
             *              Valor valor = (Valor)Valores.MisValores[i];
             *              i++;
             *              valor.SetRowValues(rowPagos, row ,rowComprobante, _tablaDeValoresFormasDePago);
             *              data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos);
             *      }
             * }
             */
            /*
             * foreach(Valor valor in Valores.MisValores)
             * {
             */
            for (int i = 1; i <= Valores.MisValores.Count; i++)
            {
                if (Valores.MisValores[i - 1] != null)
                {
                    Valor valor = (Valor)Valores.MisValores[i - 1];
                    //if((_creaIdValoresNuevos)|| (!_creaIdValoresNuevos && (!valor.IsStep || valor.Agrupado)))
                    if (valor.Agrupado || valor.State.ToUpper().Equals("NEW"))
                    {
                        tsa_ComprobantesExDataset.tfi_ValoresRow row = data.tfi_Valores.FindByIdValor(valor.IdValor);
                        tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos = data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow();
                        valor.SetRowValues(rowPagos, valor.IdValor, rowComprobante, _tablaDeValoresFormasDePago);
                        data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos);
                    }
                    else
                    {
                        //DataRow row  = mz.erp.businessrules.tfi_Valores.GetByPk(valor.IdValor);
                        //if(row != null)
                        //{
                        //	data.tfi_Valores.LoadDataRow(row.ItemArray,true);
                        tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos = data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow();
                        valor.SetRowValues(rowPagos, valor.IdValor, rowComprobante, _tablaDeValoresFormasDePago);
                        data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos);
                        //}
                    }
                }
            }



            //}
        }