예제 #1
0
파일: Program.cs 프로젝트: RuiDTLima/SI2
        private static void UpdateHóspede()
        {
            Hóspede updateHóspede = new Hóspede();

            Console.Write("Nome: ");
            updateHóspede.nome = Console.ReadLine();

            Console.Write("NIF: ");
            updateHóspede.NIF = int.Parse(Console.ReadLine());

            Console.Write("Morada: ");
            updateHóspede.morada = Console.ReadLine();

            Console.Write("Email: ");
            updateHóspede.email = Console.ReadLine();

            Console.Write("Numero Identificação: ");
            updateHóspede.númeroIdentificação = int.Parse(Console.ReadLine());

            using (var context = new GlampinhoEF()) {
                context.Hóspede.Attach(updateHóspede);

                var entry = context.Entry(updateHóspede);
                entry.Property(e => e.nome).IsModified   = true;
                entry.Property(e => e.morada).IsModified = true;
                entry.Property(e => e.email).IsModified  = true;
                entry.Property(e => e.númeroIdentificação).IsModified = true;
                entry.Property(e => e.NIF).IsModified = true;
                context.SaveChanges();
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: RuiDTLima/SI2
        private static void DeleteParque()
        {
            string         nomeParque;
            List <int>     hóspedes, estadas;
            ParqueCampismo parque = new ParqueCampismo();

            Console.Write("Nome Parque: ");
            nomeParque = Console.ReadLine();

            parque.nome = nomeParque;

            using (var context = new GlampinhoEF()) {
                hóspedes = context.Database.SqlQuery <int>(
                    "SELECT DISTINCT NIF FROM HóspedeEstada \n" +
                    "EXCEPT\n" +
                    "SELECT DISTINCT NIF FROM HóspedeEstada INNER JOIN ( SELECT id FROM AlojamentoEstada WHERE nomeParque<>@p0 ) AS A ON A.id=HóspedeEstada.id", nomeParque).ToList();
            }

            hóspedes.ForEach((hóspede) => {
                using (var context = new GlampinhoEF()) {
                    context.deleteHospede(hóspede);
                }
            });

            using (var context = new GlampinhoEF()) {
                estadas = context.Database.SqlQuery <int>(
                    "SELECT A.id FROM Estada INNER JOIN(SELECT * FROM AlojamentoEstada WHERE nomeParque = @p0) AS A ON Estada.id = A.id", nomeParque).ToList();

                context.Entry(parque).State = EntityState.Deleted;
                context.SaveChanges();
            }

            estadas.ForEach((estadaId) => {
                Estada estada = new Estada();
                estada.id     = estadaId;

                using (var context = new GlampinhoEF()) {
                    context.Entry(estada).State = EntityState.Deleted;
                    context.SaveChanges();
                }
            });
        }
예제 #3
0
파일: Program.cs 프로젝트: RuiDTLima/SI2
        private static void UpdateExtra(string tipoExtra)
        {
            Extra extra = new Extra();

            Console.Write("Id: ");
            extra.id = int.Parse(Console.ReadLine());

            Console.Write("Descrição: ");
            extra.descrição = Console.ReadLine();

            Console.Write("Preço Dia: ");
            extra.preçoDia = int.Parse(Console.ReadLine());

            if (tipoExtra.Equals("3"))
            {
                using (var context = new GlampinhoEF()) {
                    extra.associado = "alojamento";

                    context.Extra.Attach(extra);

                    var entry = context.Entry(extra);
                    entry.Property(e => e.descrição).IsModified = true;
                    entry.Property(e => e.preçoDia).IsModified  = true;
                    entry.Property(e => e.associado).IsModified = true;
                    context.SaveChanges();
                }
            }
            else
            {
                using (var context = new GlampinhoEF()) {
                    extra.associado = "pessoa";

                    context.Extra.Attach(extra);

                    var entry = context.Entry(extra);
                    entry.Property(e => e.descrição).IsModified = true;
                    entry.Property(e => e.preçoDia).IsModified  = true;
                    entry.Property(e => e.associado).IsModified = true;
                    context.SaveChanges();
                }
            }
        }
예제 #4
0
파일: Program.cs 프로젝트: RuiDTLima/SI2
        private static void UpdateActividade()
        {
            Actividades actividade = new Actividades();

            Console.Write("Nome Actividade: ");
            actividade.nome = Console.ReadLine();

            Console.Write("Nome Parque: ");
            actividade.nomeParque = Console.ReadLine();

            Console.Write("Número Sequencial: ");
            actividade.númeroSequencial = int.Parse(Console.ReadLine());

            Console.Write("Descrição: ");
            actividade.descrição = Console.ReadLine();

            Console.Write("Lotação: ");
            actividade.lotaçãoMáxima = int.Parse(Console.ReadLine());

            Console.Write("Preço participante: ");
            actividade.preçoParticipante = int.Parse(Console.ReadLine());

            Console.Write("Data Realização(YYYY-MM-DD HH:MM:SS): ");
            string dataRealização = Console.ReadLine();

            actividade.ano            = int.Parse(dataRealização.Substring(0, 4));
            actividade.dataRealização = Convert.ToDateTime(dataRealização);

            using (var context = new GlampinhoEF()) {
                context.Actividades.Attach(actividade);

                var entry = context.Entry(actividade);
                entry.Property(e => e.descrição).IsModified         = true;
                entry.Property(e => e.nome).IsModified              = true;
                entry.Property(e => e.lotaçãoMáxima).IsModified     = true;
                entry.Property(e => e.preçoParticipante).IsModified = true;
                entry.Property(e => e.dataRealização).IsModified    = true;
                context.SaveChanges();
            }
        }