Ejemplo n.º 1
0
        public static void InserirCD()
        {
            var context = new DistribuicaoContext();

            Console.WriteLine("Você selecionou a opção de Inserir Centro de Distribuição");
            Console.WriteLine("Informe Razão Social (Nome): ");
            var razao = Console.ReadLine();

            Console.WriteLine("Informe CNPJ: ");
            var cnpj = Console.ReadLine();

            Console.WriteLine("Informe Endereco: ");
            var endereco = Console.ReadLine();

            Console.WriteLine("Informe Telefone: ");
            var telefone = Console.ReadLine();

            Console.WriteLine("Informe Tipo de CD (Ramo): ");
            var tipo = Console.ReadLine();

            var centro = context.CentrosDistribuicao.FirstOrDefault(q => q.Cnpj == cnpj);

            if (centro != null)
            {
                Console.Clear();
                Console.WriteLine("-------------------------------------------------------------");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(" Este Centro de Distribução já consta na nossa base de dados!");
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("\n Deseja inserir Novo CD ? \n S - Sim / N - Não ");
                var resp = Console.ReadLine();
                if (resp.ToUpper() == "S")
                {
                    Console.Clear();
                    InserirCD();
                }
            }
            else
            {
                var centrosdt = new CentroDistribuicao
                {
                    RazaoSocial = razao,
                    Cnpj        = cnpj,
                    Endereco    = endereco,
                    Telefone    = telefone,
                    Tipo        = tipo
                };
                context.CentrosDistribuicao.Add(centrosdt);
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Centro de Distribuição cadastrado com sucesso!");
                Console.ForegroundColor = ConsoleColor.White;
            }
            context.SaveChanges();
        }
Ejemplo n.º 2
0
        private static Local[] derivarLocais(ParadaRoteiroColetaDTO[] paradas, CentroDistribuicao centroDistribuicao)
        {
            List <Local> locais = new List <Local>();

            locais.Add(
                new Local()
            {
                Endereco  = centroDistribuicao.Endereco,
                Municipio = centroDistribuicao.Municipio.Nome,
                Uf        = centroDistribuicao.Municipio.Uf.Sigla
            }
                );

            foreach (var parada in paradas)
            {
                locais.Add(
                    new Local()
                {
                    Endereco  = parada.Endereco,
                    Municipio = parada.Municipio,
                    Uf        = parada.Uf
                }
                    );
            }

            locais.Add(
                new Local()
            {
                Endereco  = centroDistribuicao.Endereco,
                Municipio = centroDistribuicao.Municipio.Nome,
                Uf        = centroDistribuicao.Municipio.Uf.Sigla
            }
                );

            return(locais.ToArray());
        }
Ejemplo n.º 3
0
        public object Post(
            [FromBody] Usuario usuario,
            [FromServices] DAOUsuario usersDAO,
            [FromServices] SigningConfigurations signingConfigurations,
            [FromServices] TokenConfigurations tokenConfigurations)
        {
            bool    credenciaisValidas = false;
            Usuario usuarioBase        = null;

            if (usuario != null && !String.IsNullOrWhiteSpace(usuario.Cpf))
            {
                usuarioBase        = usersDAO.obter(usuario.Cpf);
                credenciaisValidas = (usuarioBase != null &&
                                      usuario.Cpf == usuarioBase.Cpf &&
                                      usuario.Senha == usuarioBase.Senha);
            }

            if (credenciaisValidas)
            {
                ClaimsIdentity identity = new ClaimsIdentity(
                    new GenericIdentity(usuarioBase.Cpf, "Login"),
                    new[] {
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                    new Claim(JwtRegisteredClaimNames.UniqueName, usuarioBase.Cpf),
                    new Claim("role", usuarioBase.Perfil)
                }
                    );

                DateTime dataCriacao   = DateTime.Now;
                DateTime dataExpiracao = dataCriacao +
                                         TimeSpan.FromSeconds(tokenConfigurations.Seconds);

                var handler       = new JwtSecurityTokenHandler();
                var securityToken = handler.CreateToken(new SecurityTokenDescriptor
                {
                    Issuer             = tokenConfigurations.Issuer,
                    Audience           = tokenConfigurations.Audience,
                    SigningCredentials = signingConfigurations.SigningCredentials,
                    Subject            = identity,
                    NotBefore          = dataCriacao,
                    Expires            = dataExpiracao
                });
                var token = handler.WriteToken(securityToken);

                CentroDistribuicao cd = null;
                if (usuarioBase.Perfil == "Supervisor de Distribuição")
                {
                    SupervisorLogistica sup = (new DAOSupervisorLogistica()).obter(usuarioBase.Cpf);
                    if (sup != null)
                    {
                        cd = sup.CentroDistribuicao;
                    }
                }

                return(new
                {
                    sucesso = true,
                    criacaoToken = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"),
                    tokenExpiraEm = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"),
                    token = token,
                    mensagem = "OK",
                    usuario = usuarioBase,
                    cd = cd
                });
            }
            else
            {
                return(new
                {
                    sucesso = false,
                    mensagem = "Falha na autenticação."
                });
            }
        }
