예제 #1
0
        public static void InserirAlojamentoEmParque(Context context)
        {
            var alojamentoMapper = new AlojamentoMapper(context);
            var parqueMapper     = new ParqueMapper(context);

            Alojamento alojamento = new Alojamento();

            Console.WriteLine("Insira o nome :");

            alojamento.Nome = Console.ReadLine();

            Console.WriteLine("Insira o nome do Parque :");
            var parqueNome = Console.ReadLine();

            alojamento.Parque = parqueMapper.Read(parqueNome);
            if (alojamento.Parque == null)
            {
                throw new KeyNotFoundException("O parque não existe");
            }

            Console.WriteLine("Insira a descrição do alojamento :");
            alojamento.Descrição = Console.ReadLine();

            Console.WriteLine("Insira a localização do alojamento :");
            alojamento.Localizaçao = Console.ReadLine();

            Console.WriteLine("insira o número máximo de pessoas");
            alojamento.MaxPessoas = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("insira o preço base");
            alojamento.PreçoBase = Convert.ToInt32(Console.ReadLine());


            alojamentoMapper.Create(alojamento);
        }
        public async Task <IActionResult> Edit(int id, [Bind("ID,Tipo,Nome,Descricao,Local,PrecoMin,PrecoMax")] Alojamento alojamento)
        {
            if (id != alojamento.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(alojamento);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AlojamentoExists(alojamento.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(alojamento));
        }
예제 #3
0
        public static void InserirAlojamentoEmParque(Entities context)
        {
            Alojamento alojamento = new Alojamento();

            Console.WriteLine("Insira o nome :");

            alojamento.nome = Console.ReadLine();

            Console.WriteLine("Insira o nome do Parque :");
            var parqueNome = Console.ReadLine();

            alojamento.nome_parque = parqueNome;


            Console.WriteLine("Insira a descrição do alojamento :");
            alojamento.descrição = Console.ReadLine();

            Console.WriteLine("Insira a localização do alojamento :");
            alojamento.localização = Console.ReadLine();

            Console.WriteLine("insira o número máximo de pessoas");
            alojamento.max_pessoas = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("insira o preço base");
            alojamento.preço_base = Convert.ToInt32(Console.ReadLine());


            context.Alojamentoes.Add(alojamento);

            context.SaveChanges();
        }
예제 #4
0
 public AlojamentoProxy(Alojamento c, IContext ctx) : base()
 {
     context          = ctx;
     base.Nome        = c.Nome;
     base.Descrição   = c.Descrição;
     base.Localizaçao = c.Localizaçao;
     base.MaxPessoas  = c.MaxPessoas;
     base.PreçoBase   = c.PreçoBase;
     base.Parque      = null;
 }
예제 #5
0
        public void UpdateTendaTest()
        {
            using (Context ctx = new Context(connectionString))
            {
                Parque parque = new Parque();
                parque.Nome     = "Marechal Carmona";
                parque.Morada   = "Rua de Cascais";
                parque.Estrelas = 4;
                parque.Email    = "*****@*****.**";

                ParqueMapper pm = new ParqueMapper(ctx);
                parque = pm.Create(parque);

                Alojamento alojamento = new Alojamento();
                alojamento.Nome        = "Primeiro Alojamento";
                alojamento.Localizaçao = "Quinta da Marinha";
                alojamento.Descrição   = "T0 com duche";
                alojamento.MaxPessoas  = 5;
                alojamento.PreçoBase   = 85;
                alojamento.Parque      = parque;

                AlojamentoMapper am = new AlojamentoMapper(ctx);
                alojamento = am.Create(alojamento);

                Tenda tenda = new Tenda();
                tenda.Area       = 1234;
                tenda.Alojamento = alojamento;
                tenda.Tipo       = "yurt";

                TendaMapper tendaMapper = new TendaMapper(ctx);
                tenda = tendaMapper.Create(tenda);

                tenda.Area = 5678;
                tenda.Tipo = "safari";
                tendaMapper.Update(tenda);

                Tenda tenda1 = tendaMapper.Read(tenda.Alojamento.Nome);

                Assert.AreEqual(tenda.Alojamento.Nome, tenda1.Alojamento.Nome);
                Assert.AreEqual(tenda.Tipo, tenda1.Tipo);

                foreach (var t in tendaMapper.ReadAll())
                {
                    tendaMapper.Delete(t);
                }
                foreach (var a in am.ReadAll())
                {
                    am.Delete(a);
                }
                foreach (var p in pm.ReadAll())
                {
                    pm.Delete(p);
                }
            }
        }
        public async Task <IActionResult> Create([Bind("ID,Tipo,Nome,Descricao,Local,PrecoMin,PrecoMax")] Alojamento alojamento)
        {
            if (ModelState.IsValid)
            {
                _context.Add(alojamento);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(alojamento));
        }
예제 #7
0
 public ViewResult Restaurante(Alojamento restaurante)
 {
     if (ModelState.IsValid)
     {
         return(View());
     }
     else
     {
         // guardar dados do extra inserido
         return(View());
     }
 }
예제 #8
0
 public ViewResult AreasDescanso(Alojamento descanso)
 {
     if (ModelState.IsValid)
     {
         return(View());
     }
     else
     {
         // guardar dados do extra inserido
         return(View());
     }
 }
예제 #9
0
        public void UpdateTendaTest()
        {
            using (Context ctx = new Context(connectionString))
            {
                Parque parque = new Parque();
                parque.Nome     = "Marechal Carmona";
                parque.Morada   = "Rua de Cascais";
                parque.Estrelas = 4;
                parque.Email    = "*****@*****.**";

                ParqueMapper pm = new ParqueMapper(ctx);
                parque = pm.Create(parque);

                Alojamento alojamento = new Alojamento();
                alojamento.Nome        = "Primeiro Alojamento";
                alojamento.Localizaçao = "Quinta da Marinha";
                alojamento.Descrição   = "T0 com duche";
                alojamento.MaxPessoas  = 5;
                alojamento.PreçoBase   = 85;
                alojamento.Parque      = parque;

                AlojamentoMapper am = new AlojamentoMapper(ctx);
                alojamento = am.Create(alojamento);

                Bungalow bungalow = new Bungalow();
                bungalow.Tipologia  = "T0";
                bungalow.Alojamento = alojamento;

                BungalowMapper bungalowMapper = new BungalowMapper(ctx);
                bungalow = bungalowMapper.Create(bungalow);

                bungalow.Tipologia = "T1";
                bungalowMapper.Update(bungalow);

                Bungalow bungalow1 = bungalowMapper.Read(bungalow.Alojamento.Nome);

                Assert.AreEqual(bungalow.Alojamento.Nome, bungalow1.Alojamento.Nome);
                Assert.AreEqual(bungalow.Tipologia, bungalow1.Tipologia);

                foreach (var b in bungalowMapper.ReadAll())
                {
                    bungalowMapper.Delete(b);
                }
                foreach (var a in am.ReadAll())
                {
                    am.Delete(a);
                }
                foreach (var p in pm.ReadAll())
                {
                    pm.Delete(p);
                }
            }
        }
예제 #10
0
        public string SaveRecords(JObject container)
        {
            if (container != null)
            {
                try
                {
                    SaveRecordsModel Projecto = container.ToObject <SaveRecordsModel>();
                    if (Projecto != null)
                    {
                        if (Projecto.ArrAloj != null)
                        {
                            foreach (var item in Projecto.ArrAloj)
                            {
                                Alojamento.Insert(item);
                            }
                        }
                        if (Projecto.ArrVoos != null)
                        {
                            foreach (var item in Projecto.ArrVoos)
                            {
                                Voos.Insert(item);
                            }
                        }
                        if (Projecto.ArrDiarias != null)
                        {
                            foreach (var item in Projecto.ArrDiarias)
                            {
                                Diarias.Insert(item);
                            }
                        }
                        if (Projecto.ArrServicos != null)
                        {
                            foreach (var item in Projecto.ArrServicos)
                            {
                                ServicoTT.Insert(item);
                            }
                        }
                    }

                    return("Ok");
                }
                catch (Exception ex)
                {
                    return(ex.InnerException.ToString());
                }
            }
            else
            {
                return("no_magic");
            }
        }
예제 #11
0
파일: Api.cs 프로젝트: v1tal1tysp/NewRepo
        public static List <Alojamento> GetAlojamento(string orcamento)
        {
            List <Alojamento> Lista = new List <Alojamento>();

            try
            {
                Lista = Alojamento.GetAll(orcamento);

                return(Lista);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(Lista);
            }
        }
예제 #12
0
        public void CleanDatabase()
        {
            ProjectoTT.Clean();
            Orcamentos.Clean();
            Ficheiros.Clean();
            ProjectLog.Clean();
            PagamentosCliente.Clean();


            Alojamento.Clean();
            Diarias.Clean();
            ServicoTT.Clean();
            Voos.Clean();


            ReportFornecedores.Clean();
        }
예제 #13
0
        public List <Alojamento> GetAlojamento(JObject orcamentoidv)
        {
            List <Alojamento> Lista = new List <Alojamento>();

            try
            {
                var t = orcamentoidv.GetValue("orcamentoidv").ToString();
                Lista = Alojamento.GetAll(t);

                return(Lista);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(Lista);
            }
        }
예제 #14
0
        public string InsertAlojamento(JObject Obj)
        {
            var id        = Obj.GetValue("hotel").ToString();
            var Orcamento = Obj.GetValue("Objeto");

            Alojamento aloj = Orcamento.ToObject <Alojamento>();

            if (id == "")
            {
                Alojamento.Insert(aloj);
            }
            else
            {
                ObjectId pantObj = new ObjectId(id);
                aloj.Id = pantObj;
                Alojamento.Update(aloj);
            }

            return("");
        }
예제 #15
0
        public void InsertBungalowTest()
        {
            using (var ctx = new Entities())
            {
                try
                {
                    Parque parque = new Parque()
                    {
                        nome     = "Marechal Carmona",
                        morada   = "Rua de Cascais",
                        estrelas = 4,
                        email    = "*****@*****.**"
                    };


                    ctx.Parques.Add(parque);
                    ctx.SaveChanges();

                    Alojamento alojamento = new Alojamento
                    {
                        nome        = "Primeiro Alojamento",
                        localização = "Quinta da Marinha",
                        descrição   = "T0 com duche",
                        max_pessoas = 5,
                        preço_base  = 85,
                        Parque      = parque
                    };

                    ctx.Alojamentoes.Add(alojamento);

                    ctx.SaveChanges();

                    Bungalow bungalow = new Bungalow
                    {
                        tipologia       = "T0",
                        nome_alojamento = alojamento.nome
                    };

                    ctx.Bungalows.Add(bungalow);

                    ctx.SaveChanges();

                    Bungalow bungalow1 = ctx.Bungalows.Find(bungalow.Alojamento.nome);
                    Assert.IsNotNull(bungalow1);

                    Assert.AreEqual(bungalow.Alojamento.nome, bungalow1.Alojamento.nome);
                    Assert.AreEqual(bungalow.tipologia, bungalow1.tipologia);

                    foreach (var b in ctx.Bungalows)
                    {
                        ctx.Bungalows.Remove(b);
                    }
                    foreach (var a in ctx.Alojamentoes)
                    {
                        ctx.Alojamentoes.Remove(a);
                    }
                    foreach (var p in ctx.Parques)
                    {
                        ctx.Parques.Remove(p);
                    }

                    ctx.SaveChanges();
                }
                catch (Exception e)
                {
                    foreach (var b in ctx.Bungalows)
                    {
                        ctx.Bungalows.Remove(b);
                    }
                    foreach (var a in ctx.Alojamentoes)
                    {
                        ctx.Alojamentoes.Remove(a);
                    }
                    foreach (var p in ctx.Parques)
                    {
                        ctx.Parques.Remove(p);
                    }

                    ctx.SaveChanges();
                    throw;
                }
            }
        }
예제 #16
0
파일: ProcUtils.cs 프로젝트: RuiDTLima/SI2
        public void createEstadaInTime(Hóspede responsável, Hóspede hóspede, Estada estada, Alojamento alojamento, Extra extraPessoal, Extra extraAlojamento)
        {
            if (responsável == null || hóspede == null || estada == null || alojamento == null || extraPessoal == null || extraAlojamento == null)
            {
                throw new ArgumentException("Non of the parameters can be null");
            }

            if (extraAlojamento.associado != "alojamento" || extraPessoal.associado != "pessoa")
            {
                throw new ArgumentException("Extra is not valid");
            }

            EnsureContext();

            using (IDbCommand command = context.createCommand()) {
                command.CommandText = CreateEstadaCommandText;
                command.CommandType = CreateEstadaCommandType;
                FillParametersCreateEstadaInTime(command, responsável, hóspede, estada, alojamento, extraPessoal, extraAlojamento);
                command.ExecuteNonQuery();
                command.Parameters.Clear();
            }
        }
예제 #17
0
파일: ProcUtils.cs 프로젝트: RuiDTLima/SI2
        private void FillParametersCreateEstadaInTime(IDbCommand command, Hóspede responsável, Hóspede hóspede, Estada estada, Alojamento alojamento, Extra extraPessoal, Extra extraAlojamento)
        {
            SqlParameter NIFResponsável    = new SqlParameter("@NIFResponsável", responsável.NIF);
            SqlParameter NIFHóspede        = new SqlParameter("@NIFHóspede", hóspede.NIF);
            TimeSpan     tempo             = estada.dataFim.Subtract(estada.dataInício);
            SqlParameter tempoEstada       = new SqlParameter("@tempoEstada", tempo.TotalDays);
            SqlParameter tipoAlojamento    = new SqlParameter("@tipoAlojamento", alojamento.tipoAlojamento);
            SqlParameter lotação           = new SqlParameter("@lotação", alojamento.númeroMáximoPessoas);
            SqlParameter idExtraPessoal    = new SqlParameter("@idExtraPessoal", extraPessoal.id);
            SqlParameter idExtraAlojamento = new SqlParameter("@idExtraAlojamento", extraAlojamento.id);

            command.Parameters.Add(NIFResponsável);
            command.Parameters.Add(NIFHóspede);
            command.Parameters.Add(tempoEstada);
            command.Parameters.Add(tipoAlojamento);
            command.Parameters.Add(lotação);
            command.Parameters.Add(idExtraPessoal);
            command.Parameters.Add(idExtraAlojamento);
        }
예제 #18
0
        public void ApagarParqueEAssociaçoesTest()
        {
            using (var ctx = new Context(_connectionString))
            {
                EstadaMapper     estadaMapper     = new EstadaMapper(ctx);
                ParqueMapper     parqueMap        = new ParqueMapper(ctx);
                AlojamentoMapper alojamentoMapper = new AlojamentoMapper(ctx);
                var estadaAlojamentoMapper        = new EstadaAlojamentoMapper(ctx);
                try
                {
                    var estada = new Estada
                    {
                        DataInicio = new DateTime(2007, 3, 1),
                        DataFim    = new DateTime(2017, 3, 1),
                        Id         = 25,
                        NifHospede = 0
                    };


                    estada = estadaMapper.Create(estada);


                    /*
                     * CREATE PARQUE
                     */
                    Parque p = new Parque();
                    p.Nome     = "brasil";
                    p.Email    = "*****@*****.**";
                    p.Morada   = "Rio de Janeiro, Rua Junqueiro 367";
                    p.Estrelas = 5;


                    p = parqueMap.Create(p);

                    /*
                     * Alojamento
                     */


                    Alojamento c = new Alojamento
                    {
                        PreçoBase   = 50,
                        Nome        = "OI",
                        Descrição   = "sem descricao",
                        Localizaçao = "Brasil",
                        MaxPessoas  = 20,
                        Parque      = p
                    };


                    c = alojamentoMapper.Create(c);


                    EstadaAlojamento estadaAlojamento = new EstadaAlojamento()
                    {
                        Estada     = estada,
                        Alojamento = c,
                        Descrição  = "OLA",
                        PreçoBase  = 1234
                    };



                    estadaAlojamento = estadaAlojamentoMapper.Create(estadaAlojamento);


                    var apagrParque = new ApagarParqueEAssociaçoes(ctx);
                    apagrParque.Execute(p);

                    var parqueExists = parqueMap.ReadAll().Any(parque => parque.Nome.Equals(p.Nome));
                    Assert.AreEqual(false, parqueExists);

                    var alojamentoExists = alojamentoMapper.ReadAll().Any(a => a.Nome.Equals(c.Nome));
                    Assert.AreEqual(false, alojamentoExists);

                    var estadaExists = estadaMapper.ReadAll().Any(e => e.Id == estada.Id);
                    Assert.AreEqual(false, estadaExists);
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception);


                    foreach (var e in estadaAlojamentoMapper.ReadAll())
                    {
                        estadaAlojamentoMapper.Delete(e);
                    }

                    foreach (var e in estadaMapper.ReadAll())
                    {
                        estadaMapper.Delete(e);
                    }


                    foreach (var alojamento in alojamentoMapper.ReadAll())
                    {
                        alojamentoMapper.Delete(alojamento);
                    }


                    foreach (var parque in parqueMap.ReadAll())
                    {
                        parqueMap.Delete(parque);
                    }

                    throw;
                }
            }
        }
