public override void salvar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            Passagens Classe = (Passagens)entidade;

            foreach (Departamento d in Classe.Departamentos)
            {
                pst.Dispose();
                pst             = new NpgsqlCommand();
                pst.CommandText = "insert into dep_pass ( pass_id, id_dep ) values (  :no,:nomm )";
                parameters      = new NpgsqlParameter[]
                {
                    new NpgsqlParameter("no", Classe.ID),
                    new NpgsqlParameter("nomm", d.ID)
                };
                pst.Parameters.Clear();
                pst.Parameters.AddRange(parameters);
                pst.Connection  = connection;
                pst.CommandType = CommandType.Text;
                pst.ExecuteNonQuery();
            }
            pst.CommandText = "commit work";
            pst.ExecuteNonQuery();
            connection.Close();
            return;
        }
Exemple #2
0
        /// <summary>
        /// Método que Recebe parametros da View passagens.cshtml, por meio do clique em um link.
        /// Os Parametros são passados atravez da URL
        /// </summary>
        /// <param name="Id">Id da passagem a ser comprada</param>
        /// <param name="DataIda">Data de Ida</param>
        /// <param name="DataVolta">Data de Volta</param>
        /// <param name="IdDestino">Id do Destino</param>
        /// <param name="NomeDestino">Nome do Destino</param>
        /// <param name="IdOrigem">Id da Origem</param>
        /// <param name="NomeOrigem">Nome da Origem</param>
        /// <param name="Preco">Preço da passagem</param>
        /// <param name="Tipo">Tipo da passagem: 0 para ida, 1 para ida e volta</param>
        /// <returns>Outra view, contendo os Detalhes da passagem selecionada e campos extras para serem preenchidos</returns>
        public ActionResult comprarPassagem(int Id        = 0, string DataIda     = "", string DataVolta = "",
                                            int IdDestino = 0, string NomeDestino = "",
                                            int IdOrigem  = 0, string NomeOrigem  = "", int Preco = 0, int Tipo = 0)
        {
            Passagens passagem = new Passagens(Id, Tipo, IdOrigem, IdDestino, DataIda, DataVolta, Preco, NomeOrigem, NomeDestino);

            ViewBag.passagem   = passagem;
            ViewData["passag"] = passagem;
            return(View(passagem));
        }
Exemple #3
0
        public void OnGet(int partida, int chegada, string date)
        {
            if (partida != 0 && chegada != 0)
            {
                GetRoles = Getvoo(partida, chegada, date);
                if (GetRoles.Count > 0)
                {
                    Passagens gr     = ((Passagens)GetRoles.ElementAt(0));
                    var       sCoord = new GeoCoordinate(gr.LO_partida.lat, gr.LO_partida.lng);
                    var       eCoord = new GeoCoordinate(gr.LO_chegada.lat, gr.LO_partida.lng);

                    dist = eCoord.GetDistanceTo(sCoord).ToString(); //distFrom(gr.LO_chegada.lat, gr.LO_chegada.lng, gr.LO_partida.lat, gr.LO_partida.lng).ToString();
                }
            }
        }
