/// <summary>
        /// Responsável por inserir na base de dados vários extras caso não exista nenhum extra na base de dados
        /// </summary>
        /// <param name="context">Contexto da aplicação</param>
        private static void inicializarExtras(AirUberDbContext context)
        {
            if (!context.Extra.Any())
            {
                Extra extra1 = new Models.Extra()
                {
                    TipoExtraId = 1, CompanhiaId = 1, Nome = "Cervejinha", Valor = 50.00m
                };
                Extra extra2 = new Models.Extra()
                {
                    TipoExtraId = 2, CompanhiaId = 1, Nome = "Massagem", Valor = 100.00m
                };
                Extra extra3 = new Models.Extra()
                {
                    TipoExtraId = 3, CompanhiaId = 2, Nome = "Massagem", Valor = 150.00m
                };
                Extra extra4 = new Models.Extra()
                {
                    TipoExtraId = 4, CompanhiaId = 1, Nome = "Champagne", Valor = 500.00m
                };
                Extra extra5 = new Models.Extra()
                {
                    TipoExtraId = 4, CompanhiaId = 2, Nome = "Lapdance", Valor = 700.00m
                };

                List <Extra> extrasTAP = new List <Extra>()
                {
                    extra1, extra2, extra4
                };
                List <Extra> extrasRyanair = new List <Extra>()
                {
                    extra3, extra5
                };

                context.Extra.Add(extra1);
                context.Extra.Add(extra2);
                context.Extra.Add(extra3);
                context.Extra.Add(extra4);
                context.Extra.Add(extra5);

                context.SaveChanges();

                foreach (Companhia c in context.Companhia)
                {
                    if (c.CompanhiaId == 1)
                    {
                        c.ListaExtras = extrasTAP;
                        context.Update(c);
                    }
                    else if (c.CompanhiaId == 2)
                    {
                        c.ListaExtras = extrasRyanair;
                        context.Update(c);
                    }
                }
            }
        }
        /// <summary>
        /// Responsável por inserir na base de dados vários jatos caso não exista nenhum jato na base de dados
        /// </summary>
        /// <param name="context">Contexto da aplicação</param>
        private static void inicializarJatos(AirUberDbContext context)
        {
            if (!context.Jato.Any())
            {
                Jato jato1 = new Jato()
                {
                    Nome = "King Air", ModeloId = 1, CompanhiaId = 1, AeroportoId = 1,
                };
                Jato jato2 = new Jato()
                {
                    Nome = "Pilatus", ModeloId = 1, CompanhiaId = 1, AeroportoId = 2,
                };
                List <Jato> listaJatos = new List <Jato>()
                {
                    jato1, jato2
                };

                context.Jato.Add(jato1);
                context.Jato.Add(jato2);

                context.SaveChanges();

                foreach (Companhia c in context.Companhia)
                {
                    if (c.CompanhiaId == 1)
                    {
                        c.ListaJatos = listaJatos;
                        context.Update(c);
                    }
                }
            }
        }
        public IActionResult EditarPerfil(PerfilViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                setupNav();
                Cliente cliente = (Cliente)_userManager.GetUserAsync(this.User).Result;
                cliente.Nome     = viewModel.Cliente.Nome;
                cliente.Apelido  = viewModel.Cliente.Apelido;
                cliente.Contacto = viewModel.Cliente.Contacto;
                _context.Update(cliente);
                _context.SaveChanges();
                ViewData["Success"] = true;
                return(RedirectToAction("Perfil"));
            }

            return(RedirectToAction("Perfil"));
        }
        public string Carregar(int amount)
        {
            setupNav();
            Cliente cliente = (Cliente)_userManager.GetUserAsync(this.User).Result;

            cliente = _context.Cliente.Select(c => c).Include(c => c.ContaDeCreditos).Include(c => c.ContaDeCreditos.HistoricoTransacoeMonetarias).Single(c => c.Id == cliente.Id);
            cliente.ContaDeCreditos.JetCashActual += amount;
            cliente.ContaDeCreditos.HistoricoTransacoeMonetarias.MovimentosMonetarios.Add(new MovimentoMonetario {
                Montante = amount, TipoMovimento = TipoMovimento.Carregamento, HistoricoTransacoeMonetariasId = cliente.ContaDeCreditos.HistoricoTransacoeMonetariasId
            });

            _context.Update(cliente);
            _context.SaveChanges();


            return("" + cliente.ContaDeCreditos.JetCashActual);
        }
