Esempio n. 1
0
        public static void Update(tsa_AplicacionPagosDataset dataAplicacionPago, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda)
        {
            SqlConnection cnx = dbhelper.Connection.GetConnection();;

            cnx.Open();

            SqlTransaction trx = cnx.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                string IdSentenciaReplicacion = "-1";
                mz.erp.dataaccess.tsa_ComprobanteDetalleDeuda.Update(dataDetalleDeuda.tsa_ComprobanteDetalleDeuda, trx);
                mz.erp.dataaccess.tsa_AplicacionPagos.Update(dataAplicacionPago.tsa_AplicacionPagos, trx);

                trx.Commit();
            }
            catch
            {
                trx.Rollback();
            }
            finally
            {
                cnx.Close();
            }
        }
        public static tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow GetByPk(string IdComprobante, short Cuota)
        {
            tsa_ComprobanteDetalleDeudaDataset data = new tsa_ComprobanteDetalleDeudaDataset();

            SqlCommand cmd = new SqlCommand("Pr_tsa_ComprobanteDetalleDeuda_GetByPk", dbhelper.Connection.GetConnection());

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add(new SqlParameter("@IdComprobante", SqlDbType.VarChar));
            cmd.Parameters["@IdComprobante"].Value = IdComprobante;

            cmd.Parameters.Add(new SqlParameter("@Cuota", SqlDbType.SmallInt));
            cmd.Parameters["@Cuota"].Value = Cuota;

            SqlDataAdapter adapter = new SqlDataAdapter(cmd);

            adapter.TableMappings.Add("Table", "tsa_ComprobanteDetalleDeuda");

            adapter.Fill(data);

            if (data.tsa_ComprobanteDetalleDeuda.Rows.Count == 1)
            {
                return((tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow)data.tsa_ComprobanteDetalleDeuda.Rows[0]);
            }

            return(null);
        }
        /// <summary>
        /// Envia los cambios del tsa_ComprobanteDetalleDeudaDataset a la base de datos.
        /// </summary>
        public static void Update(tsa_ComprobanteDetalleDeudaDataset dataSet)
        {
            ApplicationAssert.Check(dataSet != null, "El argumento dataSet no debe ser nulo.", ApplicationAssert.LineNumber);
            ApplicationAssert.Check(dataSet.tsa_ComprobanteDetalleDeuda.Rows.Count > 0, "La tabla dataSet.tsa_ComprobanteDetalleDeudaDataTable debe poseer alguna fila.", ApplicationAssert.LineNumber);

            mz.erp.dataaccess.tsa_ComprobanteDetalleDeuda.Update(dataSet);
        }
        public static tsa_ComprobanteDetalleDeudaDataset GetList(string IdComprobante, string IdTipoDeComprobante, string Numero)
        {
            tsa_ComprobanteDetalleDeudaDataset data = new tsa_ComprobanteDetalleDeudaDataset();

            data = (tsa_ComprobanteDetalleDeudaDataset)GetList((System.Data.DataSet)data, IdComprobante, IdTipoDeComprobante, Numero);
            return(data);
        }
Esempio n. 5
0
 public static void Update(tsa_AplicacionPagosDataset dataAplicacionPago, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda)
 {
     mz.erp.dataaccess.tsa_CuentaCorriente.Update(dataAplicacionPago, dataDetalleDeuda);
 }
Esempio n. 6
0
        public static void Update(tsa_ComprobantesExDataset data, bool ActualizaNumeracion, ref string IdComprobante, tsa_AplicacionPagosDataset dataAplicacionDePagos, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda, tsa_ComprobantesExDataset dataComprobanteCancelacion)
        {
            string IdVariable;

            if (ActualizaNumeracion)
            {
                IdVariable = UpdateNumero(data);
            }
            else
            {
                IdVariable = data.tsa_Comprobantes.Rows[0]["Numero"].ToString();
            }
            SentenciasReplicacion replicacion = GenerateReplicaction();

            mz.erp.dataaccess.tsa_ComprobantesEx.Update(data, IdVariable, ref IdComprobante, replicacion, dataAplicacionDePagos, dataDetalleDeuda, dataComprobanteCancelacion);
        }