예제 #19
0
        public void EliminarParqueComAssociaçoesTest()
        {
            using (var ctx = new Entities())
            {
                try
                {
                    var estada = new Estada
                    {
                        data_início = new DateTime(2007, 3, 1),
                        data_fim    = new DateTime(2017, 3, 1),
                        id          = 25,
                        nif_hóspede = 0
                    };

                    ctx.Estadas.Add(estada);


                    /*
                     * CREATE PARQUE
                     */
                    Parque p = new Parque
                    {
                        nome     = "brasil",
                        email    = "*****@*****.**",
                        morada   = "Rio de Janeiro, Rua Junqueiro 367",
                        estrelas = 5
                    };


                    ctx.Parques.Add(p);

                    /*
                     * Alojamento
                     */


                    Alojamento c = new Alojamento
                    {
                        preço_base  = 50,
                        nome        = "OI",
                        descrição   = "sem descricao",
                        localização = "Brasil",
                        max_pessoas = 20,
                        nome_parque = p.nome
                    };


                    ctx.Alojamentoes.Add(c);


                    EstadaAlojamento estadaAlojamento = new EstadaAlojamento()
                    {
                        descrição       = "OLA",
                        preço_base      = 1234,
                        id_estada       = estada.id,
                        nome_alojamento = c.nome
                    };

                    ctx.EstadaAlojamentoes.Add(estadaAlojamento);

                    ctx.SaveChanges();

                    ctx.Parques.Remove(p);

                    ctx.SaveChanges();

                    var parqueExists = ctx.Parques.Any(parque => parque.nome.Equals(p.nome));
                    Assert.AreEqual(false, parqueExists);

                    var alojamentoExists = ctx.Alojamentoes.Any(a => a.nome.Equals(c.nome));
                    Assert.AreEqual(false, alojamentoExists);

                    var estadaExists = ctx.Estadas.Any(e => e.id == estada.id);
                    Assert.AreEqual(false, estadaExists);
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception);


                    foreach (var e in ctx.EstadaAlojamentoes)
                    {
                        ctx.EstadaAlojamentoes.Remove(e);
                    }

                    foreach (var e in ctx.Estadas)
                    {
                        ctx.Estadas.Remove(e);
                    }


                    foreach (var alojamento in ctx.Alojamentoes)
                    {
                        ctx.Alojamentoes.Remove(alojamento);
                    }


                    foreach (var parque in ctx.Parques)
                    {
                        ctx.Parques.Remove(parque);
                    }

                    ctx.SaveChanges();
                    throw;
                }
            }
        }
