Exemple #1
0
        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 }));
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
 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;
 }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
 public APersona Registar(APersona persona)
 {
     return(this.PersonaPersistencia.RegistrarBD(persona));
 }
Exemple #8
0
 public bool Editar(APersona persona)
 {
     return(this.PersonaPersistencia.EditarBD(persona));
 }
Exemple #9
0
        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);
        }