Ejemplo n.º 1
0
        private async void Crear()
        {
            if (await Servicios.ApiProcessor.GetApi <bool>("Caja/CajasEstado"))
            {
                if (Cheque != null)
                {
                    await Servicios.ApiProcessor.PostApi(Cheque, "Cheque/Cobrar");

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

                    var detalleCaja = new DetalleCajaDto
                    {
                        CajaId         = Caja.Id,
                        Monto          = Cheque.Monto,
                        TipoMovimiento = Constantes.TipoMovimiento.Ingreso,
                        TipoPago       = Constantes.TipoPago.Cheque
                    };
                }
                else
                {
                    MessageBox.Show("Por favor seleccione un cheque");
                }
            }
            else
            {
                MessageBox.Show("Por favor abra la caja");
            }
        }
Ejemplo n.º 2
0
 public async Task Insertar(DetalleCajaDto dto)
 {
     using (var context = new DataContext())
     {
         var detalleCaja = _mapper.Map <Dominio.Entidades.DetalleCaja>(dto);
         await _detalleCajaRepositorio.Create(detalleCaja);
     }
 }
Ejemplo n.º 3
0
        private void btnCobro_Click(object sender, EventArgs e)
        {
            if (cajaServicio.BuscarCajaAbierta() != null)
            {
                if (nudCobro.Value > 0)
                {
                    if (MessageBox.Show("Esta Por Cobrar Un Adelanto, Desea Continuar?", "Adelanto", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        arregloServicio.Cobrar(_ArregloId, nudCobro.Value);

                        //caja
                        var detalle = new DetalleCajaDto
                        {
                            Descripcion = $"{lblCliente.Text} - Cobro Adelanto",
                            Fecha       = DateTime.Now.ToLongDateString(),
                            Total       = _Debe,
                            CajaId      = detalleCajaServicio.BuscarCajaAbierta()
                        };

                        TipoPago(detalle);

                        detalleCajaServicio.AgregarDetalleCaja(detalle);

                        cajaServicio.SumarDineroACaja(nudCobro.Value);
                        var venta = new VentaDto
                        {
                            ClienteId = _ArregloDto.ClienteId,
                            Descuento = 0,
                            Fecha     = DateTime.Now,
                            Total     = nudCobro.Value
                        };

                        ventaServicio.NuevaVenta(venta);

                        Datos();

                        //limpieza
                        nudCobro.Value = 0;

                        VerificarSiEstaPagado();

                        var mensaje = new Afirmacion("Adelanto Cobrado", "Continue Con Las Ventas");
                        mensaje.ShowDialog();
                    }

                    return;
                }
                else
                {
                    MessageBox.Show("Error El Valor Tiene Que Ser Mayor a 0", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show("La Caja Esta Cerrada", "Caja Cerrada", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
Ejemplo n.º 4
0
        private void btnCobro_Click(object sender, EventArgs e)
        {
            if (nudCobro.Value > 0)
            {
                if (MessageBox.Show("Esta Por Cobrar Un Adelanto, Desea Continuar?", "Adelanto", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    var pedido = pedidoServicio.Buscar(PedidoId);

                    //Total Cta Cte

                    var cuentaId = new CtaCteDto();

                    cuentaId = ctaCteServicio.ObtenerPorIdDePedidosId(pedido.Id);

                    ctaCteServicio.Pagar(nudCobro.Value, pedido.ClienteId, cuentaId.Id);

                    //caja

                    var detalle = new DetalleCajaDto
                    {
                        Descripcion = $"{lblPersona.Text} - Adelanto de Pedido",
                        Fecha       = DateTime.Now.ToLongDateString(),
                        Total       = nudCobro.Value,
                        CajaId      = detalleCajaServicio.BuscarCajaAbierta()
                    };

                    TipoPago(detalle);

                    detalleCajaServicio.AgregarDetalleCaja(detalle);

                    cajaServicio.SumarDineroACaja(nudCobro.Value);

                    pedidoServicio.CambiarRamas(nudCobro.Value, PedidoId);

                    var venta = new VentaDto
                    {
                        ClienteId = pedido.ClienteId,
                        Descuento = 0,
                        Fecha     = DateTime.Now,
                        Total     = nudCobro.Value
                    };

                    ventaServicio.NuevaVenta(venta);

#pragma warning disable CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    var completado = new Afirmacion("Felicidades!", $"Completado \nSe obtuvo de ganancias $ {nudCobro.Value}\nTipo de Pago: {detalle.TipoPago}");
#pragma warning restore CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    completado.ShowDialog();

                    nudCobro.Value = 0;

                    Datos(PedidoId);
                }
            }
        }
Ejemplo n.º 5
0
 public void TipoPago(DetalleCajaDto detalle)
 {
     if (ckbNormal.Checked)
     {
         detalle.TipoPago = AccesoDatos.TipoPago.Contado;
     }
     if (ckbTarjeta.Checked)
     {
         detalle.TipoPago = AccesoDatos.TipoPago.Tarjeta;
     }
 }
Ejemplo n.º 6
0
 public async Task Modificar(DetalleCajaDto dto)
 {
     using (var context = new DataContext())
     {
         var detalleCaja = context.DetalleCajas.FirstOrDefault(x => x.Id == dto.Id);
         detalleCaja.CajaId         = dto.CajaId;
         detalleCaja.Monto          = dto.Monto;
         detalleCaja.TipoMovimiento = dto.TipoMovimiento;
         detalleCaja.TipoPago       = dto.TipoPago;
         await _detalleCajaRepositorio.Update(detalleCaja);
     }
 }
Ejemplo n.º 7
0
        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");
                }
            }
        }
Ejemplo n.º 8
0
        private void btnRestar_Click(object sender, EventArgs e)
        {
            if (nudCobro.Value > 0)
            {
                var pedido = pedidoServicio.Buscar(PedidoId);

                if (nudCobro.Value > pedido.Adelanto)
                {
                    MessageBox.Show("No Se Puedo Restar Dinero, Lo Que Quiere Restar Es Mayor Al Adelanto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }

                if (MessageBox.Show("Esta Seguro De Restar Dinero A La Cuenta?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    var Resto = nudCobro.Value * -1;

                    //Total Cta Cte

                    var cuentaId = ctaCteServicio.ObtenerPorIdDePedidosId(pedido.Id);

                    ctaCteServicio.SumarLoQueDebe(nudCobro.Value, pedido.ClienteId, cuentaId.Id);

                    //caja

                    var detalle = new DetalleCajaDto
                    {
                        Descripcion = $"{lblPersona.Text} - Dinero Devuelto",
                        Fecha       = DateTime.Now.ToLongDateString(),
                        Total       = Resto,
                        CajaId      = detalleCajaServicio.BuscarCajaAbierta()
                    };

                    TipoPago(detalle);

                    detalleCajaServicio.AgregarDetalleCaja(detalle);

                    cajaServicio.RestarDineroDeCaja(nudCobro.Value);

                    pedidoServicio.RestarAdelanto(nudCobro.Value, PedidoId);

                    MessageBox.Show("Dinero Regresado Al Cliente...", "Devuelto", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    nudCobro.Value = 0;

                    Datos(PedidoId);
                }
            }
        }
Ejemplo n.º 9
0
        public void InsertarDetalle(DetalleCajaDto dto)
        {
            using (var context = new ModeloXCommerceContainer())
            {
                var nuevoDetalle = new DetalleCaja();

                nuevoDetalle.Id       = dto.Id;
                nuevoDetalle.CajaId   = dto.CajaId;
                nuevoDetalle.Monto    = dto.Monto;
                nuevoDetalle.TipoPago = dto.FormaPago;

                context.DetalleCajas.Add(nuevoDetalle);
                context.SaveChanges();
            }
        }
Ejemplo n.º 10
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");
            }
        }
Ejemplo n.º 11
0
        private void btnCerrarCaja_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Esta Seguro de Cerrar Caja?", "Opcion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                var caja = new DetalleCajaDto
                {
                    Fecha = DateTime.Now.ToLongDateString(),
                    Total = _Total
                };

                _cajaServicio.CerrarCaja(caja.Total, caja.Fecha);

                MessageBox.Show("Caja Cerrada, Exitosamente!", "Caja Cerrar", MessageBoxButtons.OK, MessageBoxIcon.Information);

                this.Close();
            }
        }
        public async void CargaComprobante()
        {
            if (await Servicios.ApiProcessor.GetApi <bool>("Caja/CajasEstado"))
            {
                ComprobanteSalida.Monto = Subtotal;
                if (ComprobanteSalida.Monto > 0 && ComprobanteSalida.NumeroComprobante > 0 && ComprobanteSalida.SubRubro != null && ComprobanteSalida.TipoComprobanteSalida > 0)
                {
                    ComprobanteSalida.UsuarioId    = UsuarioGral.UsuarioId;
                    ComprobanteSalida.Interes      = Recargos;
                    ComprobanteSalida.Descuento    = Descuento;
                    ComprobanteSalida.Retenciones  = Retencion;
                    ComprobanteSalida.Percepciones = Percepcion;
                    ComprobanteSalida.Iva          = IVA;
                    ComprobanteSalida.SubRubroId   = ComprobanteSalida.SubRubro.Id;
                    await ApiProcessor.PostApi <ComprobanteSalidaDto>(ComprobanteSalida, "ComprobanteSalida/Insert");

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

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

                    var diccionario = new Dictionary <string, bool>();
                    diccionario.Add("ComprobanteSalida", false);
                    eventAggregator.GetEvent <PubSubEvent <bool> >().Publish(true);
                    eventAggregator.GetEvent <PubSubEvent <Dictionary <string, bool> > >().Publish(diccionario);
                    ComprobanteSalida = new ComprobanteSalidaDto();
                    Subtotal          = 0; IVA = 0; Recargos = 0; Descuento = 0; Percepcion = 0; Retencion = 0;
                    ActivarSubtotal   = true;
                }
                else
                {
                    MessageBox.Show("Faltan datos que rellenar");
                }
            }
            else
            {
                MessageBox.Show("Por favor abra la caja");
            }
        }
Ejemplo n.º 13
0
        public void AgregarDetalleCaja(DetalleCajaDto detalleCajaDto)
        {
            using (var context = new KosakoDBEntities())
            {
                var detalleCaja = new AccesoDatos.DetalleCaja
                {
                    Descripcion = detalleCajaDto.Descripcion,
                    Fecha       = detalleCajaDto.Fecha,
                    Total       = detalleCajaDto.Total,
                    CajaId      = detalleCajaDto.CajaId,
                    TipoPago    = detalleCajaDto.TipoPago
                };

                context.DetalleCajas.Add(detalleCaja);

                context.SaveChanges();
            }
        }
        private async void ExtraerDineros()
        {
            if (Extraccion > 0)
            {
                var caja = await Servicios.ApiProcessor.GetApi <CajaDto>("Caja/CajaAbierta");

                var detalle = new DetalleCajaDto()
                {
                    TipoMovimiento = Constantes.TipoMovimiento.Egreso,
                    Monto          = Extraccion,
                    CajaId         = caja.Id,
                    TipoPago       = Constantes.TipoPago.Efectivo
                };
                await Servicios.ApiProcessor.PostApi(detalle, $"DetalleCaja/Insert");

                ExtraccionPopUp = false;
            }
        }
        private async void DepositarDinero()
        {
            if (Deposito > 0)
            {
                var caja = await Servicios.ApiProcessor.GetApi <CajaDto>("Caja/CajaAbierta");

                var detalle = new DetalleCajaDto()
                {
                    TipoMovimiento = Constantes.TipoMovimiento.Ingreso,
                    Monto          = Deposito,
                    CajaId         = caja.Id,
                    TipoPago       = Constantes.TipoPago.Efectivo
                };
                await Servicios.ApiProcessor.PostApi(detalle, $"DetalleCaja/Insert");

                DepositarPopUp = false;
            }
        }
        private async void CrearCaja()
        {
            DetalleCajaDto detalle;

            Caja.UsuarioAperturaId = UsuarioGral.UsuarioId;
            await Servicios.ApiProcessor.PostApi(Caja, "Caja/AbrirCaja");

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

            detalle = new DetalleCajaDto()
            {
                TipoMovimiento = Constantes.TipoMovimiento.Ingreso,
                Monto          = Caja.MontoApertura,
                CajaId         = caja.Id,
                TipoPago       = Constantes.TipoPago.Efectivo
            };
            AbrirCajaPopUp        = false;
            Caja                  = new CajaDto();
            CerrarCajaVisibilidad = Visibility.Visible;
            AbrirCajaVisibilidad  = Visibility.Collapsed;
            await Servicios.ApiProcessor.PostApi <DetalleCajaDto>(detalle, $"DetalleCaja/Insert");
        }
Ejemplo n.º 17
0
        private void btnTerminar_Click(object sender, EventArgs e)
        {
            if (cajaServicio.BuscarCajaAbierta() != null)
            {
                if (MessageBox.Show("Esta por Terminar el Pedido, Esta Seguro?", "Preguntar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    var pedido = pedidoServicio.Buscar(PedidoId);

                    pedidoServicio.CambiarProcesoRetirado(pedido.Id);

                    pedidoServicio.CambiarFechaRetirado(pedido.Id);

                    producto_Pedido_Servicio.CambiarEstado(pedido.Id);

                    //Total Cta Cte

                    var cuentaId = new CtaCteDto();

                    if (pedido.ClienteId != 1)
                    {
                        cuentaId = ctaCteServicio.ObtenerPorIdDePedidosId(pedido.Id);

                        ctaCteServicio.Pagar(_Debe, pedido.ClienteId, cuentaId.Id);
                    }

                    //Fin Cta Cte

                    btnTerminar.Visible = false;

                    //caja

                    var detalle = new DetalleCajaDto
                    {
                        Descripcion = $"{lblPersona.Text} - Pedido Terminado",
                        Fecha       = DateTime.Now.ToLongDateString(),
                        Total       = _Debe,
                        CajaId      = detalleCajaServicio.BuscarCajaAbierta()
                    };

                    TipoPago(detalle);

                    detalleCajaServicio.AgregarDetalleCaja(detalle);

                    cajaServicio.SumarDineroACaja(_Debe);

                    pedidoServicio.CambiarRamas(_Debe, PedidoId);

                    var venta = new VentaDto
                    {
                        ClienteId = pedido.ClienteId,
                        Descuento = 0,
                        Fecha     = DateTime.Now,
                        Total     = _Debe
                    };

                    ventaServicio.NuevaVenta(venta);

#pragma warning disable CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    var completado = new Afirmacion("Felicidades!", $"Completado \nse obtuvo de ganancias $ {_Debe}\nTipo de Pago: {detalle.TipoPago}");
#pragma warning restore CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    completado.ShowDialog();

                    Datos(PedidoId);

                    lblVendido.Visible                    = true;
                    btnAgregarProductos.Visible           = false;
                    btnVolverPedidoNoRetirado.Visible     = true;
                    btnEliminarPedidoSeleccionado.Visible = false;
                }
            }
            else
            {
                MessageBox.Show("la Caja se encuentra cerrada", "Cerrada", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Ejemplo n.º 18
0
        private void btnCobrar_Click(object sender, EventArgs e)
        {
            if (dgvGrilla.RowCount > 0)
            {
                if (ckbTarjeta.Checked == false && ckbPedido.Checked == false && ckbNormal.Checked == false && ckbCtaCte.Checked == false && ckbGuardar.Checked == false)
                {
                    MessageBox.Show("Seleccione el Tipo de Pago, Tarjeta, Contado, Pedido.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }

                if (ckbNormal.Checked || ckbTarjeta.Checked)
                {
                    if (MessageBox.Show("Esta Seguro de Continuar?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        if (ventaDto.ClienteId == 0)
                        {
                            ventaDto.ClienteId = 0;
                        }

                        ventaDto.Fecha = DateTime.Now;
                        ventaDto.Total = _total;


                        var ventaId = ventaServicio.NuevaVenta(ventaDto);

                        string descripcion = string.Empty;

                        foreach (var item in ListaVenta)
                        {
                            var producto = productoServicio.ObtenerPorId(item.Id);

                            var producto_venta = new Producto_Venta_Dto
                            {
                                Cantidad    = item.Cantidad,
                                Descripcion = item.Descripcion,
                                Estado      = AccesoDatos.EstadoPedido.Terminado,
                                ProductoId  = item.Id,
                                Talle       = item.Talle,
                                Precio      = item.Precio * item.Cantidad,
                                VentaId     = ventaId,
                                TalleId     = ((TalleDto)cmbTalle.SelectedItem).Id
                            };

                            // descontar stock
                            productoServicio.BajarStock(producto.Id, item.Cantidad);
                            //

                            descripcion = $"{descripcion} - {producto_venta.Descripcion}";

                            producto_vent.NuevoProductoVenta(producto_venta);
                        }

                        var detalle = new DetalleCajaDto
                        {
                            Fecha       = DateTime.Now.ToLongDateString(),
                            Total       = _total,
                            Descripcion = $"Venta {descripcion}",
                            CajaId      = detalleCajaServicio.BuscarCajaAbierta(),
                        };

                        TipoPago(detalle);

                        detalleCajaServicio.AgregarDetalleCaja(detalle);

                        cajaServicio.SumarDineroACaja(_total);

                        //MessageBox.Show("Felicidades, Cobro Aceptado!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);

#pragma warning disable CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                        var mensaje = new Afirmacion("Genial", $"Cobro Aceptado!\n\nGanancia: $ {_total}\n{detalle.TipoPago}");
#pragma warning restore CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                        mensaje.ShowDialog();

                        foreach (var item in ListaVenta)
                        {
                            item.Precio = item.Cantidad * item.Precio;
                        }


                        if (ckbTicket.Checked)
                        {
                            VerTicket(ListaVenta.ToList());
                        }

                        //limpiar
                        btnLimpiar.PerformClick();
                    }
                }
                else
                {
                    if (ckbPedido.Checked)
                    {
                        bool Bandera = false;

                        foreach (var item in ListaVenta)
                        {
                            if (productoServicio.ObtenerPorId(item.ProductoId).Creacion)
                            {
                                Bandera = true;
                            }
                        }

                        if (!Bandera)
                        {
                            if (MessageBox.Show("Esta Por Crear Un Pedido Sin Ninguna Prenda Para Fabricar, Desea Continuar?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                            {
                                return;
                            }
                        }

                        var pedidos = new Pedido.Pedido(ListaVenta, _total, ventaServicio.ObtenerClienteName(ventaDto.ClienteId), _clienteId, txtDescripcion.Text);
                        pedidos.ShowDialog();

                        if (pedidos.semaforo)
                        {
                            if (ckbTicket.Checked)
                            {
                                VerTicket(ListaVenta.ToList());
                            }

                            btnLimpiar.PerformClick();
                        }
                    }

                    if (ckbCtaCte.Checked || ckbGuardar.Checked)
                    {
                        foreach (var item in ListaVenta)
                        {
                            var producto = productoServicio.ObtenerPorId(item.Id);

                            var producto_venta = new Producto_Venta_Dto
                            {
                                Cantidad    = item.Cantidad,
                                Descripcion = item.Descripcion,
                                Estado      = AccesoDatos.EstadoPedido.Terminado,
                                ProductoId  = item.Id,
                                Talle       = item.Talle,
                                Precio      = item.Precio * item.Cantidad,
                                VentaId     = 0,
                                TalleId     = ((TalleDto)cmbTalle.SelectedItem).Id
                            };

                            ListaCtaCte.Add(producto_venta);
                        }

                        var cuenta = new CtaCteClientePedido(_clienteId, _total, ListaCtaCte, ListaVenta);
                        cuenta.ShowDialog();

                        if (cuenta.semaforo)
                        {
                            if (ckbTicket.Checked)
                            {
                                VerTicket(ListaVenta.ToList());
                            }

                            btnLimpiar.PerformClick();
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Cargue la Grilla", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            btnSeleccionProducto.Select();
        }
        private void BtnCobrar_Click_1(object sender, EventArgs e)
        {
            var _cliente = _clienteServicio.ObtenerPorDni("99999999");


            //---------------------------------------------------------//

            //---------------------------------------------------------//

            var ObtenerComprobante = _comprobanteSalonServicio.ObtenerComprobantePorId(_comprobanteId);

            var FacturacionMesa = new ComprobanteCierreDto
            {
                Id        = ObtenerComprobante.ComprobanteId,
                MesaId    = ObtenerComprobante.MesaId,
                UsuarioId = UsuarioLogueadoId,
                ClienteId = _cliente.Id,
                Descuento = nudDescuento.Value,

                Fecha             = dtpFechaFactura.Value,
                Numero            = (int)nudNumero.Value,
                TipoDeComprobante = ((TipoComprobante)cmbTipoComprobante.SelectedItem),
                EstadoComprobante = EstadoComprobanteSalon.Enviado,
                Total             = nudTotal.Value,
                SubTotal          = nudTotal.Value,
                MozoId            = ObtenerComprobante.MozoId,
                Comensales        = ObtenerComprobante.Comensales,
            };

            var Cliente = _clienteServicio.ObtenerPorDni(txtDni.Text);

            if (Cliente == null)
            {
                MessageBox.Show("Por favor seleccione un medio de pago o un cliente valido", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            txtApyNom.Text       = Cliente.ApyNom;
            nudMontoActual.Value = Cliente.MontoMaximoCtaCte;

            if (nudTotal.Value > 0)
            {
                if (RadioCuentaCorriente.Checked)
                {
                    Cliente.MontoDeudaCtaCte += nudTotal.Value;
                    nudMontoRestar.Value      = nudTotal.Value;

                    if (Cliente.MontoDeudaCtaCte <= Cliente.MontoMaximoCtaCte)
                    {
                        RestanteCuentaCorriente.Value = Cliente.MontoMaximoCtaCte - nudTotal.Value;

                        var ClienteModificar = new ClienteDto()
                        {
                            Id = Cliente.Id,
                            MontoDeudaCtaCte  = Cliente.MontoDeudaCtaCte,
                            MontoMaximoCtaCte = Cliente.MontoMaximoCtaCte
                        };

                        _clienteServicio.ModificarCuentaCorriente(ClienteModificar);

                        _comprobanteSalonServicio.GenerarComprobanteCierre(FacturacionMesa);

                        var nuevoMovimiento = new MovimientoDto()
                        {
                            CajaId         = CajaAbiertaId,
                            ComprobanteId  = FacturacionMesa.Id,
                            TipoMovimiento = TipoMovimiento.Ingreso,
                            UsuarioId      = FacturacionMesa.UsuarioId,
                            Monto          = FacturacionMesa.Total,
                            Fecha          = FacturacionMesa.Fecha,
                            Descripcion    = "FAC_" + FacturacionMesa.TipoDeComprobante + "_" + FacturacionMesa.Numero + "_" +
                                             FacturacionMesa.Fecha.ToShortDateString().Replace("/", string.Empty) + "_SALON"
                        };
                        _movimientoServicio.Insertar(nuevoMovimiento);
                        _cajaServicio.ActualizarMontoDelSistema(nuevoMovimiento.Monto, nuevoMovimiento.CajaId);

                        var nuevoDetalle = new DetalleCajaDto()
                        {
                            CajaId    = CajaAbiertaId,
                            Monto     = FacturacionMesa.Total,
                            FormaPago = TipoPago.CtaCte
                        };

                        _detalleCajaServicio.InsertarDetalle(nuevoDetalle);

                        MessageBox.Show(@"Operacion realizada con Exito.", @"Atención", MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);


                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show(@"Monto Cuenta Corriente Insuficiente , seleccione otra forma de pago", @"Atención", MessageBoxButtons.OK,
                                        MessageBoxIcon.Error);

                        return;
                    }
                }
                else
                {
                    _comprobanteSalonServicio.GenerarComprobanteCierre(FacturacionMesa);

                    var nuevoMovimiento = new MovimientoDto()
                    {
                        CajaId         = CajaAbiertaId,
                        ComprobanteId  = FacturacionMesa.Id,
                        TipoMovimiento = TipoMovimiento.Ingreso,
                        UsuarioId      = FacturacionMesa.UsuarioId,
                        Monto          = FacturacionMesa.Total,
                        Fecha          = FacturacionMesa.Fecha,
                        Descripcion    = "FAC_" + FacturacionMesa.TipoDeComprobante + "_" + FacturacionMesa.Numero + "_" +
                                         FacturacionMesa.Fecha.ToShortDateString().Replace("/", string.Empty) + "_SALON"
                    };
                    _movimientoServicio.Insertar(nuevoMovimiento);
                    _cajaServicio.ActualizarMontoDelSistema(nuevoMovimiento.Monto, nuevoMovimiento.CajaId);


                    var nuevoDetalle = new DetalleCajaDto()
                    {
                        CajaId    = CajaAbiertaId,
                        Monto     = FacturacionMesa.Total,
                        FormaPago = TipoPago.Efectivo
                    };

                    _detalleCajaServicio.InsertarDetalle(nuevoDetalle);

                    MessageBox.Show(@"Operacion realizada con Exito.", @"Atención", MessageBoxButtons.OK,
                                    MessageBoxIcon.Exclamation);

                    _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Cerrada);

                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("Por favor ingrese un articulo.", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Error);
                _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Abierta);
            }
        }
Ejemplo n.º 20
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (VerificarDatosObligatorios())
            {
                if (nudTotal.Value <= 0)
                {
                    MessageBox.Show("El Total No Puede Ser Cero", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }

                if (txtDescripcion.Text == string.Empty)
                {
                    MessageBox.Show("Agregue Una Descripcion Para Poder Continuar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }

                if (MessageBox.Show("Esta Seguro de Continuar?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    var arreglo = new ArregloDto
                    {
                        Adelanto      = nudAdelanto.Value,
                        Total         = nudTotal.Value,
                        Apellido      = txtApellido.Text,
                        Nombre        = txtNombre.Text,
                        ClienteId     = _ClienteId,
                        Descripcion   = txtDescripcion.Text,
                        Estado        = AccesoDatos.EstadoArreglo.EnEspera,
                        FechaPedido   = DateTime.Now,
                        Horario       = cmbHorario.Text,
                        FechaRetirado = null,
                        FechaEntrega  = dtpFechaEntrega.Value.Date
                    };

                    arregloServicio.Insertar(arreglo);

                    var detalle = new DetalleCajaDto
                    {
                        Descripcion = "Arreglo de" + " " + txtApellido.Text + " " + txtNombre.Text,
                        Fecha       = DateTime.Now.ToLongDateString(),
                        Total       = nudAdelanto.Value,
                        CajaId      = detallCajaServicio.BuscarCajaAbierta()
                    };

                    TipoPago(detalle);

                    detallCajaServicio.AgregarDetalleCaja(detalle);

                    //dinero a caja
                    cajaServicio.SumarDineroACaja(nudAdelanto.Value);

#pragma warning disable CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    var mensaje = new Afirmacion("-- Arreglo Creado --", "Se Guardo Su Arreglo");
#pragma warning restore CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    mensaje.ShowDialog();

                    LimpiarArreglo();
                }
            }
            else
            {
                MessageBox.Show("Verifique Apellido, Titulo, Total: Mayor a 0", "Problemas", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 21
0
        private void btnCargar_Click(object sender, EventArgs e)
        {
            if (AsignarControles())
            {
                if (ckbNormal.Checked == false && ckbCtaCte.Checked == false && ckbTarjeta.Checked == false)
                {
                    MessageBox.Show("Seleccione el Tipo de Pago: Contado, CtaCte, Tarjeta.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }

                if (MessageBox.Show("Esta Seguro de Continuar? Puede ser un Cobro para Despues", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    var pedido = new PedidoDto
                    {
                        Adelanto        = nudAdelanto.Value,
                        Apellido        = txtApellido.Text,
                        FechaPedido     = DateTime.Now,
                        Nombre          = txtNombre.Text,
                        Proceso         = AccesoDatos.Proceso.InicioPedido,
                        FechaEntrega    = dtpFechaEntrega.Value.Date,
                        Total           = _total,
                        ClienteId       = ClienteId,
                        Descripcion     = txtDescripcion.Text,
                        Horario         = cmbHorario.Text,
                        DiasHastaRetiro = null
                    };

                    var pedidoId = pedidoServicio.NuevoPedido(pedido);

                    ProductoDto producto = new ProductoDto();

                    string segunda = string.Empty;

                    foreach (var item in ListaVentas)
                    {
                        producto = productoServicio.ObtenerPorId(item.Id);

                        segunda += " " + producto.Descripcion + " ";

                        //stock
                        productoServicio.BajarStock(producto.Id, item.Cantidad);
                    }

                    foreach (var item in ListaVentas)
                    {
                        var aux = new Producto_Pedido_Dto
                        {
                            Cantidad    = item.Cantidad,
                            ProductoId  = productoServicio.ObtenerPorId(item.Id).Id,
                            Estado      = AccesoDatos.EstadoPedido.Esperando,
                            Talle       = item.Talle,
                            PedidoId    = pedidoId,
                            Descripcion = segunda,
                            TalleId     = talleServicio.BuscarNombreDevuelveId(item.Talle),
                            Precio      = item.Precio
                        };

                        var _Id_Pedido = producto_Pedido_Servicio.NuevoProductoPedido(aux);

                        //datos
                        if (productoServicio.ObtenerPorId(item.Id).Creacion)
                        {
                            for (int i = 0; i < item.Cantidad; i++)
                            {
                                var dato = new Producto_Dato_Dto
                                {
                                    EstadoPorPedido   = AccesoDatos.EstadoPorPedido.EnEspera,
                                    Producto_PedidoId = _Id_Pedido
                                };

                                producto_Dato_Servicio.Insertar(dato);
                            }
                        }
                    }

                    var cuenta = new CtaCteDto
                    {
                        ClienteId   = ClienteId,
                        Estado      = AccesoDatos.CtaCteEstado.EnEspera,
                        Fecha       = dtpFechaEntrega.Value,
                        Total       = _total,
                        Debe        = _total - nudAdelanto.Value,
                        Descripcion = $"{segunda}",
                        PedidoId    = pedidoId
                    };

                    ctaCteServicio.Agregar(cuenta);


                    var detalle = new DetalleCajaDto
                    {
                        Descripcion = txtApellido.Text + " " + txtNombre.Text + " - " + segunda,
                        Fecha       = DateTime.Now.ToLongDateString(),
                        Total       = nudAdelanto.Value,
                        CajaId      = detallCajaServicio.BuscarCajaAbierta()
                    };

                    TipoPago(detalle);

                    detallCajaServicio.AgregarDetalleCaja(detalle);

                    //dinero a caja
                    cajaServicio.SumarDineroACaja(nudAdelanto.Value); //

#pragma warning disable CS0436                                        // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    var mensaje = new Afirmacion("Agregado a la Cuenta!", $"Dinero Cobrado Por Adelanto $ {nudAdelanto.Value}\nTipo de Pago: {detalle.TipoPago}");
#pragma warning restore CS0436                                        // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                    mensaje.ShowDialog();

                    if (ckbNormal.Checked || ckbTarjeta.Checked)
                    {
                        if (nudAdelanto.Value == _total)
                        {
                            foreach (var item in ListaVentas)
                            {
                                item.Precio = item.Cantidad * item.Precio;
                            }

                            //ticket

                            var fecha = new FechaDto
                            {
                                Fecha = DateTime.Now.ToShortDateString(),
                                Hora  = DateTime.Now.ToShortTimeString()
                            };

                            var factura = new Comprobante(ListaVentas.ToList(), fecha);
                            factura.ShowDialog();
                        }
                    }

                    semaforo = true;

                    this.Close();

                    return;
                }
            }
            else
            {
#pragma warning disable CS0436 // El tipo 'Negativo' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Negativo.cs' está en conflicto con el tipo importado 'Negativo' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Negativo.cs'.
                var mens = new Negativo("Error", "Apellido y Nombre \nno puede estar vacio");
#pragma warning restore CS0436 // El tipo 'Negativo' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Negativo.cs' está en conflicto con el tipo importado 'Negativo' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Negativo.cs'.
                mens.ShowDialog();
                //MessageBox.Show("El Campo Apellido y Nombre no puede estar vacio", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 22
0
        private void btnCobrar_Click(object sender, EventArgs e)
        {
            if (_CtaCteId != 0)
            {
                if (nudCobro.Value > 0)
                {
                    if (ckbNormal.Checked == false && ckbTarjeta.Checked == false)
                    {
                        MessageBox.Show("Seleccione Tipo de Pago: Contado o Tarjeta", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                        return;
                    }

                    if (MessageBox.Show("Esta Seguro de Cobrar?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        _ctaCteServicio.Pagar(nudCobro.Value, _ClienteId, _CtaCteId);

                        //Inicio Pedido
                        var ctacte = _ctaCteServicio.ObtenerPorId(_CtaCteId);

                        var pedido = pedidoServicio.BuscarIDPedidos(ctacte.PedidoId);

                        pedidoServicio.CambiarRamas(nudCobro.Value, ctacte.PedidoId);

                        if (pedido.Adelanto == pedido.Total)
                        {
                            pedidoServicio.CambiarProcesoTerminado(pedido.Id);
                        }

                        //caja

                        var detalle = new DetalleCajaDto
                        {
                            Fecha       = DateTime.Now.ToLongDateString(),
                            Total       = nudCobro.Value,
                            Descripcion = $"Cobro a {_clienteDto.Apellido} {_clienteDto.Nombre}",
                            CajaId      = detalleCajaServicio.BuscarCajaAbierta()
                        };

                        TipoPago(detalle);

                        detalleCajaServicio.AgregarDetalleCaja(detalle);

                        cajaServicio.SumarDineroACaja(nudCobro.Value);

                        //---//

                        DebeYTotal(_ctaCteServicio.Lista(_ClienteId));

                        //Fin Pedido

#pragma warning disable CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                        var mensaje = new Afirmacion("Cobrado", $"Se Le Cobro $ {nudCobro.Value} Exitosamente!\nTipo de Pago: {detalle.TipoPago}");
#pragma warning restore CS0436 // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                        mensaje.ShowDialog();

                        Grilla();

                        Datos();

                        nudCobro.Value = 0;

                        //nudCobroMaximo();
                    }
                }
            }
        }
Ejemplo n.º 23
0
        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!");
            }
        }
Ejemplo n.º 24
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (txtApellido.Text == string.Empty)
            {
                MessageBox.Show("Coloque El Nombre o el Apellido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;
            }

            if (!ckbTarjeta.Checked && !ckbNormal.Checked)
            {
                MessageBox.Show("Seleccione Contado o Tarjeta", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;
            }

            if (MessageBox.Show("Seguro de Continuar?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                ventaDto.ClienteId = _Cliente.Id;
                ventaDto.Fecha     = DateTime.Now;
                ventaDto.Total     = nudAdelanto.Value;

                var ventaId = ventaServicio.NuevaVenta(ventaDto);

                string descripcion = string.Empty;

                foreach (var item in ListaVenta)
                {
                    var producto = productoServicio.ObtenerPorId(item.ProductoId);

                    item.VentaId = ventaId;

                    descripcion += " " + item.Descripcion + " ";

                    // descontar stock
                    productoServicio.BajarStock(producto.Id, item.Cantidad);

                    producto_vent.NuevoProductoVenta(item);
                }

                AccesoDatos.Proceso _Proceso;

                if (_Cliente.Id == 1)
                {
                    _Proceso = AccesoDatos.Proceso.Guardado;
                }
                else
                {
                    _Proceso = AccesoDatos.Proceso.CtaCte;
                }

                var pedido = new PedidoDto
                {
                    Adelanto     = nudAdelanto.Value,
                    Apellido     = txtApellido.Text,
                    FechaPedido  = DateTime.Now,
                    Nombre       = txtNombre.Text,
                    Proceso      = _Proceso,
                    FechaEntrega = dtpFechaEntrega.Value,
                    Total        = _Total,
                    ClienteId    = _Cliente.Id,
                    Descripcion  = $"Espera de Pago - {txtApellido.Text} {txtNombre.Text}",
                    Horario      = $"Sera Retirado a la {cmbHorario.Text}"
                };

                var pedidoId = pedidoServicio.NuevoPedido(pedido);

                foreach (var item in ListaVentasDto2)
                {
                    var aux = new Producto_Pedido_Dto
                    {
                        Cantidad    = item.Cantidad,
                        ProductoId  = productoServicio.ObtenerPorId(item.Id).Id,
                        Estado      = AccesoDatos.EstadoPedido.Esperando,
                        Talle       = item.Talle,
                        PedidoId    = pedidoId,
                        Descripcion = descripcion,
                        TalleId     = talleServicio.BuscarNombreDevuelveId(item.Talle),
                        Precio      = item.Precio
                    };

                    producto_Pedido_Servicio.NuevoProductoPedido(aux);
                }

                var cuenta = new CtaCteDto
                {
                    ClienteId   = _Cliente.Id,
                    Estado      = AccesoDatos.CtaCteEstado.EnEspera,
                    Fecha       = DateTime.Now,
                    Total       = _Total,
                    Debe        = _Total - nudAdelanto.Value,
                    Descripcion = $"Prenda Guardada",
                    PedidoId    = pedidoId
                };

                ctaCteServicio.Agregar(cuenta);


                var detalle = new DetalleCajaDto
                {
                    Descripcion = txtApellido.Text + " " + txtNombre.Text,
                    Fecha       = DateTime.Now.ToLongDateString(),
                    Total       = nudAdelanto.Value,
                    CajaId      = detallCajaServicio.BuscarCajaAbierta()
                };

                TipoPago(detalle);

                detallCajaServicio.AgregarDetalleCaja(detalle);

                //dinero a caja
                cajaServicio.SumarDineroACaja(nudAdelanto.Value); //

#pragma warning disable CS0436                                    // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                var NewPrenda = new Afirmacion("Prenda Guardada", $"A Esperar...\nAdelanto de Cobro: $ {nudAdelanto.Value}\n\nTipo de Pago: {detalle.TipoPago}");
#pragma warning restore CS0436                                    // El tipo 'Afirmacion' de 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs' está en conflicto con el tipo importado 'Afirmacion' de 'Presentacion, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Se usará el tipo definido en 'C:\Users\Pepe\Source\Repos\JoseSabeckis\KosakoJean\Presentacion.Core\Mensaje\Afirmacion.cs'.
                NewPrenda.ShowDialog();

                semaforo = true;

                this.Close();
            }
        }