public ActionResult Login([FromBody] ACuenta cuenta) { var secretKey = Startup.cadenaToken; var key = Encoding.ASCII.GetBytes(secretKey); CuentaImp cuentaImp = new CuentaImp(new CuentaPersistencia()); APersona perosna = cuentaImp.Login(cuenta); if (perosna == null) { return(NotFound()); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, cuenta.NombreUsuario), new Claim(ClaimTypes.Actor, perosna.Rol) }; ClaimsIdentity claimsIdentity = new ClaimsIdentity(claims); var tokenDescriptor = new SecurityTokenDescriptor { Subject = claimsIdentity, Expires = DateTime.UtcNow.AddHours(8), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var tokenHandler = new JwtSecurityTokenHandler(); var createdToken = tokenHandler.CreateToken(tokenDescriptor); var token = tokenHandler.WriteToken(createdToken); return(Ok(new { rol = perosna.Rol, token, idPersona = perosna.IdPersona })); }
public APersona LoginBD(ACuenta cuenta) { SHA256 mySHA256 = SHA256.Create(); var optionsBuilder = new DbContextOptionsBuilder <ApplicationContext>(); optionsBuilder.UseSqlServer(Startup.urlConexion); using (var context = new ApplicationContext(optionsBuilder.Options)) { byte[] bytes = mySHA256.ComputeHash(Encoding.UTF8.GetBytes(cuenta.Contrasena)); StringBuilder builder = new StringBuilder(); for (int i = 0; i < bytes.Length; i++) { builder.Append(bytes[i].ToString("x2")); } string contraseñasha = builder.ToString(); Persona personaBD = context.Cuenta.Where(cuentaBD => cuentaBD.NombreUsuario == cuenta.NombreUsuario && cuentaBD.Contrasena == contraseñasha).Select(cuentadb => cuentadb.Persona).FirstOrDefault(); APersona persona = null; if (personaBD != null) { persona = new APersona() { IdPersona = personaBD.IdPersona, Rol = personaBD.Rol }; } return(persona); } }
public Persona(APersona persona) { this.Nombre = persona.Nombre; this.Apellidos = persona.Apellidos; this.Correo = persona.Correo; this.Telefono = persona.Telefono; this.Genero = persona.Genero; this.Rol = persona.Rol; this.FechaNacimiento = persona.FechaNacimiento; this.IdPersona = persona.IdPersona; }
public APersona RegistrarBD(APersona persona) { var optionsBuilder = new DbContextOptionsBuilder <ApplicationContext>(); optionsBuilder.UseSqlServer(Startup.urlConexion); using (var context = new ApplicationContext(optionsBuilder.Options)) { try { Persona personaBD = new Persona(persona); context.Add(personaBD); context.SaveChanges(); persona.IdPersona = personaBD.IdPersona; } catch (DbUpdateException) { } } return(persona); }
public bool EditarBD(APersona persona) { bool seActualizo = true; var optionsBuilder = new DbContextOptionsBuilder <ApplicationContext>(); optionsBuilder.UseSqlServer(Startup.urlConexion); using (var context = new ApplicationContext(optionsBuilder.Options)) { try { Persona personaBD = new Persona(persona); context.Update(personaBD); context.SaveChanges(); } catch (DbUpdateException) { seActualizo = false; } } return(seActualizo); }
public List <APersona> ObtenerPersonasBD() { List <Persona> personas; List <APersona> personasEncontradas = new List <APersona>(); var optionsBuilder = new DbContextOptionsBuilder <ApplicationContext>(); optionsBuilder.UseSqlServer(Startup.urlConexion); using (var context = new ApplicationContext(optionsBuilder.Options)) { try { personas = context.Persona.Where(persona => persona.Rol != "Coordinador").ToList(); foreach (Persona persona in personas) { APersona personaEncontrada = new APersona(); personaEncontrada.Nombre = persona.Nombre; personaEncontrada.Apellidos = persona.Apellidos; personaEncontrada.FechaNacimiento = persona.FechaNacimiento; personaEncontrada.Correo = persona.Correo; personaEncontrada.IdPersona = persona.IdPersona; personaEncontrada.Genero = persona.Genero; personaEncontrada.Rol = persona.Rol; personaEncontrada.Telefono = persona.Telefono; personasEncontradas.Add(personaEncontrada); } } catch (DbUpdateException) { } } return(personasEncontradas); }
public APersona Registar(APersona persona) { return(this.PersonaPersistencia.RegistrarBD(persona)); }
public bool Editar(APersona persona) { return(this.PersonaPersistencia.EditarBD(persona)); }
public List <AConsulta> obtenerConsultasDePacienteBD(int IdPersona) { List <Consulta> consultas; List <AConsulta> consultasEncontradas = new List <AConsulta>(); var optionsBuilder = new DbContextOptionsBuilder <ApplicationContext>(); optionsBuilder.UseSqlServer(Startup.urlConexion); using (var context = new ApplicationContext(optionsBuilder.Options)) { try { consultas = context.Consulta.Where(x => x.PersonaIdPersona.Equals(IdPersona)).ToList(); foreach (Consulta consulta in consultas) { AConsulta consultaEncontrada = new AConsulta(); consultaEncontrada.IdConsulta = consulta.IdConsulta; consultaEncontrada.HoraInicio = consulta.HoraInicio; consultaEncontrada.HoraFin = consulta.HoraFin; AReceta receta = new AReceta(); Receta recetaBD = new Receta(); receta.IdReceta = consulta.RecetaForeignKey; recetaBD = context.Receta.Find(consulta.RecetaForeignKey); receta.Observaciones = recetaBD.Observaciones; List <Tratamiento> tratamientosDeRecetaBD = new List <Tratamiento>(); tratamientosDeRecetaBD = context.Tratamiento.Where(x => x.RecetaIdReceta.Equals(receta.IdReceta)).ToList(); List <ATratamiento> tratamientosDeReceta = new List <ATratamiento>(); foreach (Tratamiento tratamiento in tratamientosDeRecetaBD) { ATratamiento tratamientoEncontrado = new ATratamiento(); tratamientoEncontrado.IdTratamiento = tratamiento.IdTratamiento; tratamientoEncontrado.Tiempo = tratamiento.Tiempo; tratamientoEncontrado.Cantidad = tratamiento.Cantidad; tratamientoEncontrado.Frecuencia = tratamiento.Frecuencia; List <AMedicamento> medicamentosDeTratamiento = new List <AMedicamento>(); List <MedicamentoTratamiento> medicamentoTratamientosBD = new List <MedicamentoTratamiento>(); medicamentoTratamientosBD = context.MedicamentoTratamiento.Where(x => x.TratamientoId.Equals(tratamientoEncontrado.IdTratamiento)).ToList(); foreach (MedicamentoTratamiento medicamentoTratamiento in medicamentoTratamientosBD) { AMedicamento medicamentoEncontrado = new AMedicamento(); Medicamento medicamentoBD = new Medicamento(); medicamentoBD = context.Medicamento.Find(medicamentoTratamiento.MedicamentoId); medicamentoEncontrado.IdMedicamento = medicamentoBD.IdMedicamento; medicamentoEncontrado.Nombre = medicamentoBD.Nombre; medicamentoEncontrado.Cantidad = medicamentoBD.Cantidad; medicamentoEncontrado.Compuesto = medicamentoBD.Compuesto; medicamentoEncontrado.Presentacion = medicamentoBD.Presentacion; medicamentosDeTratamiento.Add(medicamentoEncontrado); } tratamientoEncontrado.Medicamentos = medicamentosDeTratamiento; tratamientosDeReceta.Add(tratamientoEncontrado); } receta.Tratamientos = tratamientosDeReceta; consultaEncontrada.Receta = receta; APersona paciente = new APersona(); Persona personaBD = new Persona(); personaBD = context.Persona.Find(consulta.PersonaIdPersona); paciente.IdPersona = personaBD.IdPersona; paciente.Nombre = personaBD.Nombre; paciente.Rol = personaBD.Rol; paciente.Telefono = personaBD.Telefono; paciente.FechaNacimiento = personaBD.FechaNacimiento; paciente.Apellidos = personaBD.Apellidos; paciente.Correo = personaBD.Correo; paciente.Genero = personaBD.Genero; consultaEncontrada.Persona = paciente; consultasEncontradas.Add(consultaEncontrada); } } catch (DbUpdateException) { } } return(consultasEncontradas); }