Exemple #1
0
        public void finalizaPedido()
        {
            PedidoDrone pedidoUm = new PedidoDrone()
            {
                Id = 1, StatusEnvio = (int)StatusEnvio.EM_TRANSITO
            };
            PedidoDrone pedidoDois = new PedidoDrone()
            {
                Id = 2, StatusEnvio = (int)StatusEnvio.EM_TRANSITO
            };

            List <PedidoDrone> listPedidoDrones = new List <PedidoDrone> {
                pedidoUm, pedidoDois
            };

            var _pedidoDroneRepository = Substitute.For <IPedidoDroneRepository>();

            _pedidoDroneRepository.RetornaPedidosParaFecharAsync().Returns(listPedidoDrones);

            ICoordinateService _coordinateService = null;
            IDroneRepository   _droneRepository   = null;
            PedidoRepository   _pedidoRepository  = null;

            var droneService = new DroneService(_coordinateService, _pedidoDroneRepository, _droneRepository, _pedidoRepository);

            droneService.FinalizaPedidosAsync().Wait();

            var existepedidoComStatusDiferenteDeFinalizado = listPedidoDrones.Any(_ => _.StatusEnvio != (int)StatusEnvio.FINALIZADO);

            Assert.True(!existepedidoComStatusDiferenteDeFinalizado);
        }
Exemple #2
0
        public IActionResult ExcluirPedido(int id)
        {
            PedidoRepository pedidoRepo = new PedidoRepository();

            pedidoRepo.ExcluirPedido(id);
            return(RedirectToAction("ListaPedidos"));
        }
Exemple #3
0
        public void TestaRegraPromocoesLight()
        {
            //Arrange
            PedidoRepository     pedidoRepo = new PedidoRepository();
            ItemPedidoRepository itemRepo   = new ItemPedidoRepository();

            FecharPedidoModel alface = new FecharPedidoModel()
            {
                idItemPedido            = 10,
                idPedido                = 4,
                idLanche                = 2,
                idIngrediente           = 2,
                idItemPedidoIngrediente = 1,
                valor      = 0.40,
                quantidade = 1,
                nomeLanche = "X-Bacon"
            };


            PromocaoBusiness promocaoBussiness = new PromocaoBusiness(itemRepo, pedidoRepo);


            //Act
            promocaoBussiness.promocaoLight(new List <FecharPedidoModel>()
            {
                alface
            });

            //Assert
            Assert.Equal(alface.valorDesconto, 0.04);
        }
Exemple #4
0
        public IActionResult RegistrarPedido(IFormCollection form)
        {
            var cliente = clienteRepository.ObterPor(HttpContext.Session.GetString(Const.SESSION_EMAIL));

            if (cliente.Email == null)
            {
                cliente = new Cliente(
                    nome: form["nome"],
                    email: form["email"],
                    endereco: form["endereco"],
                    telefone: form["telefone"]
                    );
            }
            var hamburguer = new Hamburguer(
                nome: form["hamburguer"],
                preco: HamburguerRepository.ObterPrecoDe(form["hamburguer"]),
                id: HamburguerRepository.ObterIdDe(form["hamburguer"])
                );
            var shake = new Shake(
                nome: form["shake"],
                preco: ShakeRepository.ObterPrecoDe(form["shake"]),
                id: ShakeRepository.ObterIdDe(form["shake"])
                );
            var pedido = new Pedido(
                cliente: cliente,
                hamburguer: hamburguer,
                shake: shake,
                dataPedido: DateTime.Now
                );
            PedidoRepository pedidoRepository = new PedidoRepository();

            pedido.PrecoTotal = hamburguer.Preco + shake.Preco;
            pedidoRepository.Inserir(pedido);
            return(View("Sucesso"));
        }
 public IActionResult Uvisualizar()
 {
     try
     {
         if (HttpContext.Session.GetInt32("idUsuarioUsuario") == null)
         {
             return(RedirectToAction("Login", "Usuario"));
         }
         else
         {
             if (HttpContext.Session.GetInt32("tipoUsuarioUsuario") == 0)
             {
                 PedidoRepository pr = new PedidoRepository();
                 Pedido           p  = new Pedido();
                 p.usuario = HttpContext.Session.GetString("nomeUsuarioUsuario");
                 List <Pedido> lista = pr.selectU(p);
                 return(View(lista));
             }
             else
             {
                 return(RedirectToAction("Index", "Home"));
             }
         }
     }
     catch (Exception e)
     {
         ViewBag.mensagem = e.Message;
         ViewBag.processo = "processo de visualização de encomendas";
         return(View("../Home/Erro"));
     }
 }
