private void ImprimirComprobante(ClienteMontoFavor clienteMontoFavor, string formaPagoComprobante) { using (var crearSenia = FormFactory.Create <FrmComprobante>()) { crearSenia._concepto = clienteMontoFavor.Concepto;// "Seña de Cliente"; crearSenia._LCN = clienteMontoFavor.LCN; crearSenia._formaPago = formaPagoComprobante; var conv = new Conversion(); var monto = clienteMontoFavor.Importe - clienteMontoFavor.ImpOcupado; crearSenia._montoTexto = conv.enletras(monto.ToString());// conv.enletras(UcTotalesSenia.TotalPagar.ToString()); crearSenia.ShowDialog(); } }
private void BtnGuardar_Click(object sender, EventArgs e) { if (Monto != UcTotalesSenia.TotalPagar) { _messageBoxDisplayService.ShowError("Los montos no coiniden"); return; } int sucursal = 1; ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor(); clienteMontoFavor.Id = Guid.NewGuid(); clienteMontoFavor.ClienteId = _cliente.Id; clienteMontoFavor.FechaComprobante = _clock.Now; clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente; clienteMontoFavor.LCN = "R" + sucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0'); clienteMontoFavor.Concepto = "Seña " + clienteMontoFavor.LCN; clienteMontoFavor.Importe = UcTotalesSenia.TotalPagar; clienteMontoFavor.ImpOcupado = 0; clienteMontoFavor.Observaciones = TipoComprobanteEnum.SeñaCliente.ToString(); clienteMontoFavor.FechaAlta = _clock.Now; clienteMontoFavor.OperadorAltaId = Context.OperadorActual.Id; clienteMontoFavor.SucursalAltaId = 2; Uow.ClientesMontosFavor.Agregar(clienteMontoFavor); Uow.Commit(); _messageBoxDisplayService.ShowSuccess("Seña generada con éxito"); var crearSenia = FormFactory.Create <FrmComprobante>(); crearSenia._concepto = "Seña de Cliente"; crearSenia._LCN = clienteMontoFavor.LCN; var conv = new Conversion(); crearSenia._montoTexto = conv.enletras(UcTotalesSenia.TotalPagar.ToString()); //crearSenia._montoTexto = "cien"; //crearSenia.Show(); BuscarHistorial(); Limpiar(); }
private void GenerarClienteMontoFavor() { //TODO:Agregar el numero de sucursal a la tabla el mismo no coincide con el id. int numeroDeSucursal = Context.SucursalActual.SucursalNumero ?? 1;// 1; ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor(); clienteMontoFavor.Id = Guid.NewGuid(); _notaCreditoId = clienteMontoFavor.Id; clienteMontoFavor.OperadorAutoriza = _operadorIdAutoriza; clienteMontoFavor.ClienteId = _venta.ClienteId; clienteMontoFavor.FechaComprobante = _clock.Now; clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.NotaCrédito; clienteMontoFavor.LCN = "R" + numeroDeSucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0'); _lcn = clienteMontoFavor.LCN; clienteMontoFavor.Concepto = "Nota de crédito " + clienteMontoFavor.LCN; clienteMontoFavor.Importe = Total; clienteMontoFavor.ImpOcupado = 0; clienteMontoFavor.Observaciones = TipoComprobanteEnum.NotaCrédito.ToString(); clienteMontoFavor.FechaAlta = _clock.Now; clienteMontoFavor.OperadorAltaId = Context.OperadorActual.Id; clienteMontoFavor.SucursalAltaId = Context.SucursalActual.Id; Uow.ClientesMontosFavor.Agregar(clienteMontoFavor); foreach (VentaDetalleDevolucion devuleto in Devuletos) { ClientesMontosFavorDetalle clientesMontosAfavorDetalle = new ClientesMontosFavorDetalle(); clientesMontosAfavorDetalle.Id = Guid.NewGuid(); clientesMontosAfavorDetalle.ClientesMontosFavorId = clienteMontoFavor.Id; clientesMontosAfavorDetalle.TitulosId = devuleto.TituloId; clientesMontosAfavorDetalle.CantidadPropia = devuleto.CantidadPropia; clientesMontosAfavorDetalle.CantidadConsig = devuleto.CantidadConsignada; clientesMontosAfavorDetalle.FechaAlta = _clock.Now; clientesMontosAfavorDetalle.SucursalAltaId = Context.SucursalActual.Id; clientesMontosAfavorDetalle.OperadorAltaId = Context.OperadorActual.Id; Uow.ClientesMontosFavorDetalles.Agregar(clientesMontosAfavorDetalle); } var cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(cm => cm.ComprobanteId == _venta.Id); var montoDevolucion = Total; CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = this.Context.CajaActual.Id; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.CreditoFavorPorNc; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.NotaCrédito; cajaMovimiento.ComprobanteId = clienteMontoFavor.Id; cajaMovimiento.Importe = Total; cajaMovimiento.ImpFac = Total; cajaMovimiento.Efectivo = cajaMovimientoAnterior.Efectivo >= montoDevolucion ? montoDevolucion : cajaMovimientoAnterior.Efectivo; montoDevolucion -= cajaMovimiento.Efectivo; if (montoDevolucion > 0) { cajaMovimiento.Tarjeta = (cajaMovimientoAnterior.Tarjeta >= montoDevolucion) ? montoDevolucion : cajaMovimientoAnterior.Tarjeta; montoDevolucion -= cajaMovimiento.Tarjeta; } if (montoDevolucion > 0) { cajaMovimiento.Cheque = (cajaMovimientoAnterior.Cheque >= montoDevolucion ? montoDevolucion : cajaMovimientoAnterior.Cheque); montoDevolucion -= cajaMovimiento.Cheque; } if (montoDevolucion > 0) { cajaMovimiento.Deposito = (cajaMovimientoAnterior.Deposito >= montoDevolucion ? montoDevolucion : cajaMovimientoAnterior.Deposito); montoDevolucion -= cajaMovimiento.Deposito; } if (montoDevolucion > 0) { cajaMovimiento.Transferencia = (cajaMovimientoAnterior.Transferencia >= montoDevolucion ? montoDevolucion : cajaMovimientoAnterior.Transferencia); montoDevolucion -= cajaMovimiento.Transferencia; } cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id; cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id; Uow.CajaMovimientos.Agregar(cajaMovimiento); }
private void BtnGuardar_Click(object sender, EventArgs e) { if (_venta.EstadoVentaId == EstadoVentaEnum.Anulada) { _messageBoxDisplayService.ShowWarning("Factura ya anulada"); return; } var operador = this.ObtenerOperadorAdministrador(); if (operador == null) { return; } if (!this.EsOperadorAdmin) { //Guardamos el operador que autorizo la operacion. _venta.OperadorAutoriza = operador.Id; } //Anular la Venta _venta.EstadoVentaId = EstadoVentaEnum.Anulada; _venta.FechaModificacion = _clock.Now; _venta.OperadorModificacionId = Context.OperadorActual.Id; _venta.SucursalModificacionId = Context.SucursalActual.Id; Uow.Ventas.Modificar(_venta); //devolver el stock foreach (VentaDetalleDto ventaDetalleDto in _ventaDetalleDto) { var tituloStock = Uow.TitulosStock.Obtener( ts => ts.TituloId == ventaDetalleDto.TituloId && ts.SucursalId == Context.SucursalActual.Id); tituloStock.StkPr += ventaDetalleDto.CantidadPropia; tituloStock.StkCn += ventaDetalleDto.CantidadConsig; tituloStock.FechaModificacion = _clock.Now; tituloStock.OperadorModificacionId = Context.OperadorActual.Id; tituloStock.SucursalModificacionId = Context.SucursalActual.Id; Uow.TitulosStock.Modificar(tituloStock); } //Devovler caja Caja caja = this.Context.CajaActual; if (caja.Ingresos == null) { caja.Ingresos = 0; } caja.Ingresos -= (float?)_venta.TotalPagado; if (caja.Saldo == null) { caja.Saldo = 0; } caja.Saldo -= (float?)_venta.TotalPagado; caja.FechaModificacion = _clock.Now; caja.SucursalModificacionId = Context.SucursalActual.Id; //Sucursal del operador caja.OperadorModificacionId = (Context.OperadorActual.Id); //Id el operador Uow.Cajas.Modificar(caja); //CajaMovimiento var cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(c => c.ComprobanteId == _venta.Id); CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; if (_venta.CondicionVentaId == CondicionVentaEnum.CuentaCorriente) { cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónFacCtaCte; } else { cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónFacContado; } cajaMovimiento.TipoComprobante = TipoComprobanteEnum.FacturaAnulada; cajaMovimiento.ComprobanteId = _venta.Id; cajaMovimiento.Senia = cajaMovimientoAnterior.Senia; cajaMovimiento.Importe = cajaMovimientoAnterior.Importe; cajaMovimiento.ImpFac = cajaMovimientoAnterior.ImpFac; cajaMovimiento.Recargo = cajaMovimientoAnterior.Recargo; cajaMovimiento.Efectivo = cajaMovimientoAnterior.Efectivo; cajaMovimiento.Tarjeta = cajaMovimientoAnterior.Tarjeta; cajaMovimiento.Cheque = cajaMovimientoAnterior.Cheque; cajaMovimiento.Deposito = cajaMovimientoAnterior.Deposito; cajaMovimiento.PcAlta = Environment.MachineName; cajaMovimiento.SucursalAltaId = _venta.SucursalAltaId; cajaMovimiento.OperadorAltaId = _venta.OperadorAltaId; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; //Sucursal del operador cajaMovimiento.OperadorModificacionId = (Context.OperadorActual.Id); //Id el operador cajaMovimiento.FechaModificacion = _clock.Now; Uow.CajaMovimientos.Agregar(cajaMovimiento); //MovimientoCliente ClientesMovimiento clientesMovimiento = new ClientesMovimiento(); clientesMovimiento.IdCliente = _venta.ClienteId; clientesMovimiento.IdTipoComprobante = (int)TipoComprobanteEnum.FacturaAnulada; clientesMovimiento.IdComprobante = _venta.Id; clientesMovimiento.Concepto = TipoComprobanteEnum.FacturaAnulada.ToString(); clientesMovimiento.Debe = _venta.TotalPagado; clientesMovimiento.FechaGeneracion = _clock.Now; clientesMovimiento.FechaAlta = _clock.Now; clientesMovimiento.SucursalAltaId = Context.SucursalActual.Id; //Sucursal del operador clientesMovimiento.OperadorAltaId = (Context.OperadorActual.Id); //Id el operador Uow.ClientesMovimientos.Agregar(clientesMovimiento); //Actulizar señas de cliente var monto = cajaMovimientoAnterior.Senia; if (monto > 0 && monto != null) { int sucursal = 1; ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor(); clienteMontoFavor.Id = Guid.NewGuid(); clienteMontoFavor.ClienteId = _venta.ClienteId; clienteMontoFavor.FechaComprobante = _clock.Now; clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente; clienteMontoFavor.LCN = "R" + sucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0'); clienteMontoFavor.Concepto = "Seña " + clienteMontoFavor.LCN; clienteMontoFavor.Importe = monto; clienteMontoFavor.ImpOcupado = 0; clienteMontoFavor.Observaciones = TipoComprobanteEnum.SeñaCliente.ToString() + "Por anulación de factura"; clienteMontoFavor.FechaAlta = _clock.Now; clienteMontoFavor.OperadorAltaId = Context.OperadorActual.Id; clienteMontoFavor.SucursalAltaId = Context.SucursalActual.Id; Uow.ClientesMontosFavor.Agregar(clienteMontoFavor); } //si la venta fue en CuentaCorriente, Anular las cuotas if (_venta.CondicionVentaId == CondicionVentaEnum.CuentaCorriente) { var cuotas = Uow.ClientesCuentasCorrientes.Listado().Where(cc => cc.VentaId == _venta.Id); foreach (ClienteCuentaCorriente cuota in cuotas) { cuota.Pagado = cuota.Importe; cuota.Observaciones = "Venta Anulada"; cuota.FechaModificacion = _clock.Now; cuota.OperadorModificacionId = Context.OperadorActual.Id; cuota.SucursalModificacionId = Context.SucursalActual.Id; Uow.ClientesCuentasCorrientes.Modificar(cuota); } } //Si la venta fue con tarjeta, setear en 0 el estado del movimiento if (cajaMovimientoAnterior.Tarjeta != null) { var tarjetamovimiento = Uow.TarjetasMovimientos.Obtener(t => t.CajaMovimientoId == cajaMovimientoAnterior.Id); if (tarjetamovimiento != null) { tarjetamovimiento.Estado = 0; tarjetamovimiento.FechaModificacion = _clock.Now; tarjetamovimiento.OperadorModificacionId = Context.OperadorActual.Id; tarjetamovimiento.SucursalModificacionId = Context.SucursalActual.Id; Uow.TarjetasMovimientos.Modificar(tarjetamovimiento); } } //si la venta fue con deposito, setear la columna debito=credito para que se anule if (cajaMovimientoAnterior.Deposito != null) { var cuentaMovimiento = Uow.CuentasMovimientos.Obtener(t => t.ComprobanteId == _venta.Id); if (cuentaMovimiento != null) { cuentaMovimiento.Debito = cuentaMovimiento.Credito; cuentaMovimiento.FechaModificacion = _clock.Now; cuentaMovimiento.OperadorModificacionId = Context.OperadorActual.Id; cuentaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; Uow.CuentasMovimientos.Modificar(cuentaMovimiento); } } //si la venta fue con Cheque, setear estadocheque=1 if (cajaMovimientoAnterior.Cheque != null) { var chequeTercero = Uow.ChequesTercero.Obtener(t => t.CajaMovimientoId == cajaMovimientoAnterior.Id); if (chequeTercero != null) { chequeTercero.EstadoChequeId = 1; chequeTercero.FechaModificacion = _clock.Now; chequeTercero.OperadorModificacionId = Context.OperadorActual.Id; chequeTercero.SucursalModificacionId = Context.SucursalActual.Id; Uow.ChequesTercero.Modificar(chequeTercero); } } Uow.Commit(); _messageBoxDisplayService.ShowSuccess("Factura anulada correctamente"); //this.Close(); OnAccionTerminada(); }
private void Anular(ClienteMontoFavor senia) { //Utiliar toda la seña if (senia.TipoComprobanteId == TipoComprobanteEnum.SeñaCliente) { var diferencia = senia.Importe - senia.ImpOcupado; if (diferencia == 0) { return; } senia.ImpOcupado = senia.Importe; senia.FechaAnulacion = _clock.Now; senia.FechaModificacion = _clock.Now; senia.OperadorModificacionId = Context.OperadorActual.Id; senia.SucursalModificacionId = Context.SucursalActual.Id; Uow.ClientesMontosFavor.Modificar(senia); //generar cajamovimientno Caja caja = this.Context.CajaActual; 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 = Context.SucursalActual.Id; //Sucursal del operador caja.OperadorModificacionId = (Context.OperadorActual.Id); //Id el operador Uow.Cajas.Modificar(caja); CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónSeña; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.SeñaCliente; cajaMovimiento.ComprobanteId = senia.Id; cajaMovimiento.Senia = 0; cajaMovimiento.Importe = diferencia; cajaMovimiento.ImpFac = 0; cajaMovimiento.PcAlta = Environment.MachineName; cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id; //Sucursal del operador cajaMovimiento.OperadorAltaId = (Context.OperadorActual.Id); //Id el operador cajaMovimiento.FechaAlta = _clock.Now; Uow.CajaMovimientos.Agregar(cajaMovimiento); //Generaregreso?? Uow.Commit(); _messageBoxDisplayService.ShowSuccess("Anulación de seña exitosa"); BuscarHistorial(); } else { _messageBoxDisplayService.ShowError("No puede anular una nota de crédito"); } }
private void Anular(ClienteMontoFavor senia) { //Utiliar toda la seña //if (senia.TipoComprobanteId == TipoComprobanteEnum.SeñaCliente) //{ var operador = this.ObtenerOperadorAdministrador(); if (operador == null) { return; } if (!this.EsOperadorAdmin) { //Guardamos el operador que autorizo la operacion. senia.OperadorAutoriza = operador.Id; } var diferencia = senia.Importe - senia.ImpOcupado; if (diferencia == 0) { return; } Uow.ClientesMontosFavor.Modificar(senia); var cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(cm => cm.ComprobanteId == senia.Id); if (cajaMovimientoAnterior == null) { //notas de credito no generan caja movimiento? } if ((cajaMovimientoAnterior.Tarjeta != null || cajaMovimientoAnterior.Tarjeta == 0) || (cajaMovimientoAnterior.Cheque != null || cajaMovimientoAnterior.Cheque == 0) || (cajaMovimientoAnterior.Deposito != null || cajaMovimientoAnterior.Deposito == 0)) { decimal?devolucion = 0; if (diferencia > ((cajaMovimientoAnterior.Tarjeta ?? 0) + (cajaMovimientoAnterior.Cheque ?? 0) + (cajaMovimientoAnterior.Deposito ?? 0) + (cajaMovimientoAnterior.Transferencia ?? 0))) { devolucion = diferencia - ((cajaMovimientoAnterior.Tarjeta ?? 0) + (cajaMovimientoAnterior.Cheque ?? 0) + (cajaMovimientoAnterior.Deposito ?? 0) + (cajaMovimientoAnterior.Transferencia ?? 0)); //Actualizacion seña using (var crearComprobante = FormFactory.Create <FrmComprobante>()) { _messageBoxDisplayService.ShowWarning("Solo se puede devolver un monto en efectivo de: $" + devolucion.Value.ToString("N2")); crearComprobante._concepto = "Actualizacion de seña"; crearComprobante._LCN = senia.LCN; var conv = new Conversion(); crearComprobante._montoTexto = conv.enletras((diferencia - devolucion).ToString()); crearComprobante._montoActualizado = (diferencia - devolucion); var formapago = ""; if (cajaMovimientoAnterior.Tarjeta > 0) { formapago += "Tarjeta "; } if (cajaMovimientoAnterior.Cheque > 0) { formapago += "Cheque "; } if (cajaMovimientoAnterior.Deposito > 0) { formapago += "Deposito "; } if (cajaMovimientoAnterior.Transferencia > 0) { formapago += "Transferencia "; } crearComprobante._formaPago = formapago + (diferencia - devolucion).ToString(); crearComprobante.ShowDialog(); } diferencia = devolucion; } else { _messageBoxDisplayService.ShowError("No se puede anular una seña que no fue generada en efectivo"); return; //devolucion = diferencia; //anular seña } } senia.ImpOcupado += diferencia; //senia.Importe; if (senia.ImpOcupado == senia.Importe) { senia.FechaAnulacion = _clock.Now; } senia.FechaModificacion = _clock.Now; senia.OperadorModificacionId = Context.OperadorActual.Id; senia.SucursalModificacionId = Context.SucursalActual.Id; //generar cajamovimientno Caja caja = this.Context.CajaActual; 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 = Context.SucursalActual.Id; caja.OperadorModificacionId = (Context.OperadorActual.Id); Uow.Cajas.Modificar(caja); if (senia.TipoComprobanteId == TipoComprobanteEnum.SeñaCliente) { //var cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(cm => cm.ComprobanteId == senia.Id); //cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(cm => cm.ComprobanteId == senia.Id); CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónSeña; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.SeñaCliente; cajaMovimiento.ComprobanteId = senia.Id; cajaMovimiento.Senia = 0; cajaMovimiento.Importe = diferencia; // cajaMovimiento.Efectivo = cajaMovimientoAnterior.Efectivo; cajaMovimiento.Efectivo = diferencia; //cajaMovimiento.Tarjeta = cajaMovimientoAnterior.Tarjeta; //cajaMovimiento.Cheque = cajaMovimientoAnterior.Cheque; //cajaMovimiento.Deposito = cajaMovimientoAnterior.Deposito; cajaMovimiento.ImpFac = 0; cajaMovimiento.PcAlta = Environment.MachineName; cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id; //cajaMovimientoAnterior.SucursalAltaId; cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id; //cajaMovimientoAnterior.OperadorAltaId; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; cajaMovimiento.OperadorModificacionId = (Context.OperadorActual.Id); cajaMovimiento.FechaModificacion = _clock.Now; Uow.CajaMovimientos.Agregar(cajaMovimiento); } else if (senia.TipoComprobanteId == TipoComprobanteEnum.NotaCrédito) { CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónSeña; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.NotaCrédito; cajaMovimiento.ComprobanteId = senia.Id; cajaMovimiento.Senia = 0; cajaMovimiento.Importe = diferencia; cajaMovimiento.Efectivo = diferencia; //cajaMovimiento.Tarjeta = cajaMovimientoAnterior.Tarjeta; //cajaMovimiento.Cheque = cajaMovimientoAnterior.Cheque; //cajaMovimiento.Deposito = cajaMovimientoAnterior.Deposito; cajaMovimiento.ImpFac = 0; cajaMovimiento.PcAlta = Environment.MachineName; cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id; //cajaMovimientoAnterior.SucursalAltaId; cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id; //cajaMovimientoAnterior.OperadorAltaId; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; cajaMovimiento.OperadorModificacionId = (Context.OperadorActual.Id); cajaMovimiento.FechaModificacion = _clock.Now; Uow.CajaMovimientos.Agregar(cajaMovimiento); } //Generaregreso?? Uow.Commit(); _messageBoxDisplayService.ShowSuccess("Anulación de seña exitosa"); RefrescarUow(); RefrescarHistorial(); }
private void BtnGuardar_Click(object sender, EventArgs e) { if (Monto != UcTotalesSenia.TotalPagar) { _messageBoxDisplayService.ShowError("Los montos no coinciden"); return; } if (this.UcTotalesSenia.Pagos.Count == 0) { _messageBoxDisplayService.ShowError("Debe agregar una seña."); return; } Guid operadorAutoriza = Guid.Empty; if (_formMode == ActionFormMode.Edit) { //////Autorizacion para sin movimiento var operador = this.ObtenerOperadorAdministrador(); if (operador == null) { return; } if (!this.EsOperadorAdmin) { //Guardamos el operador que autorizo la operacion. operadorAutoriza = operador.Id; } } //TODO: Reemplzar el numero cuando se agrege la columna a sucursal. int numeroDeSucursal = Context.SucursalActual.SucursalNumero ?? 1; ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor(); clienteMontoFavor.Id = Guid.NewGuid(); clienteMontoFavor.ClienteId = _cliente.Id; clienteMontoFavor.FechaComprobante = _clock.Now; clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente; clienteMontoFavor.LCN = "R" + numeroDeSucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0'); clienteMontoFavor.Concepto = "Seña " + clienteMontoFavor.LCN; clienteMontoFavor.Importe = UcTotalesSenia.TotalPagar; clienteMontoFavor.ImpOcupado = 0; clienteMontoFavor.Observaciones = TipoComprobanteEnum.SeñaCliente.ToString(); clienteMontoFavor.FechaAlta = _clock.Now; clienteMontoFavor.OperadorAltaId = Context.OperadorActual.Id; clienteMontoFavor.SucursalAltaId = Context.SucursalActual.Id; if (operadorAutoriza != Guid.Empty) { clienteMontoFavor.OperadorAutoriza = operadorAutoriza; } Uow.ClientesMontosFavor.Agregar(clienteMontoFavor); //Si el Form=Editar significa que es SinGuardar los movimientos de caja if (_formMode == ActionFormMode.Create) { //ActualizarCaja y CajaMovimiento Caja caja = this.Context.CajaActual; if (caja.Egresos == null) { caja.Egresos = 0; } caja.Ingresos += (float?)UcTotalesSenia.TotalPagar; caja.Saldo += (float?)UcTotalesSenia.TotalPagar; caja.FechaModificacion = _clock.Now; caja.SucursalModificacionId = Context.SucursalActual.Id; //Sucursal del operador caja.OperadorModificacionId = (Context.OperadorActual.Id); //Id el operador Uow.Cajas.Modificar(caja); CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.SeñaCliente; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.SeñaCliente; cajaMovimiento.ComprobanteId = clienteMontoFavor.Id; cajaMovimiento.Importe = UcTotalesSenia.TotalPagar; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id; cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id; cajaMovimiento.PcAlta = Environment.MachineName; //tipos de pagos foreach (VentaPago pago in UcTotalesSenia.Pagos) { switch (pago.TipoPago) { case FormaPago.Efectivo: cajaMovimiento.Efectivo = pago.Importe; break; case FormaPago.Tarjeta: var pagoTarjeta = pago as VentaPagoTarjeta; if (cajaMovimiento.Tarjeta == null) { cajaMovimiento.Tarjeta = 0; } cajaMovimiento.Tarjeta += pago.Importe; //GUARDAR TARJETA MOVIMIENTO TarjetasMovimiento tarjetasMovimiento = new TarjetasMovimiento(); tarjetasMovimiento.CajaMovimientoId = cajaMovimiento.Id; tarjetasMovimiento.TarjetaId = pagoTarjeta.TarjetaId ?? 0; tarjetasMovimiento.LoteCupon = pagoTarjeta.CuponNumero; tarjetasMovimiento.Fecha = _clock.Now; tarjetasMovimiento.Importe = (float)pago.Importe; tarjetasMovimiento.Estado = 1; // No se tarjetasMovimiento.FechaAlta = _clock.Now; tarjetasMovimiento.SucursalAltaId = Context.SucursalActual.Id; //Sucursal del operador tarjetasMovimiento.OperadorAltaId = (Context.OperadorActual.Id); //Id el operador Uow.TarjetasMovimientos.Agregar(tarjetasMovimiento); break; case FormaPago.Cheque: var pagoCheque = pago as VentaPagoCheque; if (cajaMovimiento.Cheque == null) { cajaMovimiento.Cheque = 0; } cajaMovimiento.Cheque += pago.Importe; ChequesTercero chequesTercero = new ChequesTercero(); chequesTercero.Id = Guid.NewGuid(); chequesTercero.CajaMovimientoId = cajaMovimiento.Id; chequesTercero.BancoId = pagoCheque.BancoId ?? 0; chequesTercero.NroCheque = pagoCheque.Numero; chequesTercero.Fecha = _clock.Now; chequesTercero.FechaCobro = _clock.Now; chequesTercero.Importe = (float)pago.Importe; chequesTercero.FechaAlta = _clock.Now; chequesTercero.SucursalAltaId = Context.SucursalActual.Id; chequesTercero.OperadorAltaId = (Context.OperadorActual.Id); Uow.ChequesTerceros.Agregar(chequesTercero); break; case FormaPago.Deposito: var pagoDeposito = pago as VentaPagoDeposito; if (cajaMovimiento.Deposito == null) { cajaMovimiento.Deposito = 0; } //Guardar Cuentas Movimientos cajaMovimiento.Deposito += pago.Importe; CuentasMovimiento cuentasMovimiento = new CuentasMovimiento(); cuentasMovimiento.CuentaId = pagoDeposito.CuentaId ?? 0; cuentasMovimiento.TipoMovimientoId = 2; //Deposito cuentasMovimiento.FechaMovimiento = pagoDeposito.Fecha; cuentasMovimiento.EstadoMovimientoCuentaId = 0; cuentasMovimiento.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente; cuentasMovimiento.ComprobanteId = clienteMontoFavor.Id; cuentasMovimiento.MonedaId = 0; cuentasMovimiento.CondicionVentaId = CondicionVentaEnum.Contado; cuentasMovimiento.NroMovimiento = pagoDeposito.Numero; cuentasMovimiento.Descripcion = "DEPOSITO NRO " + pagoDeposito.Numero.ToString(); cuentasMovimiento.FechaCobro = _clock.Now; cuentasMovimiento.Debito = 0; cuentasMovimiento.Credito = pago.Importe; cuentasMovimiento.TipoCarga = 2; cuentasMovimiento.CajaId = caja.Id; cuentasMovimiento.FechaAlta = _clock.Now; cuentasMovimiento.OperadorAltaId = Context.OperadorActual.Id; cuentasMovimiento.SucursalAltaId = Context.SucursalActual.Id; Uow.CuentasMovimientos.Agregar(cuentasMovimiento); break; } } Uow.CajaMovimientos.Agregar(cajaMovimiento); } Uow.Commit(); _messageBoxDisplayService.ShowSuccess("Seña generada con éxito"); //Si el Form=Editar significa que es SinGuardar los movimientos de caja if (_formMode == ActionFormMode.Create) { ImprimirComprobante(clienteMontoFavor, UcTotalesSenia.FormasDePagosParaComprobante); } RefrescarUow(); RefrescarHistorial(); Limpiar(); }
private void BtnGuardar_Click(object sender, EventArgs e) { if (Monto != ucTotalesSeña.TotalPagar) { _messageBoxDisplayService.ShowError("Los montos no coiniden"); return; } int sucursal = 1; ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor(); clienteMontoFavor.Id = Guid.NewGuid(); clienteMontoFavor.ClienteId = _cliente.Id; clienteMontoFavor.FechaComprobante = _clock.Now; clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente; clienteMontoFavor.LCN = "R" + sucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0'); clienteMontoFavor.Concepto = "Seña " + clienteMontoFavor.LCN; clienteMontoFavor.Importe = ucTotalesSeña.TotalPagar; clienteMontoFavor.ImpOcupado = 0; clienteMontoFavor.Observaciones = TipoComprobanteEnum.SeñaCliente.ToString(); clienteMontoFavor.FechaAlta = _clock.Now; clienteMontoFavor.OperadorAltaId = Context.OperadorActual.Id; clienteMontoFavor.SucursalAltaId = 2; Uow.ClientesMontosFavor.Agregar(clienteMontoFavor); //Recibo recibo = new Recibo(); //recibo.Id = Guid.NewGuid(); //recibo.SucursalCompId = Context.SucursalActual.Id; //recibo.Tipo = "3";//TipoComprobanteEnum.SeñaCliente; //recibo.PuntoVenta = Context.SucursalActual.Id; //var ultimoRecibo = _reciboNegocio.Listado("FechaAlta", "DESC", Context.SucursalActual.Id).First(); //int numero; //int reciboNumero = int.TryParse(ultimoRecibo.Numero.Substring(1), out numero) ? numero : 0; //recibo.Numero = "C" + (numero + 1).ToString().PadLeft(13, '0'); //recibo.FechaPago = _clock.Now; //recibo.Total = ucTotalesSeña.TotalPagar; //recibo.CobradorId = 0; //recibo.OperadorAltaId = Context.OperadorActual.Id; //recibo.SucursalAltaId = Context.SucursalActual.Id; //recibo.FechaAlta = _clock.Now; //Uow.Recibos.Agregar(recibo); Uow.Commit(); _messageBoxDisplayService.ShowSuccess("Seña generada con éxito"); var crearSenia = FormFactory.Create <FrmComprobante>(); crearSenia._concepto = "Seña de Cliente"; crearSenia._LCN = clienteMontoFavor.LCN; var conv = new Conversion(); crearSenia._montoTexto = conv.enletras(ucTotalesSeña.TotalPagar.ToString()); //crearSenia._montoTexto = "cien"; //crearSenia.Show(); BuscarHistorial(); Limpiar(); }