예제 #20
0
        public void InsertTest()
        {
            using (Context ctx = new Context(_connectionString))
            {
                var estada = new Estada
                {
                    DataInicio = new DateTime(2007, 3, 1),
                    DataFim    = new DateTime(2017, 3, 1),
                    Id         = 25,
                    NifHospede = 0
                };

                EstadaMapper estadaMapper = new EstadaMapper(ctx);
                estada = estadaMapper.Create(estada);


                /*
                 * CREATE PARQUE
                 */
                Parque p = new Parque();
                p.Nome     = "brasil";
                p.Email    = "*****@*****.**";
                p.Morada   = "Rio de Janeiro, Rua Junqueiro 367";
                p.Estrelas = 5;

                ParqueMapper parqueMap = new ParqueMapper(ctx);
                p = parqueMap.Create(p);

                /*
                 * Alojamento
                 */


                Alojamento c = new Alojamento();
                c.PreçoBase   = 50;
                c.Nome        = "OI";
                c.Descrição   = "sem descricao";
                c.Localizaçao = "Brasil";
                c.MaxPessoas  = 20;
                c.Parque      = p;

                AlojamentoMapper alojamentoMapper = new AlojamentoMapper(ctx);
                c = alojamentoMapper.Create(c);



                EstadaAlojamento estadaAlojamento = new EstadaAlojamento()
                {
                    Estada     = estada,
                    Alojamento = c,
                    Descrição  = "OLA",
                    PreçoBase  = 1234
                };

                var estadaAlojamentoMapper = new EstadaAlojamentoMapper(ctx);

                estadaAlojamento = estadaAlojamentoMapper.Create(estadaAlojamento);

                var ee = estadaAlojamentoMapper.Read(new KeyValuePair <string, int>(estadaAlojamento.Alojamento.Nome, estadaAlojamento.Estada.Id));

                Assert.IsNotNull(ee);

                Assert.AreEqual(ee.Alojamento.Nome, estadaAlojamento.Alojamento.Nome);
                Assert.AreEqual(ee.Estada.Id, estadaAlojamento.Estada.Id);



                foreach (var e in estadaAlojamentoMapper.ReadAll())
                {
                    estadaAlojamentoMapper.Delete(e);
                }

                foreach (var e in estadaMapper.ReadAll())
                {
                    estadaMapper.Delete(estada);
                }


                foreach (var alojamento in alojamentoMapper.ReadAll())
                {
                    alojamentoMapper.Delete(alojamento);
                }


                foreach (var parque in parqueMap.ReadAll())
                {
                    parqueMap.Delete(parque);
                }
            }
        }