Exemple #6
0
        public void TestaRegraPromocaoCarne()
        {
            //Arrange
            PedidoRepository     pedidoRepo = new PedidoRepository();
            ItemPedidoRepository itemRepo   = new ItemPedidoRepository();

            FecharPedidoModel hamburger = new FecharPedidoModel()
            {
                idItemPedido            = 10,
                idPedido                = 4,
                idLanche                = 2,
                idIngrediente           = 4,
                idItemPedidoIngrediente = 1,
                valor      = 3,
                quantidade = 10,
                nomeLanche = "X-Bacon"
            };

            PromocaoBusiness promocaoBussiness = new PromocaoBusiness(itemRepo, pedidoRepo);


            //Act
            promocaoBussiness.promocaoCarne(new List <FecharPedidoModel>()
            {
                hamburger
            });

            //Assert
            Assert.Equal(hamburger.valorDesconto, 9);
        }
Exemple #7
0
        public void RetornarStatusDrone()
        {
            var sddUm = new StatusDroneDto {
                ClienteId = 1, PedidoId = "1"
            };
            var sddDois = new StatusDroneDto {
                ClienteId = 2, PedidoId = "2"
            };

            var listSdd = new List <StatusDroneDto> {
                sddUm, sddDois
            };

            var _droneRepository = new Mock <IDroneRepository>();

            _droneRepository.Setup(_ => _.GetDroneStatus()).Returns(listSdd);

            ICoordinateService     _coordinateService     = null;
            IPedidoDroneRepository _pedidoDroneRepository = null;
            PedidoRepository       _pedidoRepository      = null;

            var droneService = new DroneService(_coordinateService, _pedidoDroneRepository, _droneRepository.Object, _pedidoRepository);

            var result = droneService.GetDroneStatus();

            Assert.True(result.Count() == 2, "A quantidade de registros retornados não esperada");
        }
        private void Adicionar_Clicked(object sender, EventArgs e)
        {
            Produto produto = ListaProdutos.SelectedItem as Produto;
            var     pedido  = new Pedido
            {
                CompraId   = IdDessaCompra,
                ProdutoId  = produto.Id,
                Quantidade = int.Parse(TQuantidade.Text),
                Total      = (int.Parse(TQuantidade.Text) * produto.Valor)
            };

            using (var dados = new PedidoRepository())
            {
                if (TQuantidade != null && ListaProdutos.SelectedItem != null)
                {
                    _pedido = new Pedido
                    {
                        CompraId   = IdDessaCompra,
                        ProdutoId  = produto.Id,
                        Quantidade = int.Parse(TQuantidade.Text),
                        Total      = (int.Parse(TQuantidade.Text) * produto.Valor)
                    };
                    dados.Insert(_pedido);
                }
                LimparCampos();
                CarregarPedidos();
            }
        }
