public tsa_ComprobantesExDataset AplicarPago(tsa_ComprobantesExDataset comprobanteDePago, string IdComprobanteOrigen, string IdTipoComprobanteOrigen, short CuotaComprobanteOrigen, decimal montoAImputar)
        {
            tsa_ComprobantesExDataset.tsa_ComprobantesRow rowComprobanteDePago = (tsa_ComprobantesExDataset.tsa_ComprobantesRow)comprobanteDePago.tsa_Comprobantes.Rows[0];
            if (rowComprobanteDePago != null)
            {
                tsa_ComprobantesExDataset.tsa_AplicacionPagosRow row = comprobanteDePago.tsa_AplicacionPagos.Newtsa_AplicacionPagosRow();
                string IdComprobanteDePago     = rowComprobanteDePago.IdComprobante;
                string IdTipoComprobanteDePago = rowComprobanteDePago.IdTipoDeComprobante;

                row.IdComprobanteOrigen     = IdComprobanteOrigen;
                row.CuotaOrigen             = CuotaComprobanteOrigen;
                row.IdTipoComprobanteOrigen = IdTipoComprobanteOrigen;

                row.IdComprobanteDestino       = IdComprobanteDePago;
                row.IdTipoDeComprobanteDestino = IdTipoComprobanteDePago;

                row.Importe = montoAImputar;

                //se deberia modificar
                row.CuotaDestino = 1;

                row.IdEmpresa                    = Security.IdEmpresa;
                row.IdSucursal                   = Security.IdSucursal;
                row.FechaCreacion                = mz.erp.businessrules.Sistema.DateTime.Now;
                row.IdConexionCreacion           = Security.IdConexion;
                row.IdConexionUltimaModificacion = Security.IdConexion;
                row.IdReservado                  = 0;
                row.RowId = Guid.Empty;

                comprobanteDePago.tsa_AplicacionPagos.Addtsa_AplicacionPagosRow(row);
            }
            return(comprobanteDePago);
        }
示例#2
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);
                        //}
                    }
                }
            }



            //}
        }
示例#3
0
 public static tsa_ComprobantesExDataset.tsa_ComprobantesRow SetRowComprobantesDefaultValues(tsa_ComprobantesExDataset.tsa_ComprobantesRow row)
 {
     return((tsa_ComprobantesExDataset.tsa_ComprobantesRow)mz.erp.businessrules.tsa_Comprobantes.SetRowDefaultValues((System.Data.DataRow)row));
 }
示例#4
0
 public static System.Data.DataSet AddRowComprobantes(tsa_ComprobantesExDataset data, tsa_ComprobantesExDataset.tsa_ComprobantesRow row)
 {
     return(mz.erp.dataaccess.tsa_ComprobantesEx.AddRowComprobantes(data, row));
 }
示例#5
0
 public static System.Data.DataSet AddRowComprobantes(tsa_ComprobantesExDataset data, tsa_ComprobantesExDataset.tsa_ComprobantesRow row)
 {
     data.tsa_Comprobantes.Addtsa_ComprobantesRow(row);
     return((System.Data.DataSet)data);
 }
        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);
            }
        }