Beispiel #5
0
        /// <summary>
        /// Responsável por alterar o estado de uma companhia.
        /// </summary>
        /// <param name="id">id da companhia</param>
        /// <param name="estadoActualId">estado actual da companhia</param>
        /// <param name="estadoDestinoId">estado que o utilizador de helpdesk indicou para a companhia</param>
        /// <returns>Retorna a view das companhias ou das companhias recusadas, dependendo da
        /// localização do utilizador de helpdesk</returns>
        public IActionResult AlterarEstadoCompanhia(int id, int estadoActualId, int estadoDestinoId)
        {
            setupNav();
            var       comp      = _context.Companhia.Select(c => c).Where(i => (i.CompanhiaId == id)).First();
            Companhia companhia = (Companhia)comp;

            companhia.EstadoId = estadoDestinoId;
            _context.Update(companhia);
            _context.SaveChanges();

            if (estadoActualId == 0) //no state
            {
                ViewBag.CompanhiasAceites         = getCompanhiaPorEstado(1);
                ViewBag.NumeroCompanhiasRecusadas = getCompanhiaPorEstado(3).Count();
            }

            // se a companhia estiver recusada volto para a página de companhias recusadas.
            //return estadoActualId == 3 ? View("~/Views/Helpdesk/RecuperarCompanhias.cshtml") : View("~/Views/Helpdesk/Companhias.cshtml");

            // optar por esta forma, porque assim o url é sempre actualizado!
            return(estadoActualId == 3 ? RedirectToAction("RecuperarCompanhias") : RedirectToAction("Companhias"));
        }
        /// <summary>
        /// Responsável por inserir na base de dados várias viagens caso não exista nenhuma viagem na base de dados
        /// </summary>
        /// <param name="context">Contexto da aplicação</param>
        private static void inicializarViagens(AirUberDbContext context, UserManager <ApplicationUser> userManager)
        {
            //aqui associar uma lista de extras ao jato
            if (!context.Reserva.Any())
            {
                ContaDeCreditos conta1 = new ContaDeCreditos()
                {
                    JetCashActual = 4542
                };

                //Novo cliente
                Cliente Miguel = new Cliente()
                {
                    Nome            = "Miguel",
                    Apelido         = "Esteves",
                    Ativo           = true,
                    ContaDeCreditos = conta1,
                    DataCriacao     = DateTime.Now,
                    Contacto        = "2222",
                    Email           = "*****@*****.**",
                    UserName        = "******"
                };

                //var result = userManager.CreateAsync(Miguel, "ost:43636/Acc").Result;

                /*if (result.Succeeded)
                 * {
                 *  userManager.AddToRoleAsync(Miguel, Roles.ROLE_CLIENTE);
                 * }*/
                context.Cliente.Add(Miguel);
                context.SaveChanges();

                Reserva reserva1 = new Reserva()
                {
                    DataPartida        = DateTime.Now,
                    DataChegada        = new DateTime(2016, 12, 31),
                    AeroportoPartidaId = 1,
                    AeroportoDestinoId = 2,
                    JatoId             = 1,
                    Cliente            = Miguel,
                    Custo = 3500.5m
                };
                Reserva reserva2 = new Reserva()
                {
                    DataPartida        = DateTime.Now,
                    DataChegada        = new DateTime(2017, 1, 1),
                    AeroportoPartidaId = 2,
                    AeroportoDestinoId = 3,
                    JatoId             = 1,
                    Cliente            = Miguel,
                    Custo     = 7483.23m,
                    Avaliacao = 5
                };
                context.Reserva.Add(reserva1);
                context.Reserva.Add(reserva2);

                foreach (Companhia c in context.Companhia)
                {
                    if (c.CompanhiaId == 1) //pq o Jato 1 está ligado à companhia 1 -> está hardcoded aqui pq é apenas para testar
                    {
                        c.ListaReservas.Add(reserva1);
                        c.ListaReservas.Add(reserva2);
                        context.Update(c);
                    }
                }

                Miguel.ListaReservas.Add(reserva1);
                context.Update(Miguel);
            }
        }
        /// <summary>
        /// Responsável por inserir na base de dados vários colaboradores caso não exista nenhum colaborador na base de dados
        /// </summary>
        /// <param name="context">Contexto da aplicação</param>
        private static void inicializarColaboradores(AirUberDbContext context)
        {
            if (!context.Colaborador.Any())
            {
                // Colaboradores Companhia 1 - TAP  -> Total: 4 Colaboradores
                Colaborador admin1TAP = new Colaborador()
                {
                    Nome = "Admin1TAP", CompanhiaId = 1, IsAdministrador = true
                };
                Colaborador Colaborador1TAP = new Colaborador()
                {
                    Nome = "Colaborador1TAP", CompanhiaId = 1
                };
                Colaborador Colaborador2TAP = new Colaborador()
                {
                    Nome = "Colaborador2TAP", CompanhiaId = 1
                };
                Colaborador Colaborador3TAP = new Colaborador()
                {
                    Nome = "Colaborador3TAP", CompanhiaId = 1
                };

                List <Colaborador> ColaboradoresTap = new List <Colaborador>();
                ColaboradoresTap.Add(admin1TAP);
                ColaboradoresTap.Add(Colaborador1TAP);
                ColaboradoresTap.Add(Colaborador2TAP);
                ColaboradoresTap.Add(Colaborador3TAP);

                // Colaboradores Companhia 2 - Ryanair  -> Total: 2 Colaboradores
                Colaborador Admin1Ryanair = new Colaborador()
                {
                    Nome = "Admin1Ryanair", CompanhiaId = 2, IsAdministrador = true
                };
                Colaborador Colaborador1Ryanair = new Colaborador()
                {
                    Nome = "Colaborador1Ryanair", CompanhiaId = 2
                };

                List <Colaborador> ColaboradoresRyanair = new List <Colaborador>();
                ColaboradoresRyanair.Add(Admin1Ryanair);
                ColaboradoresRyanair.Add(Colaborador1Ryanair);

                // Colaboradores Companhia 3 - EasyJet  -> Total: 9 Colaboradores
                Colaborador Admin1EasyJet = new Colaborador()
                {
                    Nome = "Admin1EasyJet", CompanhiaId = 3, IsAdministrador = true
                };
                Colaborador Admin2EasyJet = new Colaborador()
                {
                    Nome = "Admin2EasyJet", CompanhiaId = 3, IsAdministrador = true
                };
                Colaborador Colaborador1EasyJet = new Colaborador()
                {
                    Nome = "Colaborador1EasyJet", CompanhiaId = 3
                };
                Colaborador Colaborador2EasyJet = new Colaborador()
                {
                    Nome = "Colaborador2EasyJet", CompanhiaId = 3
                };
                Colaborador Colaborador3EasyJet = new Colaborador()
                {
                    Nome = "Colaborador3EasyJet", CompanhiaId = 3
                };
                Colaborador Colaborador4EasyJet = new Colaborador()
                {
                    Nome = "Colaborador4EasyJet", CompanhiaId = 3
                };
                Colaborador Colaborador5EasyJet = new Colaborador()
                {
                    Nome = "Colaborador5EasyJet", CompanhiaId = 3
                };
                Colaborador Colaborador6EasyJet = new Colaborador()
                {
                    Nome = "Colaborador6EasyJet", CompanhiaId = 3
                };
                Colaborador Colaborador7EasyJet = new Colaborador()
                {
                    Nome = "Colaborador7EasyJet", CompanhiaId = 3
                };

                List <Colaborador> ColaboradoresEasyJet = new List <Colaborador>();
                ColaboradoresEasyJet.Add(Admin1EasyJet);
                ColaboradoresEasyJet.Add(Admin2EasyJet);
                ColaboradoresEasyJet.Add(Colaborador1EasyJet);
                ColaboradoresEasyJet.Add(Colaborador2EasyJet);
                ColaboradoresEasyJet.Add(Colaborador3EasyJet);
                ColaboradoresEasyJet.Add(Colaborador4EasyJet);
                ColaboradoresEasyJet.Add(Colaborador5EasyJet);
                ColaboradoresEasyJet.Add(Colaborador6EasyJet);
                ColaboradoresEasyJet.Add(Colaborador7EasyJet);


                context.SaveChanges();


                foreach (Companhia c in context.Companhia)
                {
                    switch (c.CompanhiaId)
                    {
                    case 1:
                        c.ListaColaboradores = ColaboradoresTap;
                        break;

                    case 2:
                        c.ListaColaboradores = ColaboradoresRyanair;
                        break;

                    case 3:
                        c.ListaColaboradores = ColaboradoresEasyJet;
                        break;
                    }

                    //Se der!!
                    context.Update(c);
                }
            }
        }