示例#1
0
        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;
            }
        }
 public ComprobanteEntradaViewModel(IEventAggregator eventAggregator)
 {
     this.eventAggregator = eventAggregator;
     CargarComando        = new DelegateCommand(CargaComprobante);
     CancelarCommando     = new DelegateCommand(Cancelar);
     ComprobanteEntrada   = new ComprobanteEntradaDto();
     this.eventAggregator.GetEvent <PubSubEvent <string> >().Subscribe(Usado);
     this.eventAggregator.GetEvent <PubSubEvent <decimal> >().Subscribe(Venta);
 }
 public async Task Modificar(ComprobanteEntradaDto dto)
 {
     using (var context = new DataContext())
     {
         var comprobanteModificar = context.ComprobantesEntrada.FirstOrDefault(x => x.Id == dto.Id);
         comprobanteModificar = _mapper.Map <Dominio.Entidades.ComprobanteEntrada>(dto);
         await _comprobanteRepositorio.Update(comprobanteModificar);
     }
 }
        private void Cancelar()
        {
            var diccionario = new Dictionary <string, bool>();

            Subtotal = 0; IVA = 0; Recargos = 0; Descuento = 0;
            diccionario.Add("ComprobanteEntrada", false);
            eventAggregator.GetEvent <PubSubEvent <bool> >().Publish(false);
            ComprobanteEntrada = new ComprobanteEntradaDto();
            eventAggregator.GetEvent <PubSubEvent <Dictionary <string, bool> > >().Publish(diccionario);
        }
        public async Task <long> Insertar(ComprobanteEntradaDto dto)
        {
            using (var context = new DataContext())
            {
                var comprobanteNuevo = _mapper.Map <Dominio.Entidades.ComprobanteEntrada>(dto);
                await _comprobanteRepositorio.Create(comprobanteNuevo);

                return(comprobanteNuevo.Id);
            }
        }
示例#6
0
        private async void CobrarEfec()
        {
            if (await Servicios.ApiProcessor.GetApi <bool>("Caja/CajasEstado"))
            {
                if (ComprobanteEntrada.Monto > 0 && ComprobanteEntrada.TipoComprobanteEntrada > 0)
                {
                    ComprobanteEntrada.Fecha     = Fecha;
                    ComprobanteEntrada.UsuarioId = UsuarioGral.UsuarioId;
                    ComprobanteEntrada.Usado     = UsadoEn.Venta;
                    await ApiProcessor.PostApi <ComprobanteEntradaDto>(ComprobanteEntrada, "ComprobanteEntrada/Insert");

                    var Caja = await ApiProcessor.GetApi <CajaDto>("Caja/CajaAbierta");

                    var detalleCaja = new DetalleCajaDto
                    {
                        CajaId         = Caja.Id,
                        Monto          = ComprobanteEntrada.Monto,
                        TipoMovimiento = TipoMovimiento.Ingreso,
                        TipoPago       = TipoPago.Efectivo
                    };
                    await Servicios.ApiProcessor.PostApi <DetalleCajaDto>(detalleCaja, "DetalleCaja/Insert");

                    ComprobanteEntrada   = new ComprobanteEntradaDto();
                    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();
                    Efectivo    = false;
                }
                else
                {
                    MessageBox.Show("Faltan datos que rellenar");
                }
            }
            else
            {
                MessageBox.Show("Por favor abra la caja");
            }
        }
        public async void CargaComprobante()
        {
            if (await Servicios.ApiProcessor.GetApi <bool>("Caja/CajasEstado"))
            {
                ComprobanteEntrada.Monto = Subtotal;
                if (ComprobanteEntrada.Monto > 0 && ComprobanteEntrada.NumeroComprobante > 0 && ComprobanteEntrada.SubRubro != null && ComprobanteEntrada.TipoComprobanteEntrada > 0)
                {
                    ComprobanteEntrada.UsuarioId  = UsuarioGral.UsuarioId;
                    ComprobanteEntrada.Descuento  = Descuento;
                    ComprobanteEntrada.Iva        = IVA;
                    ComprobanteEntrada.SubRubroId = ComprobanteEntrada.SubRubro.Id;
                    await Servicios.ApiProcessor.PostApi <ComprobanteEntradaDto>(ComprobanteEntrada, "ComprobanteEntrada/Insert");

                    var Caja = await Servicios.ApiProcessor.GetApi <CajaDto>("Caja/CajaAbierta");

                    var detalleCaja = new DetalleCajaDto
                    {
                        CajaId         = Caja.Id,
                        Monto          = ComprobanteEntrada.Monto,
                        TipoMovimiento = Constantes.TipoMovimiento.Ingreso,
                        TipoPago       = Constantes.TipoPago.Efectivo
                    };
                    await Servicios.ApiProcessor.PostApi <DetalleCajaDto>(detalleCaja, "DetalleCaja/Insert");

                    var diccionario = new Dictionary <string, bool>();
                    diccionario.Add("ComprobanteEntrada", false);
                    eventAggregator.GetEvent <PubSubEvent <bool> >().Publish(true);
                    ComprobanteEntrada = new ComprobanteEntradaDto();
                    Subtotal           = 0; IVA = 0; Recargos = 0; Descuento = 0;
                    this.eventAggregator.GetEvent <PubSubEvent <decimal> >().Unsubscribe(Venta);
                }
                else
                {
                    MessageBox.Show("Faltan datos que rellenar");
                }
            }
            else
            {
                MessageBox.Show("Por favor abra la caja");
            }
        }
 public CajaViewModel(IEventAggregator eventAggregator, IRegionManager regionManager)
 {
     this.regionManager   = regionManager;
     this.eventAggregator = eventAggregator;
     CrearCommand         = new DelegateCommand(CrearCaja);
     CrearCerrarCaja      = new DelegateCommand(CerrandoCaja);
     //AbrirExtraccion = new DelegateCommand(Extraer);
     CancelarPop        = new DelegateCommand <string>(CancelarPopUp);
     ExtraerDinero      = new DelegateCommand(ExtraerDineros);
     Depositar          = new DelegateCommand(DepositarDinero);
     CancelarCommand    = new DelegateCommand(Cancelar);
     ComprobanteEntrada = new ComprobanteEntradaDto();
     Caja                 = new CajaDto();
     CerrarCerrarCaja     = new DelegateCommand(CerrarCajaPop);
     AbrirCerrarCaja      = new DelegateCommand(CerrarCerrarCajaPop);
     AbrirEfectivoEntrada = new DelegateCommand(AbrirEfecEntrada);
     AbrirCajaCommand     = new DelegateCommand(AbrirCajaPop);
     AbrirEfectivoSalida  = new DelegateCommand(AbrirEfecSalida);
     AbrirChequeSalida    = new DelegateCommand(AbrirCheSalida);
     AbrirChequeEntrada   = new DelegateCommand(AbrirCheEntrada);
     eventAggregator.GetEvent <PubSubEvent <Dictionary <string, bool> > >().Subscribe(CerrarPops);
     Diferencia = MontoCierre - MontoSistema;
 }