Exemple #4
0
        public ActionResult ComprarPassagem(String txtCartao)
        {
            String valor = Utils.Voos.valorPassagem.ToString();

            valor = valor.Replace(",", ".");

            var url      = "http://localhost:8090/validarCompra/" + valor + "&" + txtCartao + "";
            var client   = new HttpClient();
            var response = client.GetAsync(url).GetAwaiter().GetResult();
            var banco    = new InstituicaoFinanceira();

            if (response.IsSuccessStatusCode)
            {
                var bancoJson = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
                banco = JsonConvert.DeserializeObject <InstituicaoFinanceira>(bancoJson);

                banco.saldo = banco.saldo - Utils.Voos.valorPassagem;
                Utils.MeuBanco(banco);

                banco = Utils.InstituicaoFinanceira;

                url      = "http://localhost:8090/editarBanco";
                client   = new HttpClient();
                response = client.PutAsJsonAsync(url, banco).GetAwaiter().GetResult();

                var voo = Utils.Voos;
                voo.qtdAssentos = Utils.Voos.qtdAssentos - 1;
                Utils.MeuVoo(voo);
                url      = "http://localhost:8090/editarVoo";
                client   = new HttpClient();
                response = client.PutAsJsonAsync(url, Utils.Voos).GetAwaiter().GetResult();

                Passagens passagem = new Passagens();
                url      = "http://localhost:8090/novaPassagem/" + Utils.Clientes.id + "&" + Utils.Voos.id + "";
                client   = new HttpClient();
                response = client.GetAsync(url).GetAwaiter().GetResult();

                return(RedirectToAction("MinhasPassagens"));
            }
            else
            {
                var voos = TodosVoos();
                ViewBag.Encontrados = "Número do cartão invalido ou saldo insuficiente!";
                return(View("Index", voos));
            }
        }
        public string processar(EntidadeDominio entidade)
        {
            Passagens  Classe = (Passagens)entidade;
            AssentoDAO DAO    = new AssentoDAO();

            for (int i = 1; i <= Classe.QTD; i++)
            {
                DAO.salvar(new Assento(new Check_in())
                {
                    tipo = Classe.Tipo, Tag = "A" + i, viagem = new Passagens()
                    {
                        ID = Classe.ID
                    }
                });
            }
            return(null);
        }
        public override void salvar(EntidadeDominio entidade)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            Passagens Classe = (Passagens)entidade;

            pst.Dispose();
            pst             = new NpgsqlCommand();
            pst.CommandText = "insert into passagens ( class_id, avi_id,data_chegada,data_partida,pass_lo_chegada,pass_lo_partida,qtd ) values (  :nome,:nom,:no,:nod,:node,:nodei,:dev ) returning pass_id";
            parameters      = new NpgsqlParameter[]
            {
                new NpgsqlParameter("nome", Classe.Tipo.ID),
                new NpgsqlParameter("nom", Classe.Aviao_v.ID),
                new NpgsqlParameter("no", Classe.DT_chegada),
                new NpgsqlParameter("nod", Classe.DT_partida),
                new NpgsqlParameter("node", Classe.LO_chegada.ID),
                new NpgsqlParameter("nodei", Classe.LO_partida.ID),
                new NpgsqlParameter("dev", Classe.QTD)
            };
            pst.Parameters.Clear();
            pst.Parameters.AddRange(parameters);
            pst.Connection  = connection;
            pst.CommandType = CommandType.Text;
            Classe.ID       = (int)pst.ExecuteScalar();
            pst.CommandText = "commit work";
            pst.ExecuteNonQuery();
            connection.Close();
            IDAO DAO = new AssentoDAO();

            for (int i = 1; i <= Classe.QTD; i++)
            {
                DAO.salvar(new Assento(new Check_in())
                {
                    tipo = Classe.Tipo, Tag = "A" + i, viagem = new Passagens()
                    {
                        ID = Classe.ID
                    }
                });
            }
            DAO = new DepartamentoDAO();
            DAO.salvar(Classe);
            return;
        }
        public string processar(EntidadeDominio entidade)
        {
            string    resposta = "";
            Passagens pass     = (Passagens)entidade;

            if (pass.QTD <= 0)
            {
                resposta += "quantidade inválida\n";
            }
            if (pass.LO_chegada.ID == 0)
            {
                resposta += "aeroporto de chegada inválido\n";
            }
            if (pass.LO_partida.ID == 0)
            {
                resposta += "aeroporto de partida inválido\n";
            }
            if (pass.LO_chegada.ID == pass.LO_partida.ID)
            {
                resposta += "aeroporto de partida e chegada iguais\n";
            }
            if (pass.DT_partida <= DateTime.Now)
            {
                resposta += "partida não pode ser antes do cadastro\n";
            }
            if (pass.DT_chegada <= DateTime.Now)
            {
                resposta += "chegada não pode ser antes do cadastro\n";
            }
            if ((pass.DT_chegada - pass.DT_partida).TotalHours <= 1.0)
            {
                resposta += "a viagem não pode durar menos que uma hora\n";
            }
            if (!string.IsNullOrEmpty(resposta))
            {
                return(resposta);
            }
            else
            {
                return(null);
            }
        }
 public override void alterar(EntidadeDominio entidade)
 {
     try
     {
         if (connection.State == ConnectionState.Closed)
         {
             connection.Open();
         }
         Passagens Classe = (Passagens)entidade;
         pst.CommandText = "UPDATE passagens SET class_id=:nome, avi_id=:nom ,data_chegada=:no ,data_partida=:nod ,pass_lo_chegada=:node,pass_lo_partida=:nodei,qtd=:dev WHERE pass_id=:co";
         parameters      = new NpgsqlParameter[]
         {
             new NpgsqlParameter("nome", Classe.Tipo.ID),
             new NpgsqlParameter("nom", Classe.Aviao_v.ID),
             new NpgsqlParameter("no", Classe.DT_chegada),
             new NpgsqlParameter("nod", Classe.DT_partida),
             new NpgsqlParameter("node", Classe.LO_chegada.ID),
             new NpgsqlParameter("nodei", Classe.LO_partida.ID),
             new NpgsqlParameter("dev", Classe.QTD),
             new NpgsqlParameter("co", Classe.ID)
         };
         pst.Parameters.Clear();
         pst.Parameters.AddRange(parameters);
         pst.Connection  = connection;
         pst.CommandType = CommandType.Text;
         pst.ExecuteNonQuery();
         pst.CommandText = "commit work";
         pst.ExecuteNonQuery();
         connection.Close();
         return;
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Exemple #9
0
        public ActionResult DevolverPassagem(Passagens passagem)
        {
            var url      = "http://localhost:8090/deletarPassagem/" + passagem.id + "";
            var client   = new HttpClient();
            var response = client.DeleteAsync(url).GetAwaiter().GetResult();

            var banco = Utils.InstituicaoFinanceira;

            banco.saldo = banco.saldo + Utils.Voos.valorPassagem;

            url      = "http://localhost:8090/editarBanco";
            client   = new HttpClient();
            response = client.PutAsJsonAsync(url, banco).GetAwaiter().GetResult();

            var voo = Utils.Voos;

            voo.qtdAssentos = Utils.Voos.qtdAssentos + 1;
            Utils.MeuVoo(voo);
            url      = "http://localhost:8090/editarVoo";
            client   = new HttpClient();
            response = client.PutAsJsonAsync(url, Utils.Voos).GetAwaiter().GetResult();

            return(RedirectToAction("MinhasPassagens"));
        }
 public override List <EntidadeDominio> consultar(EntidadeDominio entidade)
 {
     try
     {
         if (connection.State == ConnectionState.Closed)
         {
             connection.Open();
         }
         pst.Dispose();
         Passagens Classe = (Passagens)entidade;
         string    sql    = null;
         if (Classe.ID == 0 && Classe.LO_chegada.ID == 0 && Classe.LO_partida.ID == 0)
         {
             sql = "SELECT * FROM passagens ";
         }
         else if (Classe.LO_chegada.ID == 0 && Classe.LO_partida.ID != 0)
         {
             sql = "SELECT pass_id,pass_lo_chegada ,pass_lo_partida ,qtd ,avi_id ,class_id ,data_partida ,data_chegada, class_nome,b.nome p_nome,c.nome c_nome, b.lat p_lat,c.lat c_lat, b.lng p_lng,c.lng c_lng, peso FROM passagens join aeroporto b on(b.aero_id=pass_lo_partida) join aeroporto c on(c.aero_id=pass_lo_chegada) join classe using(class_id) WHERE pass_lo_partida = :cod";
         }
         else if (Classe.LO_chegada.ID != 0 && Classe.LO_partida.ID != 0)
         {
             sql = "SELECT pass_id,pass_lo_chegada ,pass_lo_partida ,qtd ,avi_id ,class_id ,data_partida ,data_chegada, class_nome,b.nome p_nome,c.nome c_nome, b.lat p_lat,c.lat c_lat, b.lng p_lng,c.lng c_lng, peso FROM passagens join aeroporto b on(b.aero_id=pass_lo_partida) join aeroporto c on(c.aero_id=pass_lo_chegada) join classe using(class_id) WHERE pass_lo_partida = :cod and pass_lo_chegada = :codd and date(data_partida)=:code";
         }
         else
         {
             sql = "SELECT * FROM passagens  WHERE pass_id= :co";
         }
         pst             = new NpgsqlCommand();
         pst.CommandText = sql;
         parameters      = new NpgsqlParameter[] { new NpgsqlParameter("co", Classe.ID), new NpgsqlParameter("cod", Classe.LO_partida.ID), new NpgsqlParameter("codd", Classe.LO_chegada.ID), new NpgsqlParameter("code", Classe.DT_partida) };
         pst.Parameters.Clear();
         pst.Parameters.AddRange(parameters);
         pst.Connection  = connection;
         pst.CommandType = CommandType.Text;
         //pst.ExecuteNonQuery();
         vai = pst.ExecuteReader();
         List <EntidadeDominio> Classes = new List <EntidadeDominio>();
         Passagens p;
         while (vai.Read())
         {
             p               = new Passagens();
             p.ID            = Convert.ToInt32(vai["pass_id"]);
             p.DT_chegada    = Convert.ToDateTime(vai["data_chegada"]);
             p.DT_partida    = Convert.ToDateTime(vai["data_partida"]);
             p.LO_chegada.ID = Convert.ToInt32(vai["pass_lo_chegada"].ToString());
             p.LO_partida.ID = Convert.ToInt32(vai["pass_lo_partida"].ToString());
             p.Tipo.ID       = Convert.ToInt32(vai["class_id"]);
             p.Aviao_v.ID    = Convert.ToInt32(vai["avi_id"]);
             if (Classe.LO_partida.ID != 0)
             {
                 p.LO_chegada.Nome = (vai["c_nome"].ToString());
                 p.LO_partida.Nome = (vai["p_nome"].ToString());
                 p.LO_chegada.lat  = Convert.ToDouble(vai["c_lat"]);
                 p.LO_partida.lat  = Convert.ToDouble(vai["p_lat"]);
                 p.LO_chegada.lng  = Convert.ToDouble(vai["c_lng"]);
                 p.LO_partida.lng  = Convert.ToDouble(vai["p_lng"]);
                 p.Tipo.Nome       = (vai["class_nome"].ToString());
                 p.Tipo.Peso       = Convert.ToDouble(vai["peso"]);
             }
             if (vai["qtd"] != DBNull.Value)
             {
                 p.QTD = Convert.ToInt32(vai["qtd"]);
             }
             Classes.Add(p);
         }
         vai.Close();
         connection.Close();
         return(Classes);
     }
     catch (NpgsqlException ora)
     {
         throw ora;
     }
 }
Exemple #11
0
        public void OnGet(string cod, string code)
        {
            if (!autenticar(1))
            {
                return;
            }
            var usu = HttpContext.Session.GetObjectFromJson <Usuarios>("login");

            if (usu == null)
            {
                Response.Redirect(("./"));
                return;
            }
            res = commands["CONSULTAR"].execute(new Cliente()
            {
                usuario = usu
            });                                                                   //usu
            if (res.Entidades.Count > 0)
            {
                id_cli = res.Entidades.ElementAt(0).ID.ToString();
            }
            var venn = HttpContext.Session.GetObjectFromJson <Venda>(devil);

            if (venn != null)
            {
                ven = venn;
            }
            listItems = GetRoles();
            if (!string.IsNullOrEmpty(cod))
            {
                liv.ID = int.Parse(cod);
                //gp.Colocar_preco.Clear();
                //gp.Colocar_preco.Add(liv);
                var            roles = commands["CONSULTAR"].execute(liv).Entidades;
                Passagem_Venda pass  = new Passagem_Venda()
                {
                    Pass = roles.Cast <Passagens>().ToList()
                };
                res = commands["CONSULTAR"].execute(pass);
                liv = pass.Pass.ElementAt(0);
                bool chk = false;
                foreach (Viagem item in ven.Viagems)
                {
                    if (item.Voo.ID == liv.ID)
                    {
                        item.qtd++;
                        item.Valor = item.Valor_Unidade * item.qtd;
                        chk        = true;
                        break;
                    }
                }
                if (!chk)
                {
                    Viagem item = new Viagem()
                    {
                        Voo           = liv,
                        qtd           = 1,
                        Valor         = liv.Preco_uni,
                        Valor_Unidade = liv.Preco_uni,
                        Tipo          = liv.Tipo
                    };
                    ven.Viagems.Add(item);
                }
            }
            if (!string.IsNullOrEmpty(code))
            {
                liv.ID = int.Parse(code);
                var            roles = commands["CONSULTAR"].execute(liv).Entidades;
                Passagem_Venda pass  = new Passagem_Venda()
                {
                    Pass = roles.Cast <Passagens>().ToList()
                };
                res = commands["CONSULTAR"].execute(pass);
                liv = pass.Pass.ElementAt(0);
                foreach (Viagem item in ven.Viagems)
                {
                    if (item.Voo.ID == liv.ID)
                    {
                        item.qtd--;
                        item.Valor = item.Valor_Unidade * item.qtd;
                        if (item.qtd <= 0)
                        {
                            ven.Viagems.Remove(item);
                        }
                        break;
                    }
                }
            }

            HttpContext.Session.SetObjectAsJson(devil, ven);
            //*/
        }