private void Anular(ProveedorSenia senia) { var operador = this.ObtenerOperadorAdministrador(); if (operador == null) { return; } if (!this.EsOperadorAdmin) { //Guardamos el operador que autorizo la operacion. senia.OperadorAutoriza = operador.Id; } _proveedorNegocio.AnularSeniaProveedor(senia, this.Context.CajaActual, this.Context.OperadorActual.Id, this.Context.SucursalActual.Id); _messageBoxDisplayService.ShowSuccess("Anulación de seña exitosa"); RefrescarHistorial(); }
private void RealizarSenia() { ProveedorSenia senia = new ProveedorSenia(); senia.Id = Guid.NewGuid(); senia.ProveedorId = _proveedor.Id; senia.FechaAlta = _clock.Now; senia.FechaModificacion = _clock.Now; senia.Importe = UcTotalesSeña.TotalPagar; senia.ImporteUsado = 0; senia.OperadorAltaId = Context.OperadorActual.Id; senia.SucursalAltaId = Context.SucursalActual.Id; senia.OperadorModificacionId = Context.OperadorActual.Id; senia.SucursalModificacionId = Context.SucursalActual.Id; if (UcTotalesSeña.HayPagosConCajaAnterior) { var operador = this.ObtenerOperadorAdministrador(); if (operador == null) { return; } } _proveedorNegocio.CrearSeniaProveedor(senia, UcTotalesSeña.Pagos, this.Context.CajaActual, this.Context.OperadorActual.Id, this.Context.SucursalActual.Id); _messageBoxDisplayService.ShowSuccess(Resources.MessageSuccessSeniaExitosa); ReiniciarForm(); }
private void AnularParcial(ProveedorSenia senia) { using (var popup = FormFactory.Create<FrmAnularSenia>(senia.Id)) { var result = popup.ShowDialog(); if (result == DialogResult.OK) { RefrescarHistorial(); } } }
private void RealizarSenia() { try { Caja caja = this.Context.CajaActual; ProveedorSenia seña = new ProveedorSenia(); seña.Id = Guid.NewGuid(); seña.ProveedorId = _proveedor.Id; seña.FechaAlta = _clock.Now; seña.FechaModificacion = _clock.Now; seña.Importe = UcTotalesSeña.TotalPagar; seña.ImporteUsado = 0; seña.OperadorAltaId = Context.OperadorActual.Id; seña.SucursalAltaId = Context.SucursalActual.Id; seña.OperadorModificacionId = Context.OperadorActual.Id; seña.SucursalModificacionId = Context.SucursalActual.Id; decimal? efectivo = 0; decimal? tarjeta = 0; decimal? cheque = 0; decimal? deposito = 0; foreach (var pago in UcTotalesSeña.Pagos) { switch (pago.TipoPago) { case FormaPago.Efectivo: efectivo += pago.Importe; break; case FormaPago.Tarjeta: tarjeta += pago.Importe; break; case FormaPago.Cheque: cheque += pago.Importe; break; case FormaPago.Deposito: deposito += pago.Importe; break; } } if (efectivo > 0 && ChkCajaAnterior.Checked == false) { //creo la caja movimiento para los pagos en efectivo que tocan la caja actual CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.SeñaProveedor; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.SeñaProveedor; cajaMovimiento.ComprobanteId = seña.Id; cajaMovimiento.Importe = efectivo; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.FechaModificacion = _clock.Now; cajaMovimiento.PcAlta = System.Environment.MachineName; cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id; cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id; cajaMovimiento.OperadorModificacionId = Context.OperadorActual.Id; cajaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; //descontar de la caja if (caja.Egresos == null) caja.Egresos = 0; if (ChkCajaAnterior.Checked == false) caja.Egresos += (float?)efectivo; if (caja.Saldo == null) caja.Saldo = 0; caja.Saldo -= (float?)efectivo; caja.FechaModificacion = _clock.Now; caja.SucursalModificacionId = Context.SucursalActual.Id;//Sucursal del operador caja.OperadorModificacionId = (Context.OperadorActual.Id);//Id el operador //traer la caja if (cajaMovimiento.Efectivo == null) cajaMovimiento.Efectivo = 0; cajaMovimiento.Cheque = cheque; cajaMovimiento.Tarjeta = tarjeta; cajaMovimiento.Deposito = deposito; cajaMovimiento.Efectivo = efectivo; efectivo = 0; Uow.CajaMovimientos.Agregar(cajaMovimiento); } if (tarjeta > 0 || deposito > 0 || cheque > 0 || efectivo > 0) { //creo la caja movimiento para los pagos en efectivo que tocan la caja actual CajaMovimiento cajaMovimientoAnterior = new CajaMovimiento(); cajaMovimientoAnterior.Id = Guid.NewGuid(); cajaMovimientoAnterior.CajaId = caja.Id; cajaMovimientoAnterior.TipoComprobante = TipoComprobanteEnum.SeñaProveedor; cajaMovimientoAnterior.TipoMovimientoCajaId = TipoMovimientoCajaEnum.SeñaProveedorCajaAnterior; cajaMovimientoAnterior.ComprobanteId = seña.Id; cajaMovimientoAnterior.Importe = tarjeta + deposito + cheque + efectivo; cajaMovimientoAnterior.FechaAlta = _clock.Now; cajaMovimientoAnterior.FechaModificacion = _clock.Now; cajaMovimientoAnterior.PcAlta = System.Environment.MachineName; cajaMovimientoAnterior.OperadorAltaId = Context.OperadorActual.Id; cajaMovimientoAnterior.SucursalAltaId = Context.SucursalActual.Id; cajaMovimientoAnterior.OperadorModificacionId = Context.OperadorActual.Id; cajaMovimientoAnterior.SucursalModificacionId = Context.SucursalActual.Id; if (efectivo > 0) { if (cajaMovimientoAnterior.Efectivo == null) cajaMovimientoAnterior.Efectivo = 0; cajaMovimientoAnterior.Efectivo += efectivo; cajaMovimientoAnterior.Cheque += cheque; cajaMovimientoAnterior.Tarjeta += tarjeta; cajaMovimientoAnterior.Deposito += deposito; if (caja.Saldo == null) caja.Saldo = 0; caja.Saldo -= (float?)efectivo; } if (tarjeta > 0) { if (cajaMovimientoAnterior.Tarjeta == null) cajaMovimientoAnterior.Tarjeta = 0; cajaMovimientoAnterior.Tarjeta += tarjeta; } if (cheque > 0) { if (cajaMovimientoAnterior.Cheque == null) cajaMovimientoAnterior.Cheque = 0; cajaMovimientoAnterior.Cheque += cheque; } if (deposito > 0) { if (cajaMovimientoAnterior.Deposito == null) cajaMovimientoAnterior.Deposito = 0; cajaMovimientoAnterior.Deposito += deposito; } Uow.CajaMovimientos.Agregar(cajaMovimientoAnterior); } Uow.Cajas.Modificar(caja); Uow.ProveedoresSenias.Agregar(seña); Uow.Commit(); _messageBoxDisplayService.ShowSuccess(Resources.MessageSuccessSeniaExitosa); } catch (Exception) { throw; } }
public void CrearSeniaProveedor(ProveedorSenia senia, IList<VentaPago> pagos, Caja caja, Guid operadorId, int sucursalId) { using (var uow = UowFactory.Create<ILaPazUow>()) { decimal? efectivo = 0; decimal? efectivoCajaAnterior = 0; decimal? tarjeta = 0; decimal? cheque = 0; decimal? deposito = 0; decimal? transferencia = 0; foreach (var pago in pagos) { switch (pago.TipoPago) { case FormaPago.Efectivo: efectivo += pago.Importe; break; case FormaPago.EfectivoCajaAnterior: efectivoCajaAnterior += pago.Importe; break; case FormaPago.Tarjeta: tarjeta += pago.Importe; break; case FormaPago.Cheque: cheque += pago.Importe; break; case FormaPago.Deposito: deposito += pago.Importe; break; case FormaPago.Transferencia: transferencia += pago.Importe; break; } } if (efectivo > 0) { //creo la caja movimiento para los pagos en efectivo que tocan la caja actual CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.SeñaProveedor; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.SeñaProveedor; cajaMovimiento.ComprobanteId = senia.Id; cajaMovimiento.Importe = efectivo; cajaMovimiento.ImpFac = efectivo; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.FechaModificacion = _clock.Now; cajaMovimiento.PcAlta = System.Environment.MachineName; cajaMovimiento.OperadorAltaId = operadorId; cajaMovimiento.SucursalAltaId = sucursalId; cajaMovimiento.OperadorModificacionId = operadorId; cajaMovimiento.SucursalModificacionId = sucursalId; //descontar de la caja if (caja.Egresos == null) caja.Egresos = 0; caja.Egresos += (float?)efectivo; if (caja.Saldo == null) caja.Saldo = 0; caja.Saldo -= (float?)efectivo; caja.FechaModificacion = _clock.Now; caja.SucursalModificacionId = sucursalId;//Sucursal del operador caja.OperadorModificacionId = (operadorId);//Id el operador //traer la caja if (cajaMovimiento.Efectivo == null) cajaMovimiento.Efectivo = 0; cajaMovimiento.Efectivo = efectivo; uow.CajaMovimientos.Agregar(cajaMovimiento); } if (tarjeta > 0 || deposito > 0 || cheque > 0 || efectivoCajaAnterior > 0 || transferencia > 0) { //creo la caja movimiento para los pagos en efectivo que tocan la caja actual CajaMovimiento cajaMovimientoAnterior = new CajaMovimiento(); cajaMovimientoAnterior.Id = Guid.NewGuid(); cajaMovimientoAnterior.CajaId = caja.Id; cajaMovimientoAnterior.TipoComprobante = TipoComprobanteEnum.SeñaProveedor; cajaMovimientoAnterior.TipoMovimientoCajaId = TipoMovimientoCajaEnum.SeñaProveedorCajaAnterior; cajaMovimientoAnterior.ComprobanteId = senia.Id; cajaMovimientoAnterior.Importe = tarjeta + deposito + cheque + efectivoCajaAnterior + transferencia; cajaMovimientoAnterior.ImpFac = tarjeta + deposito + cheque + efectivoCajaAnterior + transferencia; cajaMovimientoAnterior.FechaAlta = _clock.Now; cajaMovimientoAnterior.FechaModificacion = _clock.Now; cajaMovimientoAnterior.PcAlta = System.Environment.MachineName; cajaMovimientoAnterior.OperadorAltaId = operadorId; cajaMovimientoAnterior.SucursalAltaId = sucursalId; cajaMovimientoAnterior.OperadorModificacionId = operadorId; cajaMovimientoAnterior.SucursalModificacionId = sucursalId; if (efectivoCajaAnterior > 0) { if (cajaMovimientoAnterior.Efectivo == null) cajaMovimientoAnterior.Efectivo = 0; cajaMovimientoAnterior.Efectivo += efectivoCajaAnterior; if (caja.Saldo == null) caja.Saldo = 0; caja.Saldo -= (float?)efectivo; } if (tarjeta > 0) { if (cajaMovimientoAnterior.Tarjeta == null) cajaMovimientoAnterior.Tarjeta = 0; cajaMovimientoAnterior.Tarjeta += tarjeta; } if (cheque > 0) { if (cajaMovimientoAnterior.Cheque == null) cajaMovimientoAnterior.Cheque = 0; cajaMovimientoAnterior.Cheque += cheque; } if (deposito > 0) { if (cajaMovimientoAnterior.Deposito == null) cajaMovimientoAnterior.Deposito = 0; cajaMovimientoAnterior.Deposito += deposito; } if (transferencia > 0) { if (cajaMovimientoAnterior.Transferencia == null) cajaMovimientoAnterior.Transferencia = 0; cajaMovimientoAnterior.Transferencia += transferencia; } uow.CajaMovimientos.Agregar(cajaMovimientoAnterior); } //Guardamos el movimiento del depósito foreach (var pago in pagos) { switch (pago.TipoPago) { case FormaPago.Cheque: // HACER ALGO break; case FormaPago.Deposito: var pagoDeposito = pago as VentaPagoDeposito; CuentasMovimiento cuentasMovimiento = new CuentasMovimiento(); cuentasMovimiento.CuentaId = pagoDeposito.CuentaId ?? 0; cuentasMovimiento.TipoMovimientoId = 1;//Deposito a proveedor cuentasMovimiento.FechaMovimiento = pagoDeposito.Fecha; cuentasMovimiento.EstadoMovimientoCuentaId = 0; cuentasMovimiento.TipoComprobanteId = TipoComprobanteEnum.SeñaProveedor; cuentasMovimiento.ComprobanteId = senia.Id; cuentasMovimiento.MonedaId = 0; cuentasMovimiento.NroMovimiento = pagoDeposito.Numero; cuentasMovimiento.Descripcion = "DEPOSITO SEÑA NRO " + pagoDeposito.Numero.ToString(); cuentasMovimiento.FechaCobro = _clock.Now; cuentasMovimiento.Debito = pago.Importe; cuentasMovimiento.Credito = 0; cuentasMovimiento.TipoCarga = 1; cuentasMovimiento.CajaId = caja.Id; cuentasMovimiento.FechaAlta = _clock.Now; cuentasMovimiento.OperadorAltaId = operadorId; cuentasMovimiento.SucursalAltaId = sucursalId; uow.CuentasMovimientos.Agregar(cuentasMovimiento); break; case FormaPago.Transferencia: var pagoTransferencia = pago as VentaPagoTransferencia; CuentasMovimiento cuentasMovimientoTransferecia = new CuentasMovimiento(); cuentasMovimientoTransferecia.CuentaId = pagoTransferencia.CuentaId ?? 0; cuentasMovimientoTransferecia.TipoMovimientoId = 1;//Deposito a proveedor cuentasMovimientoTransferecia.FechaMovimiento = pagoTransferencia.Fecha; cuentasMovimientoTransferecia.EstadoMovimientoCuentaId = 0; cuentasMovimientoTransferecia.TipoComprobanteId = TipoComprobanteEnum.SeñaProveedor; cuentasMovimientoTransferecia.ComprobanteId = senia.Id; cuentasMovimientoTransferecia.MonedaId = 0; cuentasMovimientoTransferecia.NroMovimiento = pagoTransferencia.Numero; cuentasMovimientoTransferecia.Descripcion = "TRANSFERENCIA SEÑA NRO " + pagoTransferencia.Numero.ToString(); cuentasMovimientoTransferecia.FechaCobro = _clock.Now; cuentasMovimientoTransferecia.Debito = pago.Importe; cuentasMovimientoTransferecia.Credito = 0; cuentasMovimientoTransferecia.TipoCarga = 1; cuentasMovimientoTransferecia.CajaId = caja.Id; cuentasMovimientoTransferecia.FechaAlta = _clock.Now; cuentasMovimientoTransferecia.OperadorAltaId = operadorId; cuentasMovimientoTransferecia.SucursalAltaId = sucursalId; uow.CuentasMovimientos.Agregar(cuentasMovimientoTransferecia); break; } } uow.Cajas.Modificar(caja); uow.ProveedoresSenias.Agregar(senia); uow.Commit(); } }
public void AnularSeniaProveedor(ProveedorSenia senia, Caja caja, Guid operadorId, int sucursalId) { using (var uow = UowFactory.Create<ILaPazUow>()) { var diferencia = senia.Importe - senia.ImporteUsado; if (diferencia == 0) return; senia.ImporteUsado = senia.Importe; senia.FechaAnulacion = _clock.Now; senia.FechaModificacion = _clock.Now; senia.OperadorModificacionId = operadorId; senia.SucursalModificacionId = sucursalId; uow.ProveedoresSenias.Modificar(senia); if (caja.Ingresos == null) caja.Ingresos = 0; caja.Egresos += (float?)diferencia; if (caja.Saldo == null) caja.Saldo = 0; caja.Saldo -= (float?)diferencia; caja.FechaModificacion = _clock.Now; caja.SucursalModificacionId = sucursalId; caja.OperadorModificacionId = operadorId; uow.Cajas.Modificar(caja); //Se deben buscar todas las cajasMovimientos var cajaMovimientoAnterior = uow.CajaMovimientos.Listado().Where(cm => cm.ComprobanteId == senia.Id); foreach (CajaMovimiento movimiento in cajaMovimientoAnterior) { CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulacionSeniaProveedor; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.SeñaCliente; cajaMovimiento.ComprobanteId = senia.Id; cajaMovimiento.Senia = 0; //analizar para Anulaciones Parciales cajaMovimiento.Importe = movimiento.Importe; cajaMovimiento.Efectivo = movimiento.Efectivo; cajaMovimiento.Tarjeta = movimiento.Tarjeta; cajaMovimiento.Cheque = movimiento.Cheque; cajaMovimiento.Deposito = movimiento.Deposito; cajaMovimiento.ImpFac = 0; cajaMovimiento.PcAlta = Environment.MachineName; cajaMovimiento.SucursalAltaId = sucursalId; cajaMovimiento.OperadorAltaId = operadorId; cajaMovimiento.FechaAlta = _clock.Now; uow.CajaMovimientos.Agregar(cajaMovimiento); } uow.Commit(); } }