public static void InitializeClass(TestContext tc) { try { var context = new SAREMAdminContext(); context.dropSchema(tenant); SARMContext.createTenant(tenant); } catch (Exception E) { Debug.WriteLine(E.Message); } db = SARMContext.getTenant(tenant); comunicaciones.ForEach(c => db.comunicaciones.Add(c)); db.SaveChanges(); Debug.WriteLine("Comunicaciones agregados..."); eventos.ForEach(e => db.eventos.Add(e)); eventosop.ForEach(e => db.eventos.Add(e)); db.SaveChanges(); Debug.WriteLine("Eventos agregados..."); List<Pais> naciones = new List<Pais> { new Pais { PaisID = "UY", nombre = "Uruguay" }, new Pais { PaisID = "BR", nombre = "Brasil" } }; naciones.ForEach(n => db.paises.Add(n)); db.SaveChanges(); Debug.WriteLine("Paises agregados..."); List<Paciente> pacientes = new List<Paciente> { /* new Paciente{ PacienteID="50548305", FN=new DateTime(1991,6,22), sexo=Sexo.MASCULINO.ToString(), nombre="Leonardo Clavijo", PaisID = naciones.First().PaisID },*/ new Paciente{ PacienteID="50548306", FN=new DateTime(1991,6,22), sexo=Sexo.FEMENINO.ToString(), nombre="Kali la diosa", PaisID = naciones.First().PaisID }, new Paciente{ PacienteID="50548307", FN=new DateTime(1990,10,11), sexo=Sexo.FEMENINO.ToString(), nombre="Valentina Da Silva", PaisID = naciones.First().PaisID }, new Paciente{ PacienteID="50548308", FN=new DateTime(1990,11,11), sexo=Sexo.MASCULINO.ToString(), nombre="Jorge Perez", PaisID = naciones.First().PaisID }, new Paciente{ PacienteID="51130115", FN=new DateTime(1990,11,11), sexo=Sexo.FEMENINO.ToString(), nombre="Juana Alvarez", PaisID = naciones.First().PaisID } }; //lista pacientes.ForEach(p => fabrica.ipacientes.altaPaciente(p)); db.SaveChanges(); Debug.WriteLine("Pacientes agregados..."); //custom agrego 20 pacientes List<Paciente> customs = new List<Paciente>(); for (int i = 0; i < 20; i++) { Paciente template = new Paciente { PacienteID = i.ToString(), FN = new DateTime(1991, 6, 22), sexo = Sexo.MASCULINO.ToString(), nombre = "Leonardo Clavijo" + i.ToString(), PaisID = naciones.First().PaisID }; customs.Add(template); } customs.ForEach(x =>db.pacientes.Add(x)); Debug.WriteLine("Pacientes agregados..."); //especialidades List<Especialidad> especialidades = new List<Especialidad> { new Especialidad{ tipo="Esp1", descripcion="especialidad 1"}, new Especialidad{ tipo="Esp2", descripcion="especialidad 2"}, new Especialidad{ tipo="Esp3", descripcion="especialidad 3"}, new Especialidad{ tipo="Esp4", descripcion="especialidad 4"} }; especialidades.ForEach(e => db.especialidades.Add(e)); db.SaveChanges(); Debug.WriteLine("Especialidades agregados..."); //funcionarios List<Medico> funcionarios = new List<Medico> { new Medico {FuncionarioID="17299999", nombre="Medico1", especialidades=especialidades}, new Medico {FuncionarioID="17299998", nombre="Medico2", especialidades=especialidades}, new Medico {FuncionarioID="17299997", nombre="Medico3", especialidades=especialidades}, new Medico {FuncionarioID="17299996", nombre="Medico4", especialidades=especialidades}, new Medico {FuncionarioID="17299995", nombre="Medico5", especialidades=especialidades} }; funcionarios.ForEach(f => db.funcionarios.Add(f)); db.SaveChanges(); Debug.WriteLine("Funcionarios agregados..."); List<Local> locales = new List<Local> { new Local {LocalID=1, nombre = "local1", calle="calle1", numero="SN", especialidades=especialidades, medicos=funcionarios}, new Local {LocalID=2, nombre = "local2", calle="calle2", numero="SN2"}, new Local {LocalID=3, nombre = "local3", calle="calle3", numero="SN3"} }; locales.ForEach(l => db.locales.Add(l)); db.SaveChanges(); //Creo consultas para asignar List<Consulta> consultas = new List<Consulta> { new Consulta { EspecialidadID = especialidades[0].EspecialidadID, fecha_inicio=DateTime.UtcNow, fecha_fin= DateTime.UtcNow.AddMinutes(20), FuncionarioID=funcionarios[0].FuncionarioID, LocalID=1, numpacientes=10, maxpacientesespera=10 }, new Consulta { EspecialidadID = especialidades[1].EspecialidadID, fecha_inicio=DateTime.UtcNow, fecha_fin= DateTime.UtcNow.AddMinutes(300), FuncionarioID=funcionarios[0].FuncionarioID, LocalID=2, numpacientes=10, maxpacientesespera=10 }, new Consulta { EspecialidadID = especialidades[2].EspecialidadID, fecha_inicio=DateTime.UtcNow, fecha_fin= DateTime.UtcNow.AddMinutes(300), FuncionarioID=funcionarios[0].FuncionarioID, LocalID=1, numpacientes=10, maxpacientesespera=10 } }; FabricaSAREM fab = new FabricaSAREM(tenant); consultas.ForEach(c => fab.iagenda.agregarConsulta(c)); db.SaveChanges(); Debug.WriteLine("Consultas agregados..."); //al paciente 13 le asigno un medico de referencia. var pac = db.pacientes.Find("13"); pac.FuncionarioID = funcionarios[0].FuncionarioID; pac = db.pacientes.Find("10"); pac.FuncionarioID = funcionarios[0].FuncionarioID; pac = db.pacientes.Find("1"); pac.FuncionarioID = funcionarios[0].FuncionarioID; pac = db.pacientes.Find("2"); pac.FuncionarioID = funcionarios[1].FuncionarioID; pac = db.pacientes.Find("3"); pac.FuncionarioID = funcionarios[1].FuncionarioID; pac = db.pacientes.Find("4"); pac.FuncionarioID = funcionarios[1].FuncionarioID; db.SaveChanges(); }
public DALNotificaciones(string tenant) { this.tenant = tenant; db = SARMContext.getTenant(tenant); }
public static SARMContext getTenant(string schemaName) { var builder = new DbModelBuilder(); builder.Entity<AgendaEvento>().ToTable("NotificacionesConsultas", schemaName) .HasKey(k => k.ID); builder.Entity<Comunicacion>().ToTable("Comunicaciones", schemaName); builder.Entity<Consulta>() .ToTable("Consultas", schemaName); builder.Entity<Pais>().ToTable("Paises", schemaName); builder.Entity<Especialidad>().ToTable("Especialidades", schemaName); builder.Entity<Evento>() .Map<EventoObligatorio>(ee => ee.Requires("TipoEvento").HasValue(0)) .Map<EventoOpcional>(ee => ee.Requires("TipoEvento").HasValue(1)) .ToTable("Eventos", schemaName); //medicos, etc builder.Entity<Funcionario>().ToTable("Funcionarios", schemaName); builder.Entity<Paciente>().ToTable("Pacientes", schemaName); builder.Entity<EventoPacienteComunicacion>().ToTable("EventoPacienteComunicacion", schemaName); //builder.Entity<MedicoLocal>().ToTable("MedicoLocal", schemaName).; builder.Entity<PacienteConsultaCancelar>().ToTable("ConsultasCanceladas", schemaName); builder.Entity<Paciente>() .HasMany<PacienteConsultaCancelar>(p => p.canceladas) .WithRequired(pc => pc.paciente); //builder.Entity<Parte>().ToTable("Partes", schemaName); builder.Entity<Referencia>().ToTable("Referencias", schemaName) .HasKey(k => new { k.PacienteID, k.FuncionarioID}); builder.Entity<PacienteConsultaAgenda>().ToTable("PacienteConsulta", schemaName) .HasRequired(x => x.consulta).WithMany(x => x.pacientes); builder.Entity<Medico>() .HasMany<Especialidad>(m => m.especialidades) .WithMany(e => e.medicos) .Map(me => { me.MapLeftKey("MedicoID"); me.MapRightKey("EspecialidadID"); me.ToTable("MedicosEspecialidades", schemaName); }); builder.Entity<Local>().ToTable("Locales", schemaName); builder.Entity<Local>() .HasMany<Especialidad>(l => l.especialidades) .WithMany(e => e.locales) .Map(me =>{ me.MapLeftKey("LocalID"); me.MapRightKey("EspecialidadID"); me.ToTable("LocalesEspecialidades", schemaName); }); builder.Entity<Medico>() .HasMany<Local>(e => e.locales) .WithMany(r => r.medicos) .Map(me => { me.MapLeftKey("MedicoID"); me.MapRightKey("LocalID"); me.ToTable("MedicoLocal", schemaName); }); builder.Entity<Evento>() .HasMany<EventoPacienteComunicacion>(e=> e.pacientes); builder.Entity<Paciente>() .HasMany<EventoPacienteComunicacion>(e => e.eventos); builder.Entity<Comunicacion>() .HasMany<EventoPacienteComunicacion>(e => e.eventos); builder.Entity<PacienteConsultaEspera>().ToTable("PacientesEspera", schemaName); builder.Entity<Mensaje>().ToTable("Mensajes", schemaName); var model = builder.Build(new SqlConnection(con)); DbCompiledModel compModel = model.Compile(); var compiledModel = modelCache.GetOrAdd(schemaName, compModel); SARMContext ret = new SARMContext(compiledModel, schemaName); return ret; }
public DALPacientes(string tenant) { db = SARMContext.getTenant(tenant); }