예제 #21
0
        public void PagamentoEstadaComFaturaTest()
        {
            using (var ctx = new Entities())
            {
                try
                {
                    var estada = new Estada
                    {
                        data_início = new DateTime(2000, 1, 1),
                        data_fim    = new DateTime(2000, 5, 2),
                        id          = 123456,
                        nif_hóspede = 111
                    };

                    ctx.Estadas.Add(estada);

                    Hóspede hóspede = new Hóspede();
                    hóspede.bi     = 456;
                    hóspede.nif    = 111;
                    hóspede.nome   = "Jaquim";
                    hóspede.email  = "*****@*****.**";
                    hóspede.morada = "Rua da Calçada";

                    ctx.Hóspede.Add(hóspede);



                    Fatura fatura = new Fatura()
                    {
                        id           = 9999,
                        id_estada    = estada.id,
                        nif_hóspede  = hóspede.nif,
                        nome_hóspede = hóspede.nome,
                    };

                    ctx.Faturas.Add(fatura);

                    Parque p = new Parque();
                    p.nome     = "brasil";
                    p.email    = "*****@*****.**";
                    p.morada   = "Rio de Janeiro, Rua Junqueiro 367";
                    p.estrelas = 5;
                    ctx.Parques.Add(p);

                    Alojamento alojamento = new Alojamento
                    {
                        nome        = "Primeiro Alojamento",
                        localização = "Quinta da Marinha",
                        descrição   = "T0 com duche",
                        max_pessoas = 5,
                        preço_base  = 85,
                        nome_parque = p.nome
                    };

                    ctx.Alojamentoes.Add(alojamento);

                    Bungalow bungalow = new Bungalow()
                    {
                        tipologia       = "T2",
                        nome_alojamento = alojamento.nome
                    };

                    ctx.Bungalows.Add(bungalow);

                    ComponenteFatura componenteFatura = new ComponenteFatura
                    {
                        preço     = 85,
                        id_fatura = fatura.id,

                        tipo      = "Alojamento",
                        descrição = "muito bom"
                    };

                    ctx.ComponenteFaturas.Add(componenteFatura);

                    Atividade atividade = new Atividade
                    {
                        nome_parque    = p.nome,
                        data_atividade = new DateTime(2017, 1, 1),
                        descrição      = "Canoagem",
                        preço          = 90,
                        lotação        = 12,
                        nome_atividade = "Canoagem"
                    };

                    ctx.Atividades.Add(atividade);

                    ctx.SaveChanges();

                    var inscResult = ctx.inscreverHóspedeNumaAtividade(hóspede.nif, atividade.nome_atividade,
                                                                       atividade.nome_parque);
                    ctx.SaveChanges();
                    ObjectParameter output = new ObjectParameter("total", typeof(Int32));

                    var pagamentoResult = ctx.pagamentoEstadaComFatura(estada.id, output);


                    // atualizar valor final da fatura
                    fatura.valor_final = Convert.ToInt32(output.Value);

                    ctx.SaveChanges();

                    Assert.AreEqual(175, fatura.valor_final);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }

                finally
                {
                    foreach (var ha in ctx.HóspedeAtividade)
                    {
                        ctx.HóspedeAtividade.Remove(ha);
                    }

                    foreach (var b in ctx.Bungalows)
                    {
                        ctx.Bungalows.Remove(b);
                    }

                    foreach (var c in ctx.ComponenteFaturas)
                    {
                        ctx.ComponenteFaturas.Remove(c);
                    }

                    foreach (var f in ctx.Faturas)
                    {
                        ctx.Faturas.Remove(f);
                    }

                    foreach (var s in ctx.Atividades)
                    {
                        ctx.Atividades.Remove(s);
                    }


                    foreach (var hospede in ctx.Hóspede)
                    {
                        ctx.Hóspede.Remove(hospede);
                    }

                    foreach (var e in ctx.Estadas)
                    {
                        ctx.Estadas.Remove(e);
                    }

                    foreach (var a in ctx.Alojamentoes)
                    {
                        ctx.Alojamentoes.Remove(a);
                    }

                    foreach (var parque in ctx.Parques)
                    {
                        ctx.Parques.Remove(parque);
                    }

                    ctx.SaveChanges();
                }
            }
        }
        public static void Initialize(TurismoContext context)
        {
            context.Database.EnsureCreated();


            if (context.Alojamento.Any())
            {
                return;   // DB has been seeded
            }

            var alojamentos = new Alojamento[]
            {
                new Alojamento {
                    Tipo = TipoAloj.Hotel, Nome = "Serrano", Descricao = "O melhor", Local = "Seia", PrecoMin = 30, PrecoMax = 60
                },
                new Alojamento {
                    Tipo = TipoAloj.Hotel, Nome = "O Alto", Descricao = "O mais alto", Local = "Guarda", PrecoMin = 50, PrecoMax = 90
                },
                new Alojamento {
                    Tipo = TipoAloj.Pensao, Nome = "Pensionista", Descricao = "O barato", Local = "Vale", PrecoMin = 20, PrecoMax = 40
                },
                new Alojamento {
                    Tipo = TipoAloj.Pousada, Nome = "Serrano", Descricao = "Para todos", Local = "Montanha", PrecoMin = 10, PrecoMax = 20
                },
                new Alojamento {
                    Tipo = TipoAloj.Rural, Nome = "Casa do Campo", Descricao = "Casa da tia", Local = "Pico", PrecoMin = 22, PrecoMax = 26
                },
                new Alojamento {
                    Tipo = TipoAloj.Rural, Nome = "Mesmo na Serra", Descricao = "Comer e beber", Local = "Manteigas", PrecoMin = 5, PrecoMax = 15
                },
                new Alojamento {
                    Tipo = TipoAloj.Rural, Nome = "Amigavel", Descricao = "Descansem connosco", Local = "Loriga", PrecoMin = 0, PrecoMax = 10
                },
            };

            foreach (Alojamento a in alojamentos)
            {
                context.Alojamento.Add(a);
            }
            context.SaveChanges();

            var areasdescanso = new AreaDescanso[]
            {
                new AreaDescanso {
                    Tipo = TipoArea.ParqueCampismo, Nome = "Parque Verde Campista", Descricao = "Um bom parque para campistas", Local = "Seia"
                },
                new AreaDescanso {
                    Tipo = TipoArea.ParqueCampismo, Nome = "Parque Pouca Imaginacao", Descricao = "Um excelente lugar para acampar", Local = "Manteigas"
                },
                new AreaDescanso {
                    Tipo = TipoArea.Wc, Nome = "Casa de banho", Descricao = "Junto à fonte São Simpósio", Local = "Loriga"
                },
            };

            foreach (AreaDescanso d in areasdescanso)
            {
                context.AreasDescanso.Add(d);
            }
            context.SaveChanges();

            var restaurantes = new Restaurante[]
            {
                new Restaurante {
                    Nome = "Manjar dos Reis", Descricao = "Simplesmente delicioso", Local = "Serra"
                },
                new Restaurante {
                    Nome = "Manjar da Rainha", Descricao = "Os melhores preços", Local = "Montanha"
                },
                new Restaurante {
                    Nome = "O Cantinho", Descricao = "Simplesmente delicioso", Local = "Vale"
                },
            };

            foreach (Restaurante r in restaurantes)
            {
                context.Restaurante.Add(r);
            }
            context.SaveChanges();
        }
