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(); }
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()); }
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." }); } }
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); }
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); }
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(); }