Example #1
0
        public string InsertVenda(VendaRequest request)
        {
            try
            {
                var itens = request.Itens.Select(item => new VendaItem(item.IdProduto,
                                                                       item.Quantidade,
                                                                       item.Valor)).ToList();

                var venda = new Venda(request.IdVendedor, itens);

                if (venda.Invalido)
                {
                    return("Não foi possível se comunicar com a base de dados!");
                }

                _contexto.Add(venda);
                _contexto.SaveChanges();

                return("OK");
            }
            catch (Exception)
            {
                return("Não foi possível se comunicar com a base de dados!");
            }
        }
Example #2
0
        public void ExecuteVendaTest()
        {
            VendaResponse response;
            var           term    = factory.NewInstance();
            VendaAction   action  = new VendaAction(term);
            VendaRequest  request = new VendaRequest(
                null, //new DataFiscal(DateTime.Now.AddDays(2)),
                null, //new HoraFiscal(DateTime.Now),
                null, //new NumeroDeParcelas(1),
                null, //new TipoDeFinanciamento(2),
                new NumeroDoCartao("4024007122405250"),
                new DataDeVencimento(12, 15),
                new CodigoDeSeguranca("123"),
                new Valor(100.00)
                );

            response = action.Execute(request);

            foreach (var field in response.GetFields())
            {
                System.Console.WriteLine(field);
            }

            //Confirmando em outro terminal
            if (!response.Failure())
            {
                new FinalizaTransacaoAction(term).Execute(new CancelaVenda(response.DadosDeConfirmacao));
            }

            Assert.IsFalse(response.Failure());
        }
Example #3
0
        public IActionResult registrarvenda([FromBody] VendaRequest lTipo)
        {
            var lStatus = StatusDaVenda.Status.AguardandoPagamento;

            _vendasRepository.Registrar(lTipo);

            return(StatusCode(200, lStatus));
        }
Example #4
0
        public static Venda ToVenda(this VendaRequest vendaRequest)
        {
            Venda venda = new Venda();

            venda.EventoId   = vendaRequest.EventoId;
            venda.Quantidade = vendaRequest.Quantidade;

            return(venda);
        }
        public async Task <VendaResponse> Create([FromBody] VendaRequest vendaRequest)
        {
            var venda = _mapper.Map <Venda>(vendaRequest);
            var p     = await _vendaService.Create(venda);

            var response = _mapper.Map <VendaResponse>(p);

            return(response);
        }
Example #6
0
 public IActionResult PostVenda([FromBody] VendaRequest vendaRequest)
 {
     if (ModelState.IsValid)
     {
         var venda = vendaRequest.ToVenda();
         venda.UsuarioEmail = User.Identity.Name;
         var deu = _vendaRepository.Add(venda);
         if (deu)
         {
             var uri        = Url.Action("GetVenda", new{ id = venda.Id });
             var uriEvento  = Url.Action("GetEvento", "Evento", new{ id = venda.EventoId });
             var uriUsuario = Url.Action("GetUsuario", "Usuario", new{ email = venda.UsuarioEmail });
             return(Created(uri, venda.ToVendaResponse(uriEvento, uriUsuario)));
         }
         return(BadRequest("Evento ou Email inválidos."));
     }
     return(BadRequest("Requisição inválida"));
 }
Example #7
0
        public void Registrar(VendaRequest aVendas)
        {
            var lItensVendidos = aVendas.ItensVendidos;

            Venda lVenda = new Venda()
            {
                DataDaVenda = System.DateTime.Now,
                idVendedor  = aVendas.Vendedor.id,
                idStatus    = 1,
            };


            var lID = _db.Insert(lVenda);

            foreach (var item in lItensVendidos)
            {
                item.idVenda = Convert.ToInt32(lID);
            }

            ItensVendidos(lItensVendidos);
        }
Example #8
0
        public IActionResult InserVenda([FromBody] VendaRequest request)
        {
            request.Validar();

            if (request.Invalido)
            {
                return(BadRequest(request.Notificacoes));
            }

            var venda   = new VendaApplication(_contexto);
            var retorno = venda.InsertVenda(request);

            if (retorno == "OK")
            {
                return(Ok("Venda cadastrada com sucesso!"));
            }
            else
            {
                return(BadRequest(retorno));
            }
        }
Example #9
0
        public void ExecuteCancelaVendaTest()
        {
            decimal valor = new Random().Next(20, 120) * 100;

            // Primeiro executa uma venda

            VendaResponse venda;
            var           term    = factory.NewInstance();
            VendaAction   action  = new VendaAction(term);
            VendaRequest  request = new VendaRequest(
                null, //new DataFiscal(DateTime.Now.AddDays(2)),
                null, //new HoraFiscal(DateTime.Now),
                null, //new NumeroDeParcelas(1),
                null, //new TipoDeFinanciamento(2),
                new NumeroDoCartao("4024007122405250"),
                new DataDeVencimento(12, 15),
                new CodigoDeSeguranca("123"),
                new Valor(valor)
                );

            venda = action.Execute(request);

            foreach (var field in venda.GetFields())
            {
                System.Console.WriteLine(field);
            }

            if (!venda.Failure())
            {
                new FinalizaTransacaoAction(term).Execute(new  ConfirmaVenda(venda.DadosDeConfirmacao));
            }

            Assert.IsFalse(venda.Failure());

            System.Console.WriteLine("\n-----------------------------------------\n");

            var nsuHost = venda.NSUHost.Value;

            CancelaVendaResponse cancelResponse;
            CancelaVendaAction   cancelAction  = new CancelaVendaAction(term);
            CancelaVendaRequest  cancelRequest = new CancelaVendaRequest
                                                 (
                Rede.CIELO,
                new NumeroDoCartao("402400******5250"),
                new NSUHost(nsuHost),
                venda.Data,
                new Valor(valor - 10)
                                                 );

            cancelResponse = cancelAction.Execute(cancelRequest);


            foreach (var field in cancelResponse.GetFields())
            {
                System.Console.WriteLine(field);
            }

            if (!cancelResponse.Failure())
            {
                new FinalizaTransacaoAction(term).Execute(new ConfirmaVenda(cancelResponse.DadosDeConfirmacao));
            }

            Assert.IsFalse(cancelResponse.Failure());
        }
 public async Task Update([FromBody] VendaRequest vendaRequest)
 {
     var venda = _mapper.Map <Venda>(vendaRequest);
     await _vendaService.Update(venda);
 }