Esempio n. 7
0
        public static void UpdateComprobanteDeVentaYComprobanteDePago(tsa_ComprobantesExDataset comprobanteDeVenta, tsa_ComprobantesExDataset comprobanteDePago, bool ActualizaNumeracionVenta, bool ActualizaNumeracionPago, ref string IdComprobanteDeVenta, ref string IdComprobanteDePago, tsa_AplicacionPagosDataset dataAplicacionDePagos, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda, tsa_ComprobantesExDataset dataComprobanteCancelacion)
        {
            string IdVariableVenta;
            string IdVariablePago;

            if (ActualizaNumeracionVenta)
            {
                IdVariableVenta = UpdateNumero(comprobanteDeVenta);
            }
            else
            {
                IdVariableVenta = comprobanteDeVenta.tsa_Comprobantes.Rows[0]["Numero"].ToString();
            }

            if (ActualizaNumeracionPago)
            {
                IdVariablePago = UpdateNumero(comprobanteDePago);
            }
            else
            {
                IdVariablePago = comprobanteDePago.tsa_Comprobantes.Rows[0]["Numero"].ToString();
            }
            SentenciasReplicacion replicacion = GenerateReplicaction();
            string ComprobantesDeVentas       = Variables.GetValueString("Comprobantes.ComprobantesDeVenta");

            mz.erp.dataaccess.tsa_ComprobantesEx.UpdateComprobanteDeVentaYComprobanteDePago(comprobanteDeVenta, comprobanteDePago, IdVariableVenta, IdVariablePago, ref IdComprobanteDeVenta, ref IdComprobanteDePago, replicacion, ComprobantesDeVentas, dataAplicacionDePagos, dataDetalleDeuda, dataComprobanteCancelacion);
        }
        public static tsa_ComprobanteDetalleDeudaDataset GetList()
        {
            tsa_ComprobanteDetalleDeudaDataset data = new tsa_ComprobanteDetalleDeudaDataset();

            return(( tsa_ComprobanteDetalleDeudaDataset )GetList(data));
        }
 public static void Update(tsa_ComprobanteDetalleDeudaDataset dataSet)
 {
     Update(dataSet.tsa_ComprobanteDetalleDeuda);
 }
Esempio n. 10
0
        public static void Update(tsa_ComprobantesExDataset data, string IdVariable, ref string IdComprobante, SentenciasReplicacion replicacion, tsa_AplicacionPagosDataset dataAplicacionDePagos, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda, tsa_ComprobantesExDataset dataComprobanteCancelacion)
        {
            SqlConnection cnx = dbhelper.Connection.GetConnection();

            cnx.Open();
            SqlTransaction trx = cnx.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                Update(data, IdVariable, ref IdComprobante, trx, replicacion);
                UpdateDesimputacion(dataDetalleDeuda, dataAplicacionDePagos, trx);
                UpdateCancelacion(dataComprobanteCancelacion, trx, replicacion);
                //mz.erp.dataaccess.tsa_ComprobanteValoresVarAux.Update(IdComprobanteDeVenta, "11", IdComprobanteDePago, trx);
                replicacion.Update();
                mz.erp.dataaccess.sy_SentenciasReplicacion.Update(replicacion.Data.sy_SentenciasReplicacion, trx);
                trx.Commit();
            }
            catch (Exception e)
            {
                trx.Rollback();
                data.tsa_Comprobantes.Rows[0].SetColumnError("IdComprobante", "No se ha podido realizar la grabación por un error en los datos");
            }
            finally
            {
                cnx.Close();
            }
        }
