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