Ejemplo n.º 1
0
 public PedidoTest()
 {
     pedidoValidator = new PedidoValidator();
     emailValido     = "*****@*****.**";
     enderecoValido  = new Endereco.Endereco(emailValido, "14801-320", "Goiás", 2525, "AP 503", "Centro", "Araraquara", "São Paulo");
     itemValido      = new PedidoItem(Guid.Parse("a41e9498-5a5c-4267-b3d4-8d54dc8a8266"), 1);
     pedidoValido    = new Pedido.Pedido("*****@*****.**", Enums.StatusEntrega.AGUARDANDOENVIO, DateTime.Now, new List <PedidoItem>(), enderecoValido);
 }
Ejemplo n.º 2
0
        public void RealizarPedidoCommand_Sucesso()
        {
            var email   = "*****@*****.**";
            var command = new RealizarPedidoCommand(email);

            var endereco = new Endereco.Endereco(email, "14801-320", "Rua Goiás", 23, "", "Centro", "Araraquara", "SP");

            _enderecoQueryRepositoryMock.Setup(x => x.ObterPorEmail(email)).Returns(endereco);

            var pedido = new Pedido.Pedido("*****@*****.**", Enums.StatusEntrega.AGUARDANDOENVIO, DateTime.Now, new List <PedidoItem>(), endereco);

            _pedidoCommandRepositoryMock.Setup(x => x.Adicionar(pedido));

            var evento = new PedidoRealizadoEvent(pedido);

            _mediatorHandlerMock.Setup(x => x.PublicarEvento(evento));

            var result = pedidoCommandHandler.Handle(command, new System.Threading.CancellationToken());

            _pedidoQueryRepositoryMock.Verify();
            _enderecoQueryRepositoryMock.Verify();
        }
        public static bool LancarMovmentacaoPedido(ISession session, Pedido.Pedido pedido)
        {
            foreach (PagamentoPedido pag in pedido.Pagamento)
            {
                // Pega o fator de multiplicação da parcela.
                decimal fator = pedido.ValorPedido / pag.Valor;
                // Cria o lançamento
                var lanc = new RecebimentoVenda
                {
                    DataMovimento  = pedido.DataPedido,
                    Caixa          = pedido.Caixa,
                    Usuario        = pedido.Usuario,
                    FormaPagamento = pag.FormaPagamento,
                    Historico      = "Pagamento do pedido: " + pedido.Id
                                     + " parcela: " + pag.Parcela,
                    Valor = pag.Valor
                };

                session.Save(lanc);
            }
            return(true);
        }
        public static PagamentoCliente Save(PagamentoCliente pag, Pedido.Pedido pedido)
        {
            ITransaction t = NHibernateHttpModule.Session.BeginTransaction();

            try
            {
                if (pag.Valor < 0)
                {
                    pag.Valor *= -1;
                }

                pag.Caixa         = pedido.Caixa;
                pag.DataMovimento = pedido.DataPedido;
                pag.Usuario       = pedido.Usuario;
                TituloRepository.IncluirRecebimentoCliente(pag);
                //var lanc = new Lancamento
                //{
                //    DataLancamento = pag.DataMovimento,
                //    TipoTitulo = pag.TipoRecebimento.TipoTitulo,
                //    Pessoa = pag.Cliente,
                //    Valor = pag.Valor,
                //    Desconto = pag.Descontos,
                //    Historico = pag.Historico,
                //    Documento = pag.Documento
                //};
                //LancamentoRepository.GeraPartida(lanc);
                NHibernateHttpModule.Session.Save(pag);
                //NHibernateHttpModule.Session.Save(lanc);
            }
            catch (Exception)
            {
                t.Rollback();
                throw;
            }
            return(pag);
        }
Ejemplo n.º 5
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();
        }
Ejemplo n.º 6
0
 public static RecebimentoVenda CreateRecebimentoVendaByPedido(PagamentoPedido pag, Pedido.Pedido pedido)
 {
     return(new RecebimentoVenda
     {
         DataMovimento = pedido.DataPedido,
         Caixa = pedido.Caixa,
         Usuario = pedido.Usuario,
         Empresa = pedido.Empresa,
         FormaPagamento = pag.FormaPagamento,
         Historico = "RECEBIMENTO DO PEDIDO " + pag.Pedido.Id + " PARCELA " + pag.Parcela,
         Valor = pag.ValorTotal
     });
 }