private void AgregarMovimientos(OrdenesPagoDetalle pago, DetalleFormaPago vPago) { var movimiento = new CajaMovimiento(); movimiento.Id = Guid.NewGuid(); movimiento.Importe = pago.ImportePagado; movimiento.ComprobanteId = _ordenPago.Id; movimiento.TipoComprobante = TipoComprobanteEnum.OrdenPago; movimiento.TipoMovimientoCajaId = vPago.IsDeleted ? TipoMovimientoCajaEnum.AnulaciónOrdenPago : TipoMovimientoCajaEnum.PagoGastos; movimiento.PcAlta = Environment.MachineName; movimiento.CajaId = _cajaActual.Id; if (pago.Efectivo.HasValue && pago.Efectivo != 0) { //Si ImportePagado <> 0 => Pago Normal en Efectivo //Si ImportePagado = 0 => Pago Programado if (pago.ImportePagado.HasValue && pago.ImportePagado != 0) { movimiento.Efectivo = pago.Efectivo; var pagoEfec = vPago as PagoEfectivo; if (pagoEfec.CajaAnterior) { ActualizarCajaAnterior(pagoEfec, _cajaActual, movimiento); } else { ActualizarCajaActual(pago, _cajaActual); } Uow.Cajas.Modificar(_cajaActual); } } if (pago.Cheques.HasValue && pago.Cheques != 0) { movimiento.Cheque = pago.ImportePagado; } if (pago.DepositoEfectivo.HasValue && pago.DepositoEfectivo != 0) { movimiento.Deposito = pago.ImportePagado; } if (pago.Transferencia.HasValue && pago.Transferencia != 0) { movimiento.Transferencia = pago.ImportePagado; } movimiento.FechaAlta = pago.Id == default(Guid) ? _clock.Now : pago.FechaAlta; movimiento.SucursalAltaId = Context.SucursalActual.Id; movimiento.OperadorAltaId = Context.OperadorActual.Id; Uow.CajaMovimientos.Agregar(movimiento); }
private void EliminarPago(DetalleFormaPago pago) { if (pago.Id != Guid.Empty) { pago.IsDeleted = true; } else { _pagos.Remove(pago); } RefrescarPagos(); }
public void AgregarCuentaMovimiento(OrdenesPago ordenPago, DetalleFormaPago pago) { var movimiento = new CuentasMovimiento(); movimiento.ComprobanteId = ordenPago.Id; switch (pago.TipoPago) { case FormaPago.Transferencia: var pagoTrans = pago as PagoTransferencia; movimiento.Debito = pagoTrans.Importe; movimiento.NroMovimiento = pagoTrans.Numero; movimiento.CuentaId = (int)pagoTrans.CuentaId; movimiento.FechaMovimiento = _clock.Now; movimiento.Descripcion = pagoTrans.Descripcion; movimiento.TipoComprobanteId = TipoComprobanteEnum.OrdenPago; movimiento.TipoMovimientoId = (int)TipoMovimientoBancarioEnum.TransferenciaBancariaAProveedores; break; case FormaPago.Deposito: var pagoDeposito = pago as PagoDeposito; movimiento.Debito = pagoDeposito.Importe; movimiento.NroMovimiento = pagoDeposito.Numero; movimiento.CuentaId = (int)pagoDeposito.DepositoCuentaId; movimiento.FechaMovimiento = _clock.Now; movimiento.Descripcion = pagoDeposito.Descripcion; movimiento.TipoComprobanteId = TipoComprobanteEnum.OrdenPago; movimiento.TipoMovimientoId = (int)TipoMovimientoBancarioEnum.DepositoEfectivo; break; } Caja caja = _cajaActual; movimiento.FechaAlta = _clock.Now; movimiento.SucursalAltaId = _context.SucursalActual.Id; movimiento.OperadorAltaId = _context.OperadorActual.Id; _uow.CuentasMovimientos.Agregar(movimiento); }
private void ActualizarPagoEfectivoFijo() { if (_pagos.Count == 0) { var _pago = new PagoEfectivo { TipoPago = FormaPago.Efectivo, EsFijo = true, Importe = Importe, Fecha = _clock.Now}; ImporteDebe = 0; _pagoFijo = _pago; _pagos.Add(_pagoFijo); } else { _pagoFijo = _pagos.FirstOrDefault(p => p.EsFijo); if (_pagoFijo != null && PagoFijoEfectivo != 0) { PagoFijoEfectivo = Importe - this._pagos.Where(p => !p.IsDeleted && !p.EsFijo).Sum(p => p.Importe ?? 0); if (PagoFijoEfectivo == 0) { _pagos.Remove(_pagoFijo); } } else { var total = TotalPagos(); ImporteDebe = Importe - total; } } }
private OrdenesPagoDetalle ObtenerDetalle(DetalleFormaPago pago) { OrdenesPagoDetalle _ordenPagoDetalle; if (pago.Id == Guid.Empty) { _ordenPagoDetalle = new OrdenesPagoDetalle(); _ordenPagoDetalle.Id = Guid.NewGuid(); _ordenPagoDetalle.OrdenPagoId = _ordenPago.Id; } else { _ordenPagoDetalle = _ordenPago.OrdenesPagoDetalles.FirstOrDefault(d => d.Id == pago.Id); } //La caja siempre esta abierta. var cajaActual = this.Context.CajaActual; _ordenPagoDetalle.CajaId = cajaActual.Id; _ordenPagoDetalle.OperadorAutorizaId = operadorAutoriza; _ordenPagoDetalle.Descripcion = pago.Descripcion; //Fechas. _ordenPagoDetalle.FechaAlta = _clock.Now; _ordenPagoDetalle.SucursalAltaId = Context.SucursalActual.Id; _ordenPagoDetalle.OperadorAltaId = Context.OperadorActual.Id; switch (pago.TipoPago) { case FormaPago.Transferencia: _ordenPagoDetalle.FechaPago = _clock.Now; _ordenPagoDetalle.Transferencia = pago.Importe; _ordenPagoDetalle.ImportePagado = pago.Importe; break; case FormaPago.Cheque: _ordenPagoDetalle.FechaPago = _clock.Now; _ordenPagoDetalle.Cheques = pago.Importe; _ordenPagoDetalle.ImportePagado = pago.Importe; break; case FormaPago.Deposito: _ordenPagoDetalle.FechaPago = _clock.Now; _ordenPagoDetalle.DepositoEfectivo = pago.Importe; _ordenPagoDetalle.ImportePagado = pago.Importe; break; case FormaPago.Efectivo: _ordenPagoDetalle.FechaPago = DtpFecha.Value; _ordenPagoDetalle.Efectivo = pago.Importe; //Si FechaPago > hoy => Pago PRogramado con Importe PAgado = 0 _ordenPagoDetalle.ImportePagado = (pago.Fecha.Value.Date == _clock.Now.Date) ? pago.Importe : 0; break; } return _ordenPagoDetalle; }
private void AgregarMovimientos(OrdenesPagoDetalle pago, DetalleFormaPago vPago) { var movimiento = new CajaMovimiento(); movimiento.Id = Guid.NewGuid(); movimiento.Importe = pago.ImportePagado; movimiento.ComprobanteId = _ordenPago.Id; movimiento.TipoComprobante = TipoComprobanteEnum.OrdenPago; movimiento.TipoMovimientoCajaId = vPago.IsDeleted ? TipoMovimientoCajaEnum.AnulaciónOrdenPago : TipoMovimientoCajaEnum.PagoGastos; movimiento.PcAlta = Environment.MachineName; movimiento.CajaId = _cajaActual.Id; if (pago.Efectivo.HasValue && pago.Efectivo != 0) { //Si ImportePagado <> 0 => Pago Normal en Efectivo //Si ImportePagado = 0 => Pago Programado if (pago.ImportePagado.HasValue && pago.ImportePagado != 0) { movimiento.Efectivo = pago.Efectivo; var pagoEfec = vPago as PagoEfectivo; if (pagoEfec.CajaAnterior) { ActualizarCajaAnterior(pagoEfec, _cajaActual, movimiento); } else { ActualizarCajaActual(pago, _cajaActual); } Uow.Cajas.Modificar(_cajaActual); } } if (pago.Cheques.HasValue && pago.Cheques != 0) { movimiento.Cheque = pago.ImportePagado; } if (pago.DepositoEfectivo.HasValue && pago.DepositoEfectivo != 0) { movimiento.Deposito = pago.ImportePagado; } if (pago.Transferencia.HasValue && pago.Transferencia != 0) { movimiento.Transferencia = pago.ImportePagado; } movimiento.FechaAlta = pago.Id == default(Guid) ? _clock.Now : pago.FechaAlta; movimiento.SucursalAltaId = Context.SucursalActual.Id; movimiento.OperadorAltaId = Context.OperadorActual.Id; Uow.CajaMovimientos.Agregar(movimiento); }
private void EliminarPago(DetalleFormaPago pago) { if (pago.Id != Guid.Empty) { pago.IsDeleted = true; } else { _pagos.Remove(pago); } RefrescarPagos(); }
private void CargarOrdenPagoDetalle() { _pagos = new List<DetalleFormaPago>(); var detalleLista = _ordenPago.OrdenesPagoDetalles.Where(d => !d.FechaAnulacion.HasValue).ToList(); foreach (var ordenesPagoDetalle in detalleLista) { DetalleFormaPago pago = new DetalleFormaPago(); if (ordenesPagoDetalle.Efectivo.HasValue && ordenesPagoDetalle.Efectivo > 0) { var pagoEfectivo = new PagoEfectivo(); pagoEfectivo.Id = ordenesPagoDetalle.Id; pagoEfectivo.Importe = ordenesPagoDetalle.Efectivo; pagoEfectivo.TipoPago = FormaPago.Efectivo; pagoEfectivo.Descripcion = ordenesPagoDetalle.Descripcion; pagoEfectivo.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoEfectivo; } if (ordenesPagoDetalle.Cheques.HasValue && ordenesPagoDetalle.Cheques > 0) { var pagoCheque = new PagoCheque(); pagoCheque.Id = ordenesPagoDetalle.Id; pagoCheque.Importe = ordenesPagoDetalle.Cheques; pagoCheque.TipoPago = FormaPago.Cheque; pagoCheque.Descripcion = ordenesPagoDetalle.Descripcion; pagoCheque.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoCheque; } if (ordenesPagoDetalle.DepositoEfectivo.HasValue && ordenesPagoDetalle.DepositoEfectivo > 0) { var pagoDeposito = new PagoDeposito(); var cuentaMov = Uow.CuentasMovimientos.Obtener( c => c.ComprobanteId == _ordenPago.Id && c.Descripcion.Contains(ordenesPagoDetalle.Descripcion)); pagoDeposito.Id = ordenesPagoDetalle.Id; pagoDeposito.DepositoCuentaId = cuentaMov.CuentaId; pagoDeposito.Importe = ordenesPagoDetalle.DepositoEfectivo; pagoDeposito.TipoPago = FormaPago.Deposito; pagoDeposito.Descripcion = ordenesPagoDetalle.Descripcion; pagoDeposito.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoDeposito; } if (ordenesPagoDetalle.Transferencia.HasValue && ordenesPagoDetalle.Transferencia > 0) { var pagoTransferencia = new PagoTransferencia(); var cuentaMov = Uow.CuentasMovimientos.Obtener( c => c.ComprobanteId == _ordenPago.Id && c.Descripcion.Contains(ordenesPagoDetalle.Descripcion)); pagoTransferencia.Id = ordenesPagoDetalle.Id; pagoTransferencia.CuentaId = cuentaMov.CuentaId; pagoTransferencia.Importe = ordenesPagoDetalle.Transferencia; pagoTransferencia.TipoPago = FormaPago.Transferencia; pagoTransferencia.Descripcion = ordenesPagoDetalle.Descripcion; pagoTransferencia.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoTransferencia; } pago.PuedeEliminar = ordenesPagoDetalle.PuedeEliminar(); _pagos.Add(pago); } GridPagos.DataSource = _pagos.ToList(); }
private void OnPagoAgregado(DetalleFormaPago pago) { if (PagoAgregado != null) { PagoAgregado(this, pago); } }
private DetalleFormaPago ObtenerPagoDesdeForm() { DetalleFormaPago pago = new DetalleFormaPago(); if (TabsFormaPago.SelectedPage == this.TabEfectivo) { var pagoEfectivo = new PagoEfectivo(); pagoEfectivo.Importe = this.Importe; pagoEfectivo.TipoPago = FormaPago.Efectivo; pagoEfectivo.Fecha = ChkCajaAnterior.Checked ? _clock.Now : DtpFecha.Value; pagoEfectivo.CajaAnterior = ChkCajaAnterior.Checked; pago = pagoEfectivo; } if (TabsFormaPago.SelectedPage == this.TabTransferencia) { var pagoTransferencia = new PagoTransferencia(); pagoTransferencia.Importe = Importe; pagoTransferencia.TipoPago = FormaPago.Transferencia; pagoTransferencia.CuentaId = CuentaId; pagoTransferencia.Fecha = _clock.Now; pagoTransferencia.Numero = NumeroTransferencia; pagoTransferencia.Descripcion = CbxCuentasTransferencia.Texto + " - " + NumeroTransferencia; pago = pagoTransferencia; } if (TabsFormaPago.SelectedPage == this.TabCheque) { var pagoCheque = new PagoCheque(); pagoCheque.Importe = Importe; pagoCheque.TipoPago = FormaPago.Cheque; pagoCheque.Fecha = _clock.Now; pagoCheque.BancoId = this.ChequeBancoId; pagoCheque.Numero = ChequeNumero; pagoCheque.Descripcion = CbxChequeBanco.Text + " - " + ChequeNumero; pago = pagoCheque; } if (TabsFormaPago.SelectedPage == this.TabDeposito) { var pagoDeposito = new PagoDeposito(); pagoDeposito.Importe = Importe; pagoDeposito.TipoPago = FormaPago.Deposito; pagoDeposito.Fecha = _clock.Now; pagoDeposito.DepositoCuentaId = this.DepositoCuentaId; pagoDeposito.Numero = DepositoNumero; pagoDeposito.Descripcion = CbxDepositoBanco.Text + " - " + DepositoNumero; pago = pagoDeposito; } return pago; }
public DetalleFormaPago ObtenerFormaPago(OrdenesPago ordenPago, OrdenesPagoDetalle ordenesPagoDetalle) { DetalleFormaPago pago = new DetalleFormaPago(); pago.PuedeEliminar = ordenesPagoDetalle.PuedeEliminar(); if (ordenesPagoDetalle.Efectivo.HasValue && ordenesPagoDetalle.Efectivo != 0) { var pagoEfectivo = new PagoEfectivo(); pagoEfectivo.Id = ordenesPagoDetalle.Id; pagoEfectivo.Importe = ordenesPagoDetalle.Efectivo; pagoEfectivo.TipoPago = FormaPago.Efectivo; pagoEfectivo.Descripcion = ordenesPagoDetalle.Descripcion; pagoEfectivo.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoEfectivo; } if (ordenesPagoDetalle.Cheques.HasValue && ordenesPagoDetalle.Cheques != 0) { var pagoCheque = new PagoCheque(); pagoCheque.Id = ordenesPagoDetalle.Id; pagoCheque.Importe = ordenesPagoDetalle.Cheques; pagoCheque.TipoPago = FormaPago.Cheque; pagoCheque.Descripcion = ordenesPagoDetalle.Descripcion; pagoCheque.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoCheque; } if (ordenesPagoDetalle.DepositoEfectivo.HasValue && ordenesPagoDetalle.DepositoEfectivo != 0) { var pagoDeposito = new PagoDeposito(); var cuentaMov = _uow.CuentasMovimientos.Obtener( c => c.ComprobanteId == ordenPago.Id && c.Descripcion.Contains(ordenesPagoDetalle.Descripcion)); pagoDeposito.Id = ordenesPagoDetalle.Id; pagoDeposito.DepositoCuentaId = cuentaMov.CuentaId; pagoDeposito.Importe = ordenesPagoDetalle.DepositoEfectivo; pagoDeposito.TipoPago = FormaPago.Deposito; pagoDeposito.Descripcion = ordenesPagoDetalle.Descripcion; pagoDeposito.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoDeposito; } if (ordenesPagoDetalle.Transferencia.HasValue && ordenesPagoDetalle.Transferencia != 0) { var pagoTransferencia = new PagoTransferencia(); var cuentaMov = _uow.CuentasMovimientos.Obtener( c => c.ComprobanteId == ordenPago.Id && c.Descripcion.Contains(ordenesPagoDetalle.Descripcion)); pagoTransferencia.Id = ordenesPagoDetalle.Id; pagoTransferencia.CuentaId = cuentaMov.CuentaId; pagoTransferencia.Importe = ordenesPagoDetalle.Transferencia; pagoTransferencia.TipoPago = FormaPago.Transferencia; pagoTransferencia.Descripcion = ordenesPagoDetalle.Descripcion; pagoTransferencia.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoTransferencia; } return pago; }
public void AgregarMovimientos(OrdenesPago ordenPago, OrdenesPagoDetalle pago, DetalleFormaPago vPago) { var movimiento = new CajaMovimiento(); var movimientoAnterior = new CajaMovimiento(); if (vPago.IsDeleted) movimientoAnterior = _uow.CajaMovimientos.Obtener(c => c.ComprobanteId == ordenPago.Id); movimiento.Id = Guid.NewGuid(); movimiento.Importe = pago.ImportePagado; movimiento.ComprobanteId = ordenPago.Id; movimiento.TipoComprobante = TipoComprobanteEnum.OrdenPago; movimiento.TipoMovimientoCajaId = vPago.IsDeleted ? movimientoAnterior.TipoMovimientoCajaId : TipoMovimientoCajaEnum.PagoGastos; //movimiento.TipoMovimientoCajaId = vPago.IsDeleted ? TipoMovimientoCajaEnum.AnulaciónOrdenPago : TipoMovimientoCajaEnum.PagoGastos; movimiento.PcAlta = Environment.MachineName; movimiento.CajaId = _cajaActual.Id; if (pago.Efectivo.HasValue && pago.Efectivo != 0) { //Si ImportePagado <> 0 => Pago Normal en Efectivo //Si ImportePagado = 0 => Pago Programado if (pago.ImportePagado.HasValue && pago.ImportePagado != 0) { var pagoEfec = vPago as PagoEfectivo; if (pagoEfec.CajaAnterior) { ActualizarCajaAnterior(ordenPago, pagoEfec, _cajaActual, movimiento); } else { ActualizarCajaActual(pago, movimiento, _cajaActual); } } movimiento.Efectivo = pago.Efectivo; } if (pago.Cheques.HasValue && (pago.Cheques > 0 || pago.Cheques < 0)) { movimiento.Cheque = pago.Cheques; } if (pago.DepositoEfectivo.HasValue && (pago.DepositoEfectivo > 0 || pago.DepositoEfectivo < 0)) { movimiento.Deposito = pago.DepositoEfectivo; } if (pago.Transferencia.HasValue && (pago.Transferencia > 0 || pago.Transferencia < 0)) { movimiento.Transferencia = pago.Transferencia; } // movimiento.FechaAlta = pago.Id == default(Guid) ? _clock.Now : pago.FechaAlta; movimiento.FechaAlta = DateTime.Now;// pago.Id == default(Guid) ? _clock.Now : pago.FechaAlta; movimiento.SucursalAltaId = _context.SucursalActual.Id; movimiento.OperadorAltaId = _context.OperadorActual.Id; _uow.CajaMovimientos.Agregar(movimiento); }
private void CargarOrdenPagoDetalle() { _pagos = new List <DetalleFormaPago>(); var detalleLista = _ordenPago.OrdenesPagoDetalles.Where(d => !d.FechaAnulacion.HasValue).ToList(); foreach (var ordenesPagoDetalle in detalleLista) { DetalleFormaPago pago = new DetalleFormaPago(); if (ordenesPagoDetalle.Efectivo.HasValue && ordenesPagoDetalle.Efectivo > 0) { var pagoEfectivo = new PagoEfectivo(); pagoEfectivo.Id = ordenesPagoDetalle.Id; pagoEfectivo.Importe = ordenesPagoDetalle.Efectivo; pagoEfectivo.TipoPago = FormaPago.Efectivo; pagoEfectivo.Descripcion = ordenesPagoDetalle.Descripcion; pagoEfectivo.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoEfectivo; } if (ordenesPagoDetalle.Cheques.HasValue && ordenesPagoDetalle.Cheques > 0) { var pagoCheque = new PagoCheque(); pagoCheque.Id = ordenesPagoDetalle.Id; pagoCheque.Importe = ordenesPagoDetalle.Cheques; pagoCheque.TipoPago = FormaPago.Cheque; pagoCheque.Descripcion = ordenesPagoDetalle.Descripcion; pagoCheque.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoCheque; } if (ordenesPagoDetalle.DepositoEfectivo.HasValue && ordenesPagoDetalle.DepositoEfectivo > 0) { var pagoDeposito = new PagoDeposito(); var cuentaMov = Uow.CuentasMovimientos.Obtener( c => c.ComprobanteId == _ordenPago.Id && c.Descripcion.Contains(ordenesPagoDetalle.Descripcion)); pagoDeposito.Id = ordenesPagoDetalle.Id; pagoDeposito.DepositoCuentaId = cuentaMov.CuentaId; pagoDeposito.Importe = ordenesPagoDetalle.DepositoEfectivo; pagoDeposito.TipoPago = FormaPago.Deposito; pagoDeposito.Descripcion = ordenesPagoDetalle.Descripcion; pagoDeposito.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoDeposito; } if (ordenesPagoDetalle.Transferencia.HasValue && ordenesPagoDetalle.Transferencia > 0) { var pagoTransferencia = new PagoTransferencia(); var cuentaMov = Uow.CuentasMovimientos.Obtener( c => c.ComprobanteId == _ordenPago.Id && c.Descripcion.Contains(ordenesPagoDetalle.Descripcion)); pagoTransferencia.Id = ordenesPagoDetalle.Id; pagoTransferencia.CuentaId = cuentaMov.CuentaId; pagoTransferencia.Importe = ordenesPagoDetalle.Transferencia; pagoTransferencia.TipoPago = FormaPago.Transferencia; pagoTransferencia.Descripcion = ordenesPagoDetalle.Descripcion; pagoTransferencia.Fecha = ordenesPagoDetalle.FechaPago; pago = pagoTransferencia; } pago.PuedeEliminar = ordenesPagoDetalle.PuedeEliminar(); _pagos.Add(pago); } GridPagos.DataSource = _pagos.ToList(); }