public void altaPaciente(Paciente paciente) { if (db.pacientes.Any(o => o.PacienteID==paciente.PacienteID)) { throw new Exception("Paciente existe"); } else { db.pacientes.Add(paciente); db.SaveChanges(); //agrego comunicacion por defecto var eventos = (from e in db.eventos where e is EventoObligatorio select e).ToList(); foreach (var ev in eventos) { // asigno eventos obligatorios con medio mail... EventoPacienteComunicacion epv = new EventoPacienteComunicacion { ComunicacionID = 1, PacienteID = paciente.PacienteID, EventoID = ev.EventoID }; db.eventopacientecomunicacion.Add(epv); db.SaveChanges(); } //db.SaveChanges(); } }
public void modificarPaciente(Paciente paciente) { if (!db.pacientes.Any(o => o.PacienteID == paciente.PacienteID)) { throw new Exception("No existe paciente"); } else { var p = db.pacientes.Find(paciente.PacienteID); p.PaisID = paciente.PaisID; p.celular = paciente.celular; p.direccion = paciente.direccion; p.FN = paciente.FN; p.nombre = paciente.nombre; p.sancion = paciente.sancion; p.sexo = paciente.sexo; p.telefono = paciente.telefono; db.SaveChanges(); } }
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(); }
async Task<DataPaciente> parallelRequestPaciente(string pacienteID, List<identifierDomain> dominios) { if (OPENEMPI_SESSION_KEY == null) getAuth(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(OPENEMPI_URL); client.DefaultRequestHeaders.TryAddWithoutValidation("OPENEMPI_SESSION_KEY", OPENEMPI_SESSION_KEY); List<StringContent> content = new List<StringContent>(); //serialize request FabricaSAREM f = new FabricaSAREM(); var schemas = f.adminController.getSchemas(); dominios = dominios.Where(x => schemas.Contains(x.namespaceIdentifier)).ToList(); foreach (var dominio in dominios) { Debug.WriteLine(dominio); if (schemas.Contains(dominio.namespaceIdentifier)) { personIdentifier person = new personIdentifier { identifier = pacienteID, identifierDomain = new identifierDomain { namespaceIdentifier = dominio.namespaceIdentifier, universalIdentifier = dominio.universalIdentifier, universalIdentifierTypeCode = dominio.universalIdentifierTypeCode } }; string xml; XmlSerializer serializer = new XmlSerializer(typeof(personIdentifier)); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); using (StringWriter sww = new StringWriter()) using (XmlWriter writer = XmlWriter.Create(sww, settings)) { serializer.Serialize(writer, person, ns); xml = sww.ToString(); } var httpContent = new StringContent(xml, Encoding.UTF8, "application/xml"); content.Add(httpContent); } } //parallel! Debug.WriteLine("parallel!!!"); //var count = content.Count; List<Task<HttpResponseMessage>> tasklist = new List<Task<HttpResponseMessage>>(); foreach (var c in content) { tasklist.Add(client.PostAsync("openempi-ws-rest/person-query-resource/findPersonById", c)); } //finish all Debug.WriteLine("await2?"); Task.WhenAll(tasklist.ToArray()); int count = tasklist.Count; for (int i=0;i<count; i++) { Debug .WriteLine(tasklist[i].Result.Content.ReadAsStringAsync().Result); TextReader reader = new StringReader(tasklist[i].Result.Content.ReadAsStringAsync().Result); try { Debug.WriteLine(tasklist[i].Result.Content.ReadAsStringAsync().Result); XmlSerializer personserializer = new XmlSerializer(typeof(person)); person p = (person)personserializer.Deserialize(reader); string s = Sexo.UNKNOWN.ToString(); if (p.gender != null) { switch (p.gender.genderCode) { case "M": s = Sexo.MASCULINO.ToString(); break; case "F": s = Sexo.FEMENINO.ToString(); break; default: s = Sexo.UNKNOWN.ToString(); break; } } Paciente paciente = new Paciente { PacienteID= pacienteID, celular = p.cell, direccion = p.address1, FN = p.dateOfBirth, PaisID = p.countryCode, //nacion= new Pais{PaisID=p.countryCode, nombre= p.country}, nombre = p.middleName, mail = p.email, apellido = p.motherName, sexo = s, telefono = p.phoneNumber }; DataPaciente dp = new DataPaciente { paciente = paciente, mutualista = dominios[i].identifierDomainName }; return dp; } catch (Exception e) { Console.WriteLine("Person not found at domain "+ e.Message);//+ dominio.identifierDomainId); } } return null; } }