Esempio n. 11
0
        public static void UpdateComprobanteDeVentaYComprobanteDePago(tsa_ComprobantesExDataset comprobantedeVenta, tsa_ComprobantesExDataset comprobantedePago, string IdVariableVenta, string IdVariablePago, ref string IdComprobanteDeVenta, ref string IdComprobanteDePago, SentenciasReplicacion Replicacion, string ComprobantesDeVentas, tsa_AplicacionPagosDataset dataAplicacionDePagos, tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda, tsa_ComprobantesExDataset dataComprobanteCancelacion)
        {
            SqlConnection cnx = dbhelper.Connection.GetConnection();

            cnx.Open();
            SqlTransaction trx = cnx.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                string IdComprobanteAnt = (string)comprobantedeVenta.tsa_Comprobantes.Rows[0]["IdComprobante"];
                Update(comprobantedeVenta, IdVariableVenta, ref IdComprobanteDeVenta, trx, Replicacion);
                Merge(comprobantedeVenta, comprobantedePago, IdComprobanteAnt, ComprobantesDeVentas);
                UpdateComprobanteDePago(comprobantedePago, ref IdComprobanteDePago, IdVariablePago, trx, Replicacion);
                UpdateDesimputacion(dataDetalleDeuda, dataAplicacionDePagos, trx);
                UpdateCancelacion(dataComprobanteCancelacion, trx, Replicacion);
                mz.erp.dataaccess.tsa_ComprobanteValoresVarAux.Update(IdComprobanteDeVenta, "11", IdComprobanteDePago, trx);
                Replicacion.Update();
                mz.erp.dataaccess.sy_SentenciasReplicacion.Update(Replicacion.Data.sy_SentenciasReplicacion, trx);
                trx.Commit();
            }
            catch (System.Exception e)
            {
                //Debug.WriteLine(e.Message);
                trx.Rollback();
            }
            finally
            {
                cnx.Close();
            }
        }
        //Elimina las asociaciones que hay con este comprobante en la tabla tsa_AplicacionPagos
        //Actualiza la el detalle de la Cuenta Corriente (tabla tsa_ComporbantesDetalleDeuda)
        public bool Desimputar()
        {
            _dataAplicacionDePagos = new tsa_AplicacionPagosDataset();
            _dataDetalleDeuda      = new tsa_ComprobanteDetalleDeudaDataset();
            decimal pago = 0;

            //Es un recibo o una nota de credito, por ende hay que buscarlo por el campo IdComporbanteDestino
            // en la tabla tsa_AplicacionPagos
            if (this.Signo == 1)
            {
                _dataAplicacionDePagos = mz.erp.businessrules.tsa_AplicacionPagos.GetList(null, short.MinValue, decimal.MinValue, this.IdTipoDeComprobante, this.IdComprobante, Convert.ToInt16(this.Cuota));
                foreach (tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row in _dataAplicacionDePagos.tsa_AplicacionPagos.Rows)
                {
                    string IdComprobante = (string)row["IdComprobanteOrigen"];
                    short  cuota         = (short)row["CuotaOrigen"];
                    pago = pago + row.Importe;
                    try
                    {
                        tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota);
                        //tener emn cuenta el signo del saldo
                        rowDetalle.Saldo = rowDetalle.Saldo + (-1) * row.Importe;

                        _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle);
                    }
                    catch (Exception e) {
                        tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDet;
                        rowDet = _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota);
                        if (rowDet != null)
                        {
                            rowDet.Saldo = rowDet.Saldo + (-1) * row.Importe;
                        }
                    }
                    row.Delete();
                }
                tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle1 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(this.IdComprobante, (short)this.Cuota);
                //Semultiplica por 1 pues signo de saldo es positivo. Solo para consolidar los signos
                if (rowDetalle1 != null)
                {
                    rowDetalle1.Saldo = rowDetalle1.Saldo + 1 * pago;
                    _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle1);
                }
            }
            //Es una factura o una nota de debito, por ende hay que buscarlo por el campo IdComporbanteOrigen
            // en la tabla tsa_AplicacionPagos

            else
            {
                _dataAplicacionDePagos = mz.erp.businessrules.tsa_AplicacionPagos.GetList(this.IdComprobante, Convert.ToInt16(this.Cuota), decimal.MinValue, null, null, short.MinValue);
                foreach (tsa_AplicacionPagosDataset.tsa_AplicacionPagosRow row in _dataAplicacionDePagos.tsa_AplicacionPagos.Rows)
                {
                    string IdComprobante = (string)row["IdComprobanteDestino"];
                    short  cuota         = (short)row["CuotaDestino"];

                    pago = pago + row.Importe;
                    try
                    {
                        tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobante, cuota);
                        //tener en cuenta el signo del saldo
                        rowDetalle.Saldo = rowDetalle.Saldo + 1 * row.Importe;
                        _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle);
                    }
                    catch (Exception e) {
                        tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDet;
                        rowDet       = _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.FindByIdComprobanteCuota(IdComprobante, cuota);
                        rowDet.Saldo = rowDet.Saldo + 1 * row.Importe;
                    }
                    row.Delete();
                }
                tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDetalle2 = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(this.IdComprobante, (short)this.Cuota);
                //Tener en cuenta el signo. Se multiplica por -1 pues this.Signo = -1 y pues el signo de saldo es negativo
                //Consolidacion de signos
                if (rowDetalle2 != null)
                {
                    rowDetalle2.Saldo = rowDetalle2.Saldo + (-1) * pago;
                    _dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.ImportRow(rowDetalle2);
                }
            }
            //Chequeo que se haya echo alguna desimputacion
            return(pago > 0);
        }
        public override void Commit()
        {
            base.Commit();
            tsa_ComprobantesDataset.tsa_ComprobantesRow row = mz.erp.businessrules.tsa_Comprobantes.GetByPk(IdComprobante);
            //Agrego el comprobante anulado a la tabla de tsa_Comprobantes para evitar problemas de Foreign key
            _dataComprobante.tsa_Comprobantes.ImportRow(row);
            string IdTipoComprobante = row.IdTipoDeComprobante;

            //Creo el nuevo comprobante de Anulacion que es similar al comprobante anulado
            tsa_ComprobantesExDataset.tsa_ComprobantesRow rowComprobante = _dataComprobante.tsa_Comprobantes.Newtsa_ComprobantesRow();
            rowComprobante.IdComprobante       = mz.erp.systemframework.Util.NewStringId();
            rowComprobante.Numero              = row.Numero;
            rowComprobante.IdTipoDeComprobante = Variables.GetValueString("Momentos.Anular.Comprobantes." + IdTipoComprobante);
            rowComprobante.IdInstanciaCaja     = row.IdInstanciaCaja;
            rowComprobante.IdCuenta            = row.IdCuenta;
            rowComprobante.IdResponsable       = row.IdResponsable;
            rowComprobante.Total              = row.Total;
            rowComprobante.IdMonedaCierre     = row.IdMonedaCierre;
            rowComprobante.IdCotizacionCierre = row.IdCotizacionCierre;
            rowComprobante.FechaCreacion      = mz.erp.businessrules.Sistema.DateTime.Now;
            rowComprobante.IdConexionCreacion = Security.IdConexion;
            //rowComprobante.UltimaModificacion = null;
            rowComprobante.IdConexionUltimaModificacion = Security.IdConexion;
            rowComprobante.IdReservado = 0;
            rowComprobante.RowId       = Guid.Empty;
            rowComprobante.IdEmpresa   = Security.IdEmpresa;
            rowComprobante.IdSucursal  = Security.IdSucursal;

            _dataComprobante.tsa_Comprobantes.Addtsa_ComprobantesRow(rowComprobante);



            //Recupera los valores relacionados con el comprobante de pago a anular
            tsa_ComprobanteDetalleDePagosDataset dataDetalleDePagos = mz.erp.businessrules.tsa_ComprobanteDetalleDePagos.GetList(null, null, this.IdComprobante, null, decimal.MinValue);

            foreach (tsa_ComprobanteDetalleDePagosDataset.tsa_ComprobanteDetalleDePagosRow rowDetalleDePagos in dataDetalleDePagos.tsa_ComprobanteDetalleDePagos.Rows)
            {
                _dataComprobante.tfi_Valores.LoadDataRow(mz.erp.businessrules.tfi_Valores.GetByPk(rowDetalleDePagos.IdValor).ItemArray, true);
                tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowDP = _dataComprobante.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow();
                rowDP.IdComprobante       = rowComprobante.IdComprobante;
                rowDP.IdValor             = rowDetalleDePagos.IdValor;
                rowDP.IdTipoDeComprobante = rowComprobante.IdTipoDeComprobante;
                rowDP.Numero             = rowComprobante.Numero;
                rowDP.Monto              = rowComprobante.Total;
                rowDP.IdMoneda           = rowComprobante.IdMonedaCierre;
                rowDP.IdCotizaicon       = rowComprobante.IdCotizacionCierre;
                rowDP.FechaCreacion      = mz.erp.businessrules.Sistema.DateTime.Now;
                rowDP.IdConexionCreacion = Security.IdConexion;
                //rowDP.UltimaModificacion = null;
                rowDP.IdConexionUltimaModificacion = Security.IdConexion;
                rowDP.IdReservado = 0;
                rowDP.RowId       = Guid.Empty;
                rowDP.IdSucursal  = Security.IdSucursal;
                rowDP.IdEmpresa   = Security.IdEmpresa;
                _dataComprobante.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowDP);
            }

            //Recuperar de detalle de deuda las filas relacionadas con el comprobante a anular
            tsa_ComprobanteDetalleDeudaDataset dataDetalleDeuda = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetList(row.IdComprobante, row.IdTipoDeComprobante, row.Numero);



            //Crear una nueva fila en detalle de deuda para el comprobante de anulacion
            int signo = Convert.ToInt32(mz.erp.businessrules.tsy_TiposDeComprobantes.GetByPk(rowComprobante.IdTipoDeComprobante).signo);

            tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDeudaRow rowDetalleDeuda = _dataComprobante.tsa_ComprobanteDetalleDeuda.Newtsa_ComprobanteDetalleDeudaRow();
            rowDetalleDeuda.IdComprobante       = rowComprobante.IdComprobante;
            rowDetalleDeuda.Cuota               = 1;
            rowDetalleDeuda.IdTipoDeComprobante = rowComprobante.IdTipoDeComprobante;
            rowDetalleDeuda.Numero              = rowComprobante.Numero;
            rowDetalleDeuda.FechaEmision        = mz.erp.businessrules.Sistema.DateTime.Now;
            rowDetalleDeuda.FechaVencimiento    = mz.erp.businessrules.Sistema.DateTime.Now;
            rowDetalleDeuda.Importe             = rowComprobante.Total * signo;
            rowDetalleDeuda.Saldo               = 0;
            rowDetalleDeuda.IdMonedaCierre      = string.Empty;
            rowDetalleDeuda.IdCotizacionCierre  = string.Empty;
            rowDetalleDeuda.FechaCreacion       = mz.erp.businessrules.Sistema.DateTime.Now;
            rowDetalleDeuda.IdConexionCreacion  = Security.IdConexion;
            //rowDetalleDeuda.UltimaModificacion = null;
            rowDetalleDeuda.IdConexionUltimaModificacion = Security.IdConexion;
            rowDetalleDeuda.IdReservado = 0;
            rowDetalleDeuda.RowId       = Guid.Empty;
            rowDetalleDeuda.IdSucursal  = Security.IdSucursal;
            rowDetalleDeuda.IdEmpresa   = Security.IdEmpresa;

            _dataComprobante.tsa_ComprobanteDetalleDeuda.Addtsa_ComprobanteDetalleDeudaRow(rowDetalleDeuda);

            //Asociar en tsa_AplicaciondePagos el comprobante anulado con el comprobante que lo anula
            //el comprobante de pago anulado va como destino y el comrpobante que anula va como origen
            foreach (tsa_ComprobanteDetalleDeudaDataset.tsa_ComprobanteDetalleDeudaRow rowDD in dataDetalleDeuda.tsa_ComprobanteDetalleDeuda.Rows)
            {
                tsa_ComprobantesExDataset.tsa_AplicacionPagosRow rowAplicacionPago = _dataComprobante.tsa_AplicacionPagos.Newtsa_AplicacionPagosRow();
                rowAplicacionPago.IdComprobanteOrigen     = rowDetalleDeuda.IdComprobante;
                rowAplicacionPago.CuotaOrigen             = rowDetalleDeuda.Cuota;
                rowAplicacionPago.IdComprobanteDestino    = rowDD.IdComprobante;
                rowAplicacionPago.IdTipoComprobanteOrigen = rowDetalleDeuda.IdTipoDeComprobante;
                rowAplicacionPago.Importe = rowDD.Importe;
                rowAplicacionPago.IdTipoDeComprobanteDestino = rowDD.IdTipoDeComprobante;
                rowAplicacionPago.CuotaDestino       = rowDD.Cuota;
                rowAplicacionPago.IdEmpresa          = Security.IdEmpresa;
                rowAplicacionPago.IdSucursal         = Security.IdSucursal;
                rowAplicacionPago.FechaCreacion      = mz.erp.businessrules.Sistema.DateTime.Now;
                rowAplicacionPago.IdConexionCreacion = Security.IdConexion;
                //rowAplicacionPago.UltimaModificacion = null;
                rowAplicacionPago.IdConexionUltimaModificacion = Security.IdConexion;
                rowAplicacionPago.IdReservado = 0;
                rowAplicacionPago.RowId       = Guid.Empty;
                _dataComprobante.tsa_AplicacionPagos.Addtsa_AplicacionPagosRow(rowAplicacionPago);
                //Actualizo el saldo del comprobante anulado, lo ponemos en 0
                rowDD.Saldo = 0;
                _dataComprobante.tsa_ComprobanteDetalleDeuda.ImportRow(rowDD);
            }
        }