예제 #23
0
        public void PagamentoEstadaComFaturaTest()
        {
            using (Context ctx = new Context(_connectionString))
            {
                var estada = new Estada
                {
                    DataInicio = new DateTime(2000, 1, 1),
                    DataFim    = new DateTime(2000, 5, 2),
                    Id         = 123456,
                    NifHospede = 111
                };

                EstadaMapper estadaMapper = new EstadaMapper(ctx);
                estada = estadaMapper.Create(estada);

                Hóspede hóspede = new Hóspede();
                hóspede.Bi     = 456;
                hóspede.Nif    = 111;
                hóspede.Nome   = "Jaquim";
                hóspede.Email  = "*****@*****.**";
                hóspede.Morada = "Rua da Calçada";

                HóspedeMapper hóspedeMapper = new HóspedeMapper(ctx);
                hóspede = hóspedeMapper.Create(hóspede);

                EstadaHóspede estadaHóspede = new EstadaHóspede()
                {
                    Estada  = estada,
                    Hóspede = hóspede
                };

                var estadaHospedeMapper = new EstadaHóspedeMapper(ctx);
                estadaHóspede = estadaHospedeMapper.Create(estadaHóspede);

                Fatura fatura = new Fatura()
                {
                    Id         = 9999,
                    Estada     = estada,
                    Hóspede    = hóspede,
                    ValorFinal = 0
                };

                FaturaMapper faturaMapper = new FaturaMapper(ctx);
                fatura = faturaMapper.Create(fatura);

                Parque p = new Parque();
                p.Nome     = "brasil";
                p.Email    = "*****@*****.**";
                p.Morada   = "Rio de Janeiro, Rua Junqueiro 367";
                p.Estrelas = 5;

                ParqueMapper parqueMap = new ParqueMapper(ctx);
                p = parqueMap.Create(p);

                Alojamento alojamento = new Alojamento
                {
                    Nome        = "Primeiro Alojamento",
                    Localizaçao = "Quinta da Marinha",
                    Descrição   = "T0 com duche",
                    MaxPessoas  = 5,
                    PreçoBase   = 85,
                    Parque      = p
                };

                AlojamentoMapper alojamentoMapper = new AlojamentoMapper(ctx);
                alojamento = alojamentoMapper.Create(alojamento);

                Bungalow bungalow = new Bungalow()
                {
                    Tipologia  = "T2",
                    Alojamento = alojamento
                };

                BungalowMapper bungalowMapper = new BungalowMapper(ctx);
                bungalow = bungalowMapper.Create(bungalow);

                ComponenteFatura componenteFatura = new ComponenteFatura
                {
                    Preço     = 85,
                    Fatura    = fatura,
                    Tipo      = "Alojamento",
                    Descrição = "muito bom"
                };

                var componenteMapper = new ComponenteFaturaMapper(ctx);
                componenteFatura = componenteMapper.Create(componenteFatura);

                Atividade atividade = new Atividade
                {
                    Parque        = p,
                    DataAtividade = new DateTime(2017, 1, 1),
                    Descrição     = "Canoagem",
                    Preço         = 90,
                    Lotaçao       = 12,
                    NomeAtividade = "Canoagem"
                };

                AtividadeMapper atividadeMapper = new AtividadeMapper(ctx);
                atividade = atividadeMapper.Create(atividade);

                var inscr = new InscreverHóspedeEmAtividade(ctx);
                inscr.Execute(hóspede.Nif, atividade.NomeAtividade, p.Nome);

                var pagamento = new PagamentoEstadaComFatura(ctx);
                pagamento.Execute(estada.Id, out int total);

                // atualizar valor final da fatura
                fatura.ValorFinal = total;
                fatura            = faturaMapper.Update(fatura);

                Assert.AreEqual(175, fatura.ValorFinal);

                var hospedeAtividadeMapper = new HóspedeAtividadeMapper(ctx);

                foreach (var ha in hospedeAtividadeMapper.ReadAll())
                {
                    hospedeAtividadeMapper.Delete(ha);
                }

                foreach (var b in bungalowMapper.ReadAll())
                {
                    bungalowMapper.Delete(b);
                }

                foreach (var c in componenteMapper.ReadAll())
                {
                    componenteMapper.Delete(c);
                }

                foreach (var f in faturaMapper.ReadAll())
                {
                    faturaMapper.Delete(f);
                }

                foreach (var s in atividadeMapper.ReadAll())
                {
                    atividadeMapper.Delete(s);
                }

                foreach (var e in estadaHospedeMapper.ReadAll())
                {
                    estadaHospedeMapper.Delete(e);
                }

                foreach (var hospede in hóspedeMapper.ReadAll())
                {
                    hóspedeMapper.Delete(hospede);
                }

                foreach (var e in estadaMapper.ReadAll())
                {
                    estadaMapper.Delete(estada);
                }

                foreach (var a in alojamentoMapper.ReadAll())
                {
                    alojamentoMapper.Delete(a);
                }

                foreach (var parque in parqueMap.ReadAll())
                {
                    parqueMap.Delete(parque);
                }
            }
        }