Beispiel #1
0
        public ComponenteFaturaProxy(ComponenteFatura c, IContext ctx) : base()
        {
            context = ctx;

            base.Id        = c.Id;
            base.Fatura    = null;
            base.Tipo      = c.Tipo;
            base.Preço     = c.Preço;
            base.Descrição = c.Descrição;
        }
Beispiel #2
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);
                }
            }
        }
Beispiel #3
0
        public void InsertTest()
        {
            using (var ctx = new Entities())
            {
                try
                {
                    Hóspede hóspede = new Hóspede
                    {
                        bi     = 1234567890,
                        nif    = 0987654321,
                        nome   = "Jaquim",
                        email  = "*****@*****.**",
                        morada = "Rua da Calçada"
                    };

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


                    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);


                    Fatura fatura = new Fatura
                    {
                        id_estada   = estada.id,
                        nif_hóspede = hóspede.nif,

                        nome_hóspede = hóspede.nome,
                        id           = 1,
                        valor_final  = 0
                    };


                    ctx.Faturas.Add(fatura);
                    ctx.SaveChanges();

                    ComponenteFatura componente = new ComponenteFatura
                    {
                        preço     = 25,
                        Fatura    = fatura,
                        tipo      = "Alojamento",
                        descrição = "muito bom"
                    };

                    ctx.ComponenteFaturas.Add(componente);
                    ctx.SaveChanges();
                    var id = componente.id;

                    ComponenteFatura componente2 = ctx.ComponenteFaturas.Find(id, fatura.id);
                    Assert.IsNotNull(componente2);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
                finally
                {
                    foreach (var e in ctx.ComponenteFaturas)
                    {
                        ctx.ComponenteFaturas.Remove(e);
                    }

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

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

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

                    ctx.SaveChanges();
                }
            }
        }
Beispiel #4
0
        public void UpdateTest()
        {
            using (Context ctx = new Context(connectionString))
            {
                Hóspede hóspede = new Hóspede();
                hóspede.Bi     = 1234567890;
                hóspede.Nif    = 0987654321;
                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);

                Estada estada = new Estada();
                estada.DataInicio = new DateTime(2007, 3, 1);
                estada.DataFim    = new DateTime(2017, 3, 1);
                estada.Id         = 25;
                //TODO
                estada.NifHospede = 0;

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


                Fatura fatura = new Fatura();
                fatura.Hóspede    = hóspede;
                fatura.Estada     = estada;
                fatura.Id         = 1;
                fatura.ValorFinal = 0;


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


                ComponenteFatura componente = new ComponenteFatura();
                componente.Preço     = 25;
                componente.Fatura    = fatura;
                componente.Tipo      = "Alojamento";
                componente.Descrição = "muito bom";
                var componenteMapper = new ComponenteFaturaMapper(ctx);
                componente = componenteMapper.Create(componente);

                ComponenteFatura componente2 = componenteMapper.Read(componente.Id);
                Assert.IsNotNull(componente2);


                var componenteDescrição = "nada";
                var extraAlojamento     = "Extra Alojamento";
                var componentePreço     = 52;

                componente.Descrição = componenteDescrição;
                componente.Tipo      = extraAlojamento;
                componente.Preço     = componentePreço;

                componente = componenteMapper.Update(componente);

                Assert.AreEqual(componente.Tipo, extraAlojamento);
                Assert.AreEqual(componente.Descrição, componenteDescrição);
                Assert.AreEqual(componente.Preço, componentePreço);


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

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

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

                foreach (var e in estadaMapper.ReadAll())
                {
                    estadaMapper.Delete(e);
                }
            }
        }
Beispiel #5
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();
                }
            }
        }