private async void FormaPagoOpen(string nombreBoton) { Vender = false; Cliente = Presupuesto.Obra.Propietario; switch (nombreBoton) { case "Cheque": Cheque = true; ChequeEntrada = new ChequeEntradaDto(); ChequeEntrada.Monto = Cobrar; ChequeEntrada.Concepto = $"Pago de la obra {Presupuesto.Obra.Codigo}-{Presupuesto.Obra.Descripcion}"; break; case "Efectivo": Efectivo = true; ComprobanteEntrada = new ComprobanteEntradaDto(); ComprobanteEntrada.Monto = Cobrar; ComprobanteEntrada.Detalle = $"Pago de la obra {Presupuesto.Obra.Codigo}-{Presupuesto.Obra.Descripcion}"; break; case "Transferencia": Transferencia = true; Operacion = new OperacionDto(); Subtotal = Cobrar; Operacion.Concepto = $"Pago de la obra {Presupuesto.Obra.Codigo}-{Presupuesto.Obra.Descripcion}"; break; case "Deposito": Deposito = true; Operacion = new OperacionDto(); Operacion.Debe = Cobrar; Operacion.Concepto = $"Pago de la obra {Presupuesto.Obra.Codigo}-{Presupuesto.Obra.Descripcion}"; break; } }
private async void Crear() { if (Operacion.Debe > 0 && Banco != null) { var cuentaCorriente = await ApiProcessor.GetApi <CuentaCorrienteDto>($"CuentaCorriente/Banco/{Banco.Id}"); Operacion.CuentaCorrienteId = cuentaCorriente.Id; Operacion.FechaVencimiento = Operacion.FechaEmision; Operacion.TipoOperacion = TipoOperacion.Deposito; Operacion.Haber = 0; Operacion.Referencia = 0; Operacion.ReferenciaPlus = ""; var deposito = new DepositoDto(); deposito.BancoId = Banco.Id; deposito.Usado = Usado; deposito.Entrada = true; deposito.Fecha = (DateTime)Operacion.FechaEmision; deposito.Concepto = Operacion.Concepto; deposito.DePara = Operacion.DePara; deposito.Numero = long.Parse(Operacion.CodigoCausal); deposito.Monto = (decimal)Operacion.Debe; await ApiProcessor.PostApi(deposito, "Deposito/Insert"); await ApiProcessor.PostApi(Operacion, "Operacion/Insert"); var diccionario = new Dictionary <string, bool>(); diccionario.Add("DepositoEntrada", false); Operacion = new OperacionDto(); MessageBox.Show("La operacion a sido registrado con exito!"); } }
private async void Crear() { Operacion.Debe = Total; if (Operacion.Debe > 0 && Banco != null) { var cuentaCorriente = await ApiProcessor.GetApi <CuentaCorrienteDto>($"CuentaCorriente/Banco/{Banco.Id}"); Operacion.CuentaCorrienteId = cuentaCorriente.Id; Operacion.FechaVencimiento = Operacion.FechaEmision; Operacion.TipoOperacion = TipoOperacion.Tranferencia; Operacion.Haber = 0; Operacion.Referencia = 0; Operacion.ReferenciaPlus = ""; var transferencia = new TransferenciaDto(); transferencia.BancoId = Banco.Id; transferencia.Usado = Usado; transferencia.ImpuestoBancario = 0; transferencia.Concepto = Operacion.Concepto; transferencia.Entrada = true; transferencia.Fecha = (DateTime)Operacion.FechaEmision; transferencia.PagueseA = Operacion.DePara; transferencia.Numero = long.Parse(Operacion.CodigoCausal); transferencia.Monto = (decimal)Operacion.Debe; await ApiProcessor.PostApi(transferencia, "Transferencia/Insert"); await ApiProcessor.PostApi(Operacion, "Operacion/Insert"); var diccionario = new Dictionary <string, bool>(); diccionario.Add("TransferenciaEntrada", false); Operacion = new OperacionDto(); MessageBox.Show("La operacion a sido registrado con exito!"); } }
private void CerrarFormaPago(string nombreBoton) { Vender = false; Cobrar = 0; switch (nombreBoton) { case "Cheque": Cheque = false; ChequeEntrada = new ChequeEntradaDto(); break; case "Efectivo": Efectivo = false; break; case "Transferencia": Transferencia = false; Operacion = new OperacionDto(); break; case "Deposito": Deposito = false; Operacion = new OperacionDto(); break; } }
private void Cancelar() { Operacion = new OperacionDto(); var diccionario = new Dictionary <string, bool>(); diccionario.Add("TransferenciaEntrada", false); eventAggregator.GetEvent <PubSubEvent <Dictionary <string, bool> > >().Publish(diccionario); }
public async Task Insertar(OperacionDto dto) { using (var context = new DataContext()) { var operacion = _mapper.Map <Dominio.Entidades.Operacion>(dto); await _operacionRepositorio.Create(operacion); } }
public TransferenciaEntradaViewModel(IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; CerrarCommand = new DelegateCommand(Cancelar); CrearCommand = new DelegateCommand(Crear); Operacion = new OperacionDto(); this.eventAggregator.GetEvent <PubSubEvent <string> >().Subscribe(Uso); }
public TransferenciaSalidaViewModel(IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; CerrarCommand = new DelegateCommand(Cancelar); CrearCommand = new DelegateCommand(Crear); Operacion = new OperacionDto(); this.eventAggregator.GetEvent <PubSubEvent <ComprobanteCompraDto> >().Subscribe(CargarComprobante); this.eventAggregator.GetEvent <PubSubEvent <string> >().Subscribe(Uso); this.eventAggregator.GetEvent <PubSubEvent <decimal> >().Subscribe(PasandoPrecio); }
public ActionResult <T> DevolverResultadoOMostrarErrores <T>(OperacionDto <T> operacion) { if (operacion.Completado) { return(operacion.Resultado); } return(BadRequest(new { mensajes = operacion.Mensajes })); }
private async void PagoCheque() { if (ChequeEntrada.Banco != null && ChequeEntrada.Monto > 0 && !string.IsNullOrWhiteSpace(ChequeEntrada.Serie) && (Dia > 0 && Dia < 32) && (Mes > 0 && Mes < 13) && Ano > 1900 && !string.IsNullOrWhiteSpace(ChequeEntrada.EmitidoPor) && ChequeEntrada.Numero > 0) { ChequeEntrada.FechaHasta = new DateTime(Ano, Mes, Dia); ChequeEntrada.BancoId = ChequeEntrada.Banco.Id; ChequeEntrada.Usado = UsadoEn.Venta; var cuentaCorriente = await ApiProcessor.GetApi <CuentaCorrienteDto>($"CuentaCorriente/Banco/{ChequeEntrada.BancoId}"); await ApiProcessor.PostApi <ChequeEntradaDto>(ChequeEntrada, "ChequeEntrada/Insert"); var op = new OperacionDto { CuentaCorrienteId = cuentaCorriente.Id, Debe = ChequeEntrada.Monto, EstaEnResumen = true, FechaEmision = ChequeEntrada.FechaDesde, TipoOperacion = Constantes.TipoOperacion.Cheque, DePara = ChequeEntrada.EmitidoPor, Descontado = ChequeEntrada.MontoContado, Concepto = ChequeEntrada.Concepto, FechaVencimiento = ChequeEntrada.FechaHasta, CodigoCausal = ChequeEntrada.Serie, Haber = 0, Referencia = ChequeEntrada.Numero, ReferenciaPlus = $"{ ChequeEntrada.Numero}" }; await ApiProcessor.PostApi <OperacionDto>(op, "Operacion/Insert"); ChequeEntrada = new ChequeEntradaDto(); Dia = Mes = Ano = 0; Presupuesto.Cobrado += Cobrar; if (Total == Presupuesto.Cobrado) { Presupuesto.EstadoDeCobro = Constantes.EstadoDeCobro.Cobrado; } await ApiProcessor.PutApi(Presupuesto, $"Presupuesto/{Presupuesto.Id}"); Cobrar = 0; if (Presupuesto.EstadoDeCobro == EstadoDeCobro.Cobrado) { await Inicializar(); } Presupuesto = new PresupuestoDto(); Cheque = false; MessageBox.Show("El cheque a sido registrado con exito!"); } else { MessageBox.Show("Faltan datos para realizar la carga!"); } }
private async void ExtraerDinero() { if (Extraccion > 0) { if (await Servicios.ApiProcessor.GetApi <bool>("Caja/CajasEstado")) { var cuentaCorriente = await ApiProcessor.GetApi <CuentaCorrienteDto>($"CuentaCorriente/Banco/{Banco.Id}"); Operacion.CuentaCorrienteId = cuentaCorriente.Id; Operacion.FechaVencimiento = Operacion.FechaEmision; Operacion.TipoOperacion = TipoOperacion.Deposito; Operacion.DePara = "Gonelec"; Operacion.Concepto = "Extraccion"; Operacion.Debe = 0; Operacion.Haber = Extraccion; Operacion.Referencia = 0; Operacion.ReferenciaPlus = ""; var deposito = new DepositoDto(); deposito.BancoId = Banco.Id; deposito.Usado = UsadoEn.Banco; deposito.Entrada = false; deposito.DePara = Operacion.DePara; deposito.Concepto = "Extraccion"; deposito.Fecha = (DateTime)Operacion.FechaEmision; deposito.Numero = long.Parse(Operacion.CodigoCausal); deposito.Monto = (decimal)Operacion.Haber; await ApiProcessor.PostApi(deposito, "Deposito/Insert"); await ApiProcessor.PostApi(Operacion, "Operacion/Insert"); Operacion = new OperacionDto(); var Caja = await Servicios.ApiProcessor.GetApi <CajaDto>("Caja/CajaAbierta"); var detalleCaja = new DetalleCajaDto { CajaId = Caja.Id, Monto = Extraccion, TipoMovimiento = Constantes.TipoMovimiento.Ingreso, TipoPago = Constantes.TipoPago.Efectivo }; await Servicios.ApiProcessor.PostApi <DetalleCajaDto>(detalleCaja, "DetalleCaja/Insert"); MessageBox.Show("Se completo la extraccion!"); Extraccion = 0; Banco = null; } else { MessageBox.Show("Por favor abra la caja"); } } }
public BancoMenuViewModel(IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; Operacion = new OperacionDto(); CancelarCommando = new DelegateCommand(CancelarExtraccion); CargarCommando = new DelegateCommand(ExtraerDinero); AbrirCheque = new DelegateCommand(AbrirChequeEntrada); AbrirTransfEntrada = new DelegateCommand(AbrirTransfE); AbrirTransfSalida = new DelegateCommand(AbrirTransfS); AbrirDepositoEntrada = new DelegateCommand(AbrirDepositoE); AbrirDepositoSalida = new DelegateCommand(AbrirDepositoS); eventAggregator.GetEvent <PubSubEvent <Dictionary <string, bool> > >().Subscribe(CerrarPops); }
private async void PagoTransferencia() { if (Operacion.Debe > 0 && Banco != null) { var cuentaCorriente = await ApiProcessor.GetApi <CuentaCorrienteDto>($"CuentaCorriente/Banco/{Banco.Id}"); Operacion.CuentaCorrienteId = cuentaCorriente.Id; Operacion.FechaEmision = DateTime.Now; Operacion.FechaVencimiento = DateTime.Now; Operacion.TipoOperacion = TipoOperacion.Tranferencia; Operacion.DePara = Cliente.RazonSocial; Operacion.Haber = 0; Operacion.Referencia = 0; Operacion.ReferenciaPlus = ""; await ApiProcessor.PostApi(Operacion, "Operacion/Insert"); Operacion = new OperacionDto(); var transferencia = new TransferenciaDto(); transferencia.BancoId = Banco.Id; transferencia.Usado = UsadoEn.Venta; transferencia.Entrada = false; transferencia.ImpuestoBancario = Impuesto; transferencia.Concepto = Operacion.Concepto; transferencia.Fecha = (DateTime)Operacion.FechaEmision; transferencia.PagueseA = Cliente.RazonSocial; transferencia.Numero = long.Parse(Operacion.CodigoCausal); transferencia.Monto = Total; await ApiProcessor.PostApi(transferencia, "Transferencia/Insert"); Presupuesto.Cobrado += Cobrar; if (Total == Presupuesto.Cobrado) { Presupuesto.EstadoDeCobro = Constantes.EstadoDeCobro.Cobrado; } await ApiProcessor.PutApi(Presupuesto, $"Presupuesto/{Presupuesto.Id}"); Cobrar = 0; if (Presupuesto.EstadoDeCobro == EstadoDeCobro.Cobrado) { await Inicializar(); } Presupuesto = new PresupuestoDto(); Transferencia = false; MessageBox.Show("La operacion a sido registrado con exito!"); } else { MessageBox.Show("Faltan datos para realizar la carga!"); } }
public async Task Modificar(OperacionDto dto) { using (var context = new DataContext()) { var operacion = context.Operaciones.FirstOrDefault(x => x.Id == dto.Id); operacion.CodigoCausal = dto.CodigoCausal; operacion.CuentaCorrienteId = dto.CuentaCorrienteId; operacion.Debe = dto.Debe; operacion.Haber = dto.Haber; operacion.Referencia = dto.Referencia; operacion.ReferenciaPlus = dto.ReferenciaPlus; operacion.FechaEmision = dto.FechaEmision; operacion.FechaVencimiento = dto.FechaVencimiento; operacion.EstaEnResumen = dto.EstaEnResumen; await _operacionRepositorio.Update(operacion); } }
protected T ReturnResultShowErrors <T>(OperacionDto <T> operacion) { if (!operacion.Completado) { switch (operacion.Codigo) { case CodigosOperacionDto.NotExist: GenerateNotFoundError(operacion.Mensajes); break; default: GenerarErrorDeOperacion(operacion); break; } } return(operacion.Resultado); }
public async Task <IActionResult> RouletteOpening(OperacionDto operacionDto) { string mesage = string.Empty; try { var fecha1 = Convert.ToDateTime(operacionDto.Fecha); operacionDto.Fecha = fecha1.ToString("yyyy-MM-ddTHH:mm:ssZ"); var operacion = _mapper.Map <Operacion>(operacionDto); await _sdOperacion.RouletteOpening(operacion); operacionDto = _mapper.Map <OperacionDto>(operacion); } catch (CustomException ex) { mesage = ex.Message; } return(Ok(mesage)); }
protected T ObtenerResultadoOGenerarErrorDeOperacion <T>(OperacionDto <T> operacion) { if (!operacion.Completado) { switch (operacion.Codigo) { case CodigosOperacionDto.NoExiste: GenerarNotFoundError(operacion.Mensajes); break; default: GenerarBadRequestError((int)operacion.Codigo, operacion.Mensajes); break; } } return(operacion.Resultado); }
private async void Crear() { Operacion.Haber = Total; if (Operacion.Haber > 0 && Banco != null) { var cuentaCorriente = await ApiProcessor.GetApi <CuentaCorrienteDto>($"CuentaCorriente/Banco/{Banco.Id}"); Operacion.Haber = Total; Operacion.CuentaCorrienteId = cuentaCorriente.Id; Operacion.FechaVencimiento = Operacion.FechaEmision; Operacion.TipoOperacion = TipoOperacion.Tranferencia; Operacion.Debe = 0; Operacion.Referencia = 0; Operacion.ReferenciaPlus = ""; var transferencia = new TransferenciaDto(); transferencia.BancoId = Banco.Id; transferencia.Usado = Usado; transferencia.Entrada = false; transferencia.ImpuestoBancario = Impuesto; transferencia.Concepto = Operacion.Concepto; transferencia.Fecha = (DateTime)Operacion.FechaEmision; transferencia.PagueseA = Operacion.DePara; transferencia.Numero = long.Parse(Operacion.CodigoCausal); transferencia.Monto = Total; await ApiProcessor.PostApi(transferencia, "Transferencia/Insert"); await ApiProcessor.PostApi(Operacion, "Operacion/Insert"); var diccionario = new Dictionary <string, bool>(); eventAggregator.GetEvent <PubSubEvent <bool> >().Publish(true); diccionario.Add("TransferenciaSalida", true); eventAggregator.GetEvent <PubSubEvent <Dictionary <string, bool> > >().Publish(diccionario); Operacion = new OperacionDto(); ActivarSubtotal = true; MessageBox.Show("La operacion a sido registrado con exito!"); } else { MessageBox.Show("Faltan ingresar datos"); } }
public VentasPresupuestosViewModel(IRegionManager regionManager, IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; this.regionManager = regionManager; Command = new DelegateCommand <PresupuestoDto>(DobleClick); Presupuesto = null; Operacion = new OperacionDto(); SacarPantalla = new DelegateCommand(SacarPantallas); CargarTransferencia = new DelegateCommand(PagoTransferencia); CargarCheque = new DelegateCommand(PagoCheque); CargarDeposito = new DelegateCommand(PagoDeposito); CrearCommand = new DelegateCommand(Facturar); CobrarEfectivo = new DelegateCommand(CobrarEfec); AbrirFormaPago = new DelegateCommand <string>(FormaPagoOpen); CancelarFormaPago = new DelegateCommand <string>(CerrarFormaPago); Cerrar = new DelegateCommand(CerrarOpc); CancelarBlancoCommand = new DelegateCommand(CancelarBlanco); CancelarNegroCommand = new DelegateCommand(CancelarNegro); PagoSinComprobante = new DelegateCommand(SinComprobanteAbrir); PagoConComprobante = new DelegateCommand(ConComprobanteAbrir); }
public async void CargarChequeSalida() { if (ChequeEntrada.Banco != null && ChequeEntrada.Monto > 0 && !string.IsNullOrWhiteSpace(ChequeEntrada.Serie) && (Dia > 0 && Dia < 32) && (Mes > 0 && Mes < 13) && Ano > 1900 && !string.IsNullOrWhiteSpace(ChequeEntrada.EmitidoPor) && ChequeEntrada.Numero > 0) { ChequeEntrada.FechaHasta = new DateTime(Ano, Mes, Dia); ChequeEntrada.BancoId = ChequeEntrada.Banco.Id; await Servicios.ApiProcessor.PostApi(ChequeEntrada, "ChequeEntrada/Insert"); if (ChequeEntrada.Usado != UsadoEn.Caja && ChequeEntrada.Usado != UsadoEn.Proveedor) { var cuentaCorriente = await ApiProcessor.GetApi <CuentaCorrienteDto>($"CuentaCorriente/Banco/{ChequeEntrada.BancoId}"); var op = new OperacionDto { CuentaCorrienteId = cuentaCorriente.Id, Debe = ChequeEntrada.Monto, EstaEnResumen = true, FechaEmision = ChequeEntrada.FechaDesde, TipoOperacion = Constantes.TipoOperacion.Cheque, DePara = ChequeEntrada.EmitidoPor, Descontado = ChequeEntrada.MontoContado, Concepto = ChequeEntrada.Concepto, FechaVencimiento = ChequeEntrada.FechaHasta, CodigoCausal = ChequeEntrada.Serie, Haber = 0, Referencia = ChequeEntrada.Numero, ReferenciaPlus = $"{ChequeEntrada.Numero}" }; await ApiProcessor.PostApi(op, "Operacion/Insert"); } else { if (await Servicios.ApiProcessor.GetApi <bool>("Caja/CajasEstado")) { var Caja = await Servicios.ApiProcessor.GetApi <CajaDto>("Caja/CajaAbierta"); var detalleCaja = new DetalleCajaDto { CajaId = Caja.Id, Monto = ChequeEntrada.Monto, TipoMovimiento = Constantes.TipoMovimiento.Ingreso, TipoPago = Constantes.TipoPago.Cheque }; await Servicios.ApiProcessor.PostApi <DetalleCajaDto>(detalleCaja, "DetalleCaja/Insert"); } else { MessageBox.Show("Por favor abra la caja"); } } var diccionario = new Dictionary <string, bool>(); diccionario.Add("ChequeSalida", true); eventAggregator.GetEvent <PubSubEvent <Dictionary <string, bool> > >().Publish(diccionario); ChequeEntrada = new ChequeEntradaDto(); MessageBox.Show("El cheque a sido registrado con exito!"); } else { MessageBox.Show("Faltan datos para realizar la carga!"); } }
protected void GenerarErrorDeOperacion <T>(OperacionDto <T> operacionDto) { throw new ErrorMessageException(HttpStatusCode.BadRequest, (int)operacionDto.Codigo, operacionDto.Mensajes); }