Ejemplo n.º 4
0
        public static RoteiroColetaDTO gerarRoteiroManual(ParadaRoteiroColetaDTO[] paradas, CentroDistribuicao centroDistribuicao)
        {
            ConectorRotas    conector = new ConectorMapQuest();
            RoteiroColetaDTO roteiro  = null;

            Local[] locais = derivarLocais(paradas, centroDistribuicao);

            MensuracaoRota m = conector.obterMensuracaoRota(locais).Result;

            float distanciaTotal = m.DistanciaTotal;

            float[] distanciasTrechos = m.DistanciasTrechos;

            for (int p = 0; p < paradas.Length; p++)
            {
                paradas[p].Distancia = distanciasTrechos[p];
            }

            roteiro           = new RoteiroColetaDTO();
            roteiro.Distancia = distanciaTotal;
            roteiro.Paradas   = paradas;

            return(roteiro);
        }
Ejemplo n.º 5
0
        public static RoteiroColetaDTO gerarRoteiroAutomatico(ParadaRoteiroColetaDTO[] paradas, CentroDistribuicao centroDistribuicao)
        {
            ConectorRotas    conector = obterConectorRotas();
            RoteiroColetaDTO roteiro  = null;

            Local[] locais = derivarLocais(paradas, centroDistribuicao);

            OtimizacaoRota o = conector.obterOtimizacaoRota(locais).Result;

            float distanciaTotal = o.DistanciaTotal;

            int[]   indicesReordenados = o.SequenciaLocais;
            float[] distanciasTrechos  = o.DistanciasTrechos;

            List <ParadaRoteiroColetaDTO> paradasReordenadas = new List <ParadaRoteiroColetaDTO>();

            foreach (var indice in indicesReordenados)
            {
                int i = indice;
                if ((i != 0) && (i != (indicesReordenados.Count() - 1)))
                {
                    paradasReordenadas.Add(paradas[i - 1]);
                }
            }

            for (int p = 0; p < paradasReordenadas.Count; p++)
            {
                float distanciaTrecho = distanciasTrechos[p];
                paradasReordenadas[p].Distancia = distanciaTrecho;
            }

            roteiro           = new RoteiroColetaDTO();
            roteiro.Distancia = distanciaTotal;
            roteiro.Paradas   = paradasReordenadas.ToArray();

            return(roteiro);
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            var novosFilmes = new List <IItem>()
            {
                new Filme()
                {
                    Categoria = Filme.Genero.AÇÃO, Nome = "Duro de Matar", Preco = 10, FilmeId = 1
                },
                new Filme()
                {
                    Categoria = Filme.Genero.ANIME, Nome = "Dragon Ball Super", Preco = 7.90, FilmeId = 2
                },
                new Filme()
                {
                    Categoria = Filme.Genero.ANIME, Nome = "Dragon Ball Z", Preco = 3.90, FilmeId = 3
                },
                new Filme()
                {
                    Categoria = Filme.Genero.ANIME, Nome = "Dragon Ball GT", Preco = 5.90, FilmeId = 4
                },
            };


            IEstoque Netflix = new AcervoFilmes();

            foreach (var item in novosFilmes)
            {
                Netflix.Adicione(item);
            }


            LocadoraFilmes locacao = new LocadoraFilmes(Netflix);

            locacao.AdicionaItens(novosFilmes[0]);
            locacao.AdicionaItens(novosFilmes[1]);


            locacao.Totalizar();
            Console.WriteLine("----------NetFlix------------");
            locacao.RealizaPagamento(20.80);

            foreach (Filme item in locacao.Compras())
            {
                Console.WriteLine("Filmes {0}  Preço: {1}", item.Nome, item.Preco);
            }



            var novosProdutos = new List <IItem>()
            {
                new Produto()
                {
                    ProdutoId = 1, Nome = "X BOX ONE X", Preco = 2500.00, Tipo = Produto.Categoria.GAMES
                },
                new Produto()
                {
                    ProdutoId = 2, Nome = "X BOX ONE S", Preco = 1500.00, Tipo = Produto.Categoria.GAMES
                },
                new Produto()
                {
                    ProdutoId = 3, Nome = "PS4 PRO", Preco = 1900.00, Tipo = Produto.Categoria.GAMES
                },
                new Produto()
                {
                    ProdutoId = 4, Nome = "PS4", Preco = 1500.00, Tipo = Produto.Categoria.GAMES
                },
            };

            IEstoque estoqueDaLoja = new CentroDistribuicao();

            foreach (var item in novosProdutos)
            {
                estoqueDaLoja.Adicione(item);
            }

            Loja compra = new Loja(estoqueDaLoja);

            //Adiciona o X Box One X
            compra.AdicionaItens(novosProdutos[0]);
            //Retira o X Box One X
            compra.RetiraItens(novosProdutos[0]);

            compra.AdicionaItens(novosProdutos[3]);

            compra.Totalizar();

            Console.WriteLine("----------Loja de Produtos------------");
            foreach (Produto item in compra.Compras())
            {
                Console.WriteLine("Items: {0} Preço: {1}", item.Nome, item.Preco);
            }



            compra.RealizaPagamento(2000);

            Console.WriteLine("----------------------");
            //Console.ReadKey();



            Console.WriteLine("------------------Contar a Receber------------------");



            var cliente = new Cliente()
            {
                Nome      = "Halyson",
                Sobrenome = "Mendonca",
                Cpf       = "008.505.503.21",
                Cartao    = "100-80"
            };

            var dup1 = new DuplicataReceber()
            {
                Id = 1, Pessoa = cliente, Valor = 10, Vencimento = Convert.ToDateTime("2018/09/10"), Sigla = "DP"
            };
            var dup2 = new DuplicataReceber()
            {
                Id = 2, Pessoa = cliente, Valor = 20.20, Vencimento = Convert.ToDateTime("2018/09/10"), Sigla = "DP"
            };
            var dup3 = new DuplicataReceber()
            {
                Id = 3, Pessoa = cliente, Valor = 10.20, Vencimento = Convert.ToDateTime("2018/09/20"), Sigla = "DP"
            };
            var dup4 = new DuplicataReceber()
            {
                Id = 4, Pessoa = cliente, Valor = 2, Vencimento = Convert.ToDateTime("2018/09/18"), Sigla = "DP"
            };

            var nota1 = new NotaPromissoriaReceber()
            {
                Id = 4, Pessoa = cliente, Valor = 2, Vencimento = Convert.ToDateTime("2018/09/18")
            };

            //Valor a parcelar
            var dup5 = new DuplicataReceber()
            {
                Id = 5, Pessoa = cliente, Valor = 2000, Vencimento = Convert.ToDateTime("2018/09/17"), Sigla = "NP"
            };

            ITituloReceber rec = new TituloReceber();

            rec.Adicionar(dup1);
            rec.Adicionar(dup2);
            rec.Adicionar(dup3);
            rec.Adicionar(dup4);
            rec.Adicionar(dup5);

            //ParcelarPrimeiraVez
            rec.Parcelar(dup5, 4);


            var listar = rec.ObterPorCliente(cliente);

            foreach (DuplicataReceber item in listar)
            {
                if (item.Referencia != null)
                {
                    Console.WriteLine("Id:{0} {1} {2} {3} Ref:{4}", item.Id, item.Pessoa.Nome, item.Valor, item.Vencimento.ToShortDateString(), item.Referencia.Id);
                }
                else
                {
                    Console.WriteLine("Id:{3} {0} {1} {2}", item.Pessoa.Nome, item.Valor, item.Vencimento.ToShortDateString(), item.Id);
                }
            }

            //tentar parcelar novamente.
            rec.Parcelar(dup5, 3);



            Console.ReadKey();
        }