Exemple #9
0
        public void UpdatePedido_PassValidInput_ShouldBeReturnSuccess()
        {
            IRepository <Pedido> repository        = new PedidoRepository(_dbInMemory);
            IClienteRepository   clienteRepository = new ClienteRepository(_dbInMemory);
            IService <Pedido>    service           = new PedidoService(repository, clienteRepository);

            int idPedido       = _dbInMemory.Set <PedidoEntity>().First().Id;
            var pedidoToUpdate = service.GetById(idPedido);

            PedidoEntity entity = _dbInMemory.Set <PedidoEntity>().AsNoTracking().First();

            pedidoToUpdate.SetValorTotal(2000);

            try
            {
                service.Update(idPedido, pedidoToUpdate);
            }
            catch (DomainException ex)
            {
                throw new Exception(ex.BusinessMessage);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public PedidoController(ILogger <PedidoController> logger)
        {
            _logger = logger;
            repos   = new PedidoRepository();

            service = new PedidoService();
        }
 public void PedidoIntegracao_Teste()
 {
     _contexto    = new PizzariaContext();
     _pedido      = ObjectMother.Pedido;
     _repositorio = new PedidoRepository(_contexto);
     _service     = new PedidoService(_repositorio);
 }
 public void Initialize()
 {
     Database.SetInitializer(new InicializadorDb <Pedido>());
     pizzariaContext = new PizzariaContext();
     _repository     = new PedidoRepository(pizzariaContext);
     pedido          = ObjectMother.Pedido;
 }
        public PedidoQuery()
        {
            var connString = Environment.GetEnvironmentVariable("MongoConnection");
            var dataBase   = Environment.GetEnvironmentVariable("MongoDatabase");

            pedidoRepository = new PedidoRepository(connString, dataBase);
        }
Exemple #14
0
        public void TestaRegraPromocaoQueijo()
        {
            //Arrange
            PedidoRepository     pedidoRepo = new PedidoRepository();
            ItemPedidoRepository itemRepo   = new ItemPedidoRepository();

            FecharPedidoModel queijo = new FecharPedidoModel()
            {
                idItemPedido            = 10,
                idPedido                = 4,
                idLanche                = 2,
                idIngrediente           = 6,
                idItemPedidoIngrediente = 1,
                valor      = 1.50,
                quantidade = 10,
                nomeLanche = "X-Bacon"
            };

            PromocaoBusiness promocaoBussiness = new PromocaoBusiness(itemRepo, pedidoRepo);


            //Act
            promocaoBussiness.promocaoQueijo(new List <FecharPedidoModel>()
            {
                queijo
            });

            //Assert
            Assert.Equal(queijo.valorDesconto, 4.50);
        }
Exemple #15
0
        public async Task CreateOrUpdate_Success()
        {
            //arrange
            var pedido = new Pedido(
                new List <ItemPedido> {
                new ItemPedido("001", "produto 001", 1, 12.34m),
                new ItemPedido("002", "produto 002", 2, 23.45m)
            },
                "clienteId", "clienteNome", "*****@*****.**", "fone", "endereco", "complemento", "bairro", "municipio", "uf", "12345-678");

            var options = new DbContextOptionsBuilder <ApplicationContext>().UseInMemoryDatabase(databaseName: "database_name").Options;

            using (var context = new ApplicationContext(options))
            {
                var pedidoEntity = await context.AddAsync(pedido);

                var repo = new PedidoRepository(context);

                //act
                Pedido result = await repo.CreateOrUpdate(pedido);

                //assert
                Assert.Equal(2, result.Itens.Count);
                Assert.Collection(result.Itens,
                                  item => Assert.Equal("001", item.ProdutoCodigo),
                                  item => Assert.Equal("002", item.ProdutoCodigo)
                                  );
            }
        }
        public List <PedidoItem> PedidoObtenerItems(int idPedido, int numeroPagina, int cantidadRegistros)
        {
            PedidoRepository repository   = new PedidoRepository();
            ServicioGenerico servGenerico = new ServicioGenerico();

            string url_host = servGenerico.ParametroObtenerValor("URL_HOST");

            List <PedidoItem> itemsReturn = new List <PedidoItem>();

            List <PedidoItem> listItemsFULL = this.Listar <PedidoItem>("IdPedido", idPedido)
                                              .OrderBy(item => item.Producto.Ubicacion)
                                              .ToList <PedidoItem>();

            bool paginar = (numeroPagina != -1 && cantidadRegistros != -1);

            if (paginar)
            {
                int nro_fila = 1;
                listItemsFULL.ForEach(delegate(PedidoItem item)
                {
                    item.NroFila = nro_fila;
                    nro_fila++;
                });
                int filaDesde = (numeroPagina - 1) * cantidadRegistros;
                int filaHasta = filaDesde + cantidadRegistros;
                itemsReturn = listItemsFULL.FindAll(item => item.NroFila > filaDesde && item.NroFila <= filaHasta);
            }
            else
            {
                itemsReturn = listItemsFULL;
            }


            return(itemsReturn);
        }
Exemple #17
0
        public async Task <long> Create(PedidoInput pedidoInput, CancellationToken cancellationToken)
        {
            return(await Task.Run(() =>
            {
                pedidoInput.Validar();

                Pedido pedido = new Pedido();
                pedido.DataCriacao = DateTime.Now;
                //pedido.UsuarioCriacao = Thread.CurrentPrincipal.Identity;
                foreach (var itemInput in pedidoInput.Itens)
                {
                    ItemPedido item = new ItemPedido();
                    Produto produto = ProdutoRepository.GetById(itemInput.ProdutoId);
                    if (produto == null)
                    {
                        throw new Exception("Produto não encontrado");
                    }

                    item.Produto = produto;
                    item.Quantidade = itemInput.Qtd;
                    pedido.Itens.Add(item);
                }

                PedidoRepository.Add(pedido);
                return pedido.Id;
            }, cancellationToken));
        }
        private void btnDelete_Click(object sender, System.EventArgs e)
        {
            try
            {
                var result = MessageBox.Show("Deseja excluir esse Registro? ", "Exclusão", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    if (_pedido.ItensPedido != null && _pedido.ItensPedido.Count > 0)
                    {
                        for (int i = 0; i < _pedido.ItensPedido.Count; i++)
                        {
                            ItensPedidoRepository.Delete(_pedido.ItensPedido[i]);
                        }
                    }

                    if (_pedido.ItensPedidoDelete != null && _pedido.ItensPedidoDelete.Count > 0)
                    {
                        for (int i = 0; i < _pedido.ItensPedidoDelete.Count; i++)
                        {
                            ItensPedidoRepository.Delete(_pedido.ItensPedidoDelete[i]);
                        }
                    }

                    PedidoRepository.Delete(_pedido);
                }

                MessageBox.Show("Registro excluído com sucesso!", "Sucesso", MessageBoxButtons.OK);
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK);
            }
        }
Exemple #19
0
 public NotaFiscalController(NotaFiscalRepository notaFiscalRepo, PedidoRepository pedidoRepo, ItemPedidoRepository itemPedidoRepo, ItemNotaRepository itemNotaRepo)
 {
     _notaRepo       = notaFiscalRepo;
     _pedidoRepo     = pedidoRepo;
     _itemPedidoRepo = itemPedidoRepo;
     _itemNotaRepo   = itemNotaRepo;
 }
Exemple #20
0
        public IActionResult Registrar(IFormCollection form)
        {
            Pedido pedido = new Pedido();

            Shake shake = new Shake();

            shake.Nome  = form["shake"];
            shake.Preco = 0.0;

            pedido.shake = shake;

            Hamburguer hamburguer = new Hamburguer(form["hamburguer"], 0.0);

            pedido.Hamburguer = hamburguer;

            Cliente cliente = new CLiente()
            {
                Nome     = form["nome"],
                Endereco = form["endereco"],
                Telefone = form["telefone"],
                Email    = form["email"]
            };

            pedido.Cliente = cliente;

            pedido.DataDoPedido = DateTime.Now;

            pedido.PrecoTotal = 0.0;

            PedidoRepository.Inserir(pedido);


            return(ViewComponent("Sucesso"));
        }
Exemple #21
0
        public void IncluirPedidoTeste()
        {
            var pedidoRep = new PedidoRepository();
            var cliente   = new Cliente()
            {
                Id       = "abb1100",
                Nome     = "Lucas Teste",
                Email    = "*****@*****.**",
                Senha    = "teste1234",
                CPF      = "123.456.789-00",
                DataNasc = Convert.ToDateTime("03/11/2020"),
                Sexo     = "M",
                Telefone = "(11) 1234-5678",
                CEP      = "01234-567",
                Endereco = "Avenida etc",
                Numero   = "1234",
                Bairro   = "Vila Exemplo",
                Cidade   = "Balneario Exemplo",
                Estado   = "Exemplo Teste"
            };

            var pedido = new Pedido()
            {
                Numero     = 1,
                Cliente    = cliente,
                Status     = (PedidoStatus)1,
                ValorTotal = 5100
            };

            pedidoRep.IncluirPedido(pedido);

            //var pedidoGravado = pedidoRep.ObterPedidoPorClienteId(cliente.Id);

            Assert.IsNotNull(pedido.ListaProdutos != null, "Não foi possível gerar o pedido");
        }
        /// <summary>
        ///A test for Insert
        ///</summary>
        //[TestMethod()]
        public void InsertTest()
        {
            PedidoRepository target = new PedidoRepository();
            Pedido pedido = new Pedido();

            pedido.IdPedido = 999;
            pedido.IdParceiro = 1;
            pedido.Bairro = "Bairro Test";
            pedido.CEP = "CEP Test";
            pedido.Cidade = "Cidade Test";
            pedido.CPFCNPJ = "CPF Test";
            pedido.Data = DateTime.Now;
            pedido.Endereco = "Endereço Test";
            pedido.FormaPagamento = "FormaPagamento Test";
            pedido.Frete = 999;
            pedido.Nome = "Pedido Test";
            pedido.Status = "Status Test";
            pedido.UF = "RJ";

            pedido.ItensPedido = new List<ItemPedido>();

            pedido.ItensPedido.Add(new ItemPedido());
            pedido.ItensPedido[0].IdPedido = 999;
            pedido.ItensPedido[0].IdParceiro = 1;
            pedido.ItensPedido[0].IdItem = 1;
            pedido.ItensPedido[0].Nivel = 1;
            pedido.ItensPedido[0].NomeProduto = "Nome Produto Test 1";
            pedido.ItensPedido[0].Pontos = 99;
            pedido.ItensPedido[0].PrecoUnitario = 99;
            pedido.ItensPedido[0].Quantidade = 9;
            pedido.ItensPedido[0].ValorRebate = 6;

            pedido.ItensPedido.Add(new ItemPedido());
            pedido.ItensPedido[1].IdPedido = 999;
            pedido.ItensPedido[1].IdParceiro = 1;
            pedido.ItensPedido[1].IdItem = 2;
            pedido.ItensPedido[1].Nivel = 1;
            pedido.ItensPedido[1].NomeProduto = "Nome Produto Test 2";
            pedido.ItensPedido[1].Pontos = 99;
            pedido.ItensPedido[1].PrecoUnitario = 99;
            pedido.ItensPedido[1].Quantidade = 9;
            pedido.ItensPedido[1].ValorRebate = 6;

            pedido.ItensPedido.Add(new ItemPedido());
            pedido.ItensPedido[2].IdPedido = 999;
            pedido.ItensPedido[2].IdParceiro = 1;
            pedido.ItensPedido[2].IdItem = 3;
            pedido.ItensPedido[2].Nivel = 1;
            pedido.ItensPedido[2].NomeProduto = "Nome Produto Test 3";
            pedido.ItensPedido[2].Pontos = 99;
            pedido.ItensPedido[2].PrecoUnitario = 99;
            pedido.ItensPedido[2].Quantidade = 9;
            pedido.ItensPedido[2].ValorRebate = 6;

            target.Insert(pedido);

            Pedido pedidoTest = target.Obter("IdParceiro = " + pedido.IdParceiro + " AND IdPedido = " + pedido.IdPedido);

            Assert.IsNotNull(pedidoTest);
        }
        public FormPedido()
        {
            InitializeComponent();
            btnPrint.Visible = false;
            _pedido          = RepositorySingleton.GetInstance().PedidoAux;
            txtEstado.Text   = _pedido._StatusString;

            int lastId = PedidoRepository.GetMaxId(_pedido);

            if (lastId == 0)
            {
                lastId = 1;
            }
            else
            {
                lastId++;
            }

            txtNumero.Text       = lastId.ToString().PadLeft(6, '0');
            txtCadasterDate.Text = _pedido.CadasterDate.ToString("dd/MM/yyyy HH:mm:ss");
            AtualizaFormulario();

            btnEdit.Visible   = false;
            btnDelete.Visible = false;
        }
Exemple #24
0
        public async Task CreateOrUpdate_Pedido_NullAsync()
        {
            //arrange
            var repo = new PedidoRepository(contextoMock.Object);

            //act+assert
            await Assert.ThrowsAsync <ArgumentNullException>(() => repo.CreateOrUpdate(null));
        }
Exemple #25
0
        public PedidoController(PedidoRepository repositoryPedido, SaborRepository repositorySabor, TamanhoRepository repositoryTamanho, AdicionalRepository repositoryAdicional)
        {
            _repositoryPedido = repositoryPedido;

            controllerSabor     = new SaborController(repositorySabor);
            controllerTamanho   = new TamanhoController(repositoryTamanho);
            controllerAdicional = new AdicionalController(repositoryAdicional);
        }
        public void Delete(Pedido obj)
        {
            var Repository = new PedidoRepository();

            Repository.Delete(obj);

            Mensagem = $"Pedido {obj.id_codigo} excluído com sucesso";
        }
Exemple #27
0
        public void GetPedido_PassInvalidId_ShouldBeThrowException()
        {
            IRepository <Pedido> repository        = new PedidoRepository(_dbInMemory);
            IClienteRepository   clienteRepository = new ClienteRepository(_dbInMemory);
            IService <Pedido>    service           = new PedidoService(repository, clienteRepository);

            Assert.Throws <InvalidOperationException>(() => service.GetById(0));
        }
Exemple #28
0
 public async Task <PedidoOutput> Get(long id, CancellationToken cancellationToken)
 {
     return(await Task.Run(() =>
     {
         var pedido = PedidoRepository.GetById(id);
         return PedidoOutput.From(pedido);
     }, cancellationToken));
 }
 public PedidoApplicationService()
 {
     _repository              = new PedidoRepository();
     _repositoryCarrinho      = new CarrinhoRepository();
     _repositoryCarrinhoItens = new CarrinhoItensRepository();
     _repositoryPedidoItens   = new PedidoItensRepository();
     _repositoryProduto       = new ProdutoRepository();
 }
Exemple #30
0
        public void CookiesPedido()
        {
            PedidoRepository  pedidoRepository  = new PedidoRepository();
            CookiesRepository cookiesRepository = new CookiesRepository();
            Cookie            cookie            = cookiesRepository.FindById(2);

            Assert.Equal("Cookies de Morango", cookie.nome);
        }
        public bool EnviarComandaPorEmail(int pedidoId, out string email, out string erro, int tipoUsuarioId)
        {
            email = string.Empty;
            erro  = string.Empty;

            try
            {
                var pedidoDao = new PedidoRepository().Listar(new Pedido()
                {
                    PedidoID = pedidoId
                }, true, 1).Select(x => x.ToApp()).ToList().FirstOrDefault();

                if (pedidoDao == null)
                {
                    erro = $"Pedido {pedidoId} não encontrado";
                    return(false);
                }

                if (pedidoDao.ClienteDao.FirstOrDefault() == null || string.IsNullOrEmpty(pedidoDao.ClienteDao.FirstOrDefault().Email))
                {
                    erro = "E-mail do cliente não encontrado";
                    return(false);
                }

                var mensagem = $"Olá {pedidoDao.ClienteDao.FirstOrDefault().Nome.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).FirstOrDefault()}.<br /><br />";
                mensagem += (pedidoDao.PedidoTrocaID > 0 ? "Seu Pedido de Troca " : "Seu Pedido ") + pedidoDao.PedidoID + " foi recebido com sucesso!<br /><br />";
                mensagem += "Em anexo, segue todos os detalhes do seu pedido.<br /><br />";
                mensagem += "A Chico do Colchão agradece a preferência!";

                var bytes  = Comanda(pedidoDao, tipoUsuarioId);
                var stream = new MemoryStream(bytes);

                var emailDao = new EmailDao();

                emailDao.Titulo       = "Chico do Colchão";
                emailDao.Assunto      = pedidoDao.PedidoTrocaID > 0 ? $"Pedido de Troca {pedidoDao.PedidoID}" : $"Pedido {pedidoDao.PedidoID}";
                emailDao.Remetente    = "*****@*****.**";
                emailDao.Destinatario = pedidoDao.ClienteDao.FirstOrDefault().Email;
                emailDao.Mensagem     = mensagem;
                emailDao.Anexo.Add(new Attachment(stream, pedidoDao.PedidoTrocaID > 0 ? $"Pedido de Troca {pedidoDao.PedidoID}" : $"Pedido {pedidoDao.PedidoID}", "application/pdf"));

                emailBusiness.Enviar(emailDao);

                email = pedidoDao.ClienteDao.FirstOrDefault().Email;

                return(true);
            }
            catch (Exception ex)
            {
                erro = ex.Message;
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });
            }

            return(false);
        }
        public JsonResult PaineldeControleAdmin(int pedidoId)
        {
            ClienteRepository clienteRepository = new ClienteRepository();

            PedidoRepository pedidoRepository = new PedidoRepository();
            var pedido = pedidoRepository.Buscar(pedidoId);
            var cliente = clienteRepository.Buscar(pedido.clienteId);
            pedido.ckstatus = true;
            pedidoRepository.Update(pedido);
            EnviarMensagem em = new EnviarMensagem("*****@*****.**", cliente.email, "Vindo do Sistema de Armazem", String.Format("Olá {0},\n\nSeu pedido acaba de ter seu status alterado para PAGO!\n\nOs dados do seu pedido são,\nCliente: {0}\nProduto: {7}\nClasse Prod: {1}\nSubClasse Prod: {2}\nData de Início: {3}\nData de Fim: {4}\nValor total da quantia paga: {5}\nStatus do pedido: {6}", cliente.nome, pedido.classeId, pedido.subclasseId, pedido.dtInicio, pedido.dtFim, pedido.valorTotal, "Pago",pedido.produto), "Daniel");
            em.SubmeterEmail();

            return Json(new { mensagem = "Status de pagamento alterado com sucesso!" });
        }
 public void ListarPedidoTest()
 {
     PedidoRepository target = new PedidoRepository();
     IList<Pedido> actual = null;
     actual = target.Listar();
     Assert.IsNotNull(actual);
     actual = target.Listar(true);
     Assert.IsNotNull(actual);
     actual = target.Listar("UF = 'RJ'");
     Assert.IsNotNull(actual);
     actual = target.Listar("UF = 'RJ'", true);
     Assert.IsNotNull(actual);
 }
 public void ObterPedidoTest()
 {
     PedidoRepository target = new PedidoRepository();
     Pedido actual = null;
     actual = target.Obter("idPedido = 999 AND idParceiro = 1");
     Assert.IsNotNull(actual);
     actual = target.Obter("idPedido = 999 AND idParceiro = 1", true);
     Assert.IsNotNull(actual);
 }
        public void DeleteTest()
        {
            PedidoRepository target = new PedidoRepository();
            Pedido pedido = new Pedido();

            pedido.IdPedido = 999;
            pedido.IdParceiro = 1;

            target.Delete(pedido);

            Pedido pedidoTest = target.Obter("IdParceiro = " + pedido.IdParceiro + " AND IdPedido = " + pedido.IdPedido);

            Assert.IsNull(pedidoTest);
        }
        public ActionResult Simulacao(string produto, string classe, string subclasse, string armazenagem, int idarmazem, int qtdarmazem,
            DateTime dtInicio, DateTime dtFim)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(classe) || string.IsNullOrWhiteSpace(subclasse) || string.IsNullOrWhiteSpace(subclasse) || string.IsNullOrWhiteSpace(armazenagem) || string.IsNullOrWhiteSpace(produto))
                {
                    TempData["erro"] = "Nao deixe espacos em branco!";
                    return View();
                }
                if (DateTime.Now.Ticks > dtInicio.Ticks)
                {
                    TempData["erro"] = "A data de inicio nao pode ser menor que a data de hoje!";
                    return View();
                }
                if (dtFim.Ticks <= dtInicio.Ticks)
                {
                    TempData["erro"] = "A data de Fim nao pode ser menor ou igual a data de Inicio!";
                    return View();
                }
                if (qtdarmazem <= 0)
                {
                    TempData["erro"] = "Quantidade de espaco nao pode ser zero ou vazia!";
                    return View();
                }
                if (Negocio.armazemTemEspacoPraIsso(qtdarmazem, idarmazem))
                {
                    var dias = Negocio.retornaDiferencaEntreDuasDatas(dtFim, dtInicio);
                    decimal valorTotal = Convert.ToInt32(((dias * 10) * qtdarmazem) + 1000);

                    if (Session["User"] != null)
                    {
                        PedidoRepository pedidoRepository = new PedidoRepository();
                        ArmazemRepository armazemRepository = new ArmazemRepository();
                        Armazem armazem = new Armazem();

                        var nome = ((Cliente)(Session["User"])).nome;
                        var email = ((Cliente)(Session["User"])).email;
                        var clienteID = ((Cliente)(Session["User"])).clienteId;

                        armazem.clienteId = clienteID;
                        armazem.usadoArmazem = qtdarmazem;
                        armazem.tamanhoArmazemId = idarmazem;
                        //armazemRepository.Add(armazem);

                        Pedido pedido = new Pedido()
                        {
                            clienteId = clienteID,
                            classeId = Convert.ToInt32(classe),
                            subclasseId = Convert.ToInt32(subclasse),
                            armazenagemId = Convert.ToInt32(armazenagem),
                            produto = produto,
                            armazem = armazem,
                            dtInicio = dtInicio,
                            dtFim = dtFim,
                            valorTotal = valorTotal,
                            ckstatus = false
                        };

                        pedidoRepository.Add(pedido);

                        string msg = "Valor total a ser pago e: " + valorTotal + "\nOs dados do seu pedido, serao enviados para o seu e-mail.\nVerifique sua caixa de entrada.";
                        EnviarMensagem em = new EnviarMensagem("*****@*****.**", email, "Vindo do Sistema de Armazem", String.Format("Olá {0},\n\nObrigado por realizar o pedido em nosso sistema!\n\nOs dados do seu pedido são,\nCliente: {0}\nProduto: {8}\nClasse Prod: {1}\nSubClasse Prod: {2}\nID do Armazem: {3}\nData de Início: {4}\nData de Fim: {5}\nValor total a ser pago: {6}\nStatus do pedido: {7}", nome, classe, subclasse, idarmazem, dtInicio, dtFim, valorTotal, "Não pago",produto), "Daniel");
                        em.SubmeterEmail();
                        TempData["certo"] = msg;
                        return View("PaineldeControleUsuario");
                    }
                    else
                    {
                        dias = Negocio.retornaDiferencaEntreDuasDatas(dtFim, dtInicio);
                        valorTotal = Convert.ToInt32(((dias * 10) * qtdarmazem) + 1000);
                        string msg = "Valor total a ser pago e: " + valorTotal;
                        TempData["certo"] = msg;
                        return View();
                    }

                }
                else
                {
                    TempData["erro"] = "Falha na simulacao! Voce selecionou mais espaco que o disponivel.";
                    return View();
                }

            }
            catch (Exception ex)
            {
                TempData["erro"] = "Falha na simulação. Erro: " + ex.Message;
                return View();
            }
        }
        public JsonResult trazerPedidosAdmin()
        {
            List<PedidoView> ListaPedidoView = new List<PedidoView>();
            PedidoRepository pedidoRepository = new PedidoRepository();
            foreach (var item in pedidoRepository.Listar())
            {
                PedidoView pedido = new PedidoView()
                {
                    pedidoId = item.pedidoId,
                    clienteId = item.clienteId,
                    classeId = item.classeId,
                    subclasseId = item.subclasseId,
                    armazenagemId = item.armazenagemId,
                    armazemId = item.armazemId,
                    produto = item.produto,
                    dtInicio = item.dtInicio.ToShortDateString(),
                    dtFim = item.dtFim.ToShortDateString(),
                    valorTotal = item.valorTotal,
                    ckstatus = item.ckstatus
                };

                ListaPedidoView.Add(pedido);
            }
            return Json(ListaPedidoView, JsonRequestBehavior.AllowGet);
        }