示例#1
0
        public ActionResult Login(LoginViewModel login)
        {
            bd_bibliotecaContext db = new bd_bibliotecaContext();
            var usuario             = db.Usuario.FirstOrDefault(e => e.CorreoElectronico == login.Correo);

            if (usuario != null)
            {
                if (string.Compare(Crypto.Hash(login.Contraseña), usuario.Contraseña) == 0)
                {
                    var rol      = db.RolUsuario.FirstOrDefault(e => e.CodRolusuario == usuario.CodRolusuario);
                    var identity = new ClaimsIdentity(new[] {
                        new Claim(ClaimTypes.Name, usuario.CorreoElectronico), new Claim(ClaimTypes.Role, rol.Rol)
                    }, CookieAuthenticationDefaults.AuthenticationScheme);

                    var principal = new ClaimsPrincipal(identity);

                    HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);

                    return(RedirectToAction("Secret", "Home"));
                }
                else
                {
                    Mensaje = "Contraseña Incorrecta";
                    return(RedirectToAction("Login"));
                }
            }
            else
            {
                Mensaje = "Usuario No Encontrado";
                return(RedirectToAction("Login"));
            }
        }
        public ActionResult Login(string email, string password)
        {
            bd_bibliotecaContext db = new bd_bibliotecaContext();
            var usuario             = db.Usuario.FirstOrDefault(e => e.CorreoElectronico == email);

            if (usuario != null)
            {
                if (string.Compare(Crypto.Hash(password), usuario.Contraseña) == 0)
                {
                    var rol      = db.RolUsuario.FirstOrDefault(e => e.CodRolusuario == usuario.CodRolusuario);
                    var identity = new ClaimsIdentity(new[] {
                        new Claim(ClaimTypes.Name, usuario.CorreoElectronico), new Claim(ClaimTypes.Role, rol.Rol),
                        new Claim(ClaimTypes.NameIdentifier, "" + usuario.CodUsuario)
                    }, CookieAuthenticationDefaults.AuthenticationScheme);

                    var principal = new ClaimsPrincipal(identity);

                    HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);

                    return(RedirectToAction("Index", "Usuarios"));
                }
                else
                {
                    TempData["mensaje"] = "Datos erróneos. Por favor, inténtelo nuevamente!";
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                TempData["mensaje"] = "Datos erróneos. Por favor, inténtelo nuevamente!";
                return(RedirectToAction("Index", "Home"));
            }
        }
        public async Task <IActionResult> StartRecovery(string correo)
        {
            if (ModelState.IsValid)
            {
                bd_bibliotecaContext bd = new bd_bibliotecaContext();
                var user = bd.Usuario.Where(w => w.CorreoElectronico == correo).FirstOrDefault();
                if (user != null)
                {
                    string token = Crypto.Hash(Guid.NewGuid().ToString());
                    user.RecContraseña = token;
                    _context.Update(user);
                    await _context.SaveChangesAsync();

                    EnviarCorreo(user.CorreoElectronico, token);


                    TempData["mensaje1"] = "Se ha enviado la informacion de recuperacion de contraseña a su correo Electronico!";
                    return(RedirectToAction("Index", "Home"));
                    //return RedirectToAction(nameof(Index));
                    //enviar correo
                }
                else
                {
                    TempData["mensaje"] = "No se ha podido encontrar tu cuenta. Por favor, inténtelo nuevamente!";
                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(View());
        }
示例#4
0
        public async Task <IActionResult> StartRecovery(StartRecoveryViewModel model)
        {
            if (ModelState.IsValid)
            {
                bd_bibliotecaContext bd = new bd_bibliotecaContext();
                var user = bd.Usuario.Where(w => w.CorreoElectronico == model.CorreoElectornico).FirstOrDefault();
                if (user != null)
                {
                    string token = Crypto.Hash(Guid.NewGuid().ToString());
                    user.RecContraseña = token;
                    _context.Update(user);
                    EnviarCorreo(user.CorreoElectronico, token);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                    //enviar correo
                }
                Mensaje = "Usuario No Encontrado";
                return(View(model));
            }

            return(View(model));
        }
 public UsuariosController(bd_bibliotecaContext context)
 {
     _context = context;
 }
示例#6
0
        public async Task <IActionResult> DevolverLibro(int libro, int libro1, int libro12, int mora, int idlibro, int idlibro1, int idlibro12, int codPrestamo)
        {
            int codprestamo = codPrestamo;

            bd_bibliotecaContext _context1 = new bd_bibliotecaContext();
            bd_bibliotecaContext _context2 = new bd_bibliotecaContext();
            bd_bibliotecaContext _context3 = new bd_bibliotecaContext();
            //Libro 1


            var detprestamo = _context1.DetPrestamo.Include(x => x.CodLibroNavigation).Include(y => y.CodPrestamoNavigation).AsNoTracking().FirstOrDefault(x => x.CodPrestamo == codPrestamo && x.CodLibro == idlibro);

            if (libro != 0 && idlibro != 0)
            {
                //    var perdido1 = _context.Libro.Where(x => x.CodLibro == libro).FirstOrDefault();

                if (detprestamo.CodLibroNavigation.Ejemplares == 0 && detprestamo.CodLibroNavigation.Estado.Equals("Ocupado") || detprestamo.CodLibroNavigation.Ejemplares == 0 && detprestamo.CodLibroNavigation.Estado.Equals("Perdido"))
                {
                    detprestamo.CodLibroNavigation.Estado = "Perdido";
                    detprestamo.Estado = "Perdido";
                    DateTime thisDay = DateTime.Today;
                    detprestamo.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo.CodPrestamoNavigation.Mora           = mora;
                    _context1.Update(detprestamo);
                    await _context1.SaveChangesAsync();
                }
                else if (detprestamo.CodLibroNavigation.Ejemplares >= 0 && detprestamo.CodLibroNavigation.Estado.Equals("Disponible"))
                {
                    detprestamo.Estado = "Perdido";
                    DateTime thisDay = DateTime.Today;
                    detprestamo.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo.CodPrestamoNavigation.Mora           = mora;
                    _context1.Update(detprestamo);
                    await _context1.SaveChangesAsync();
                }
            }
            else if (libro == 0 && idlibro != 0)
            {
                if (detprestamo.CodLibroNavigation.Estado.Equals("Perdido") || detprestamo.CodLibroNavigation.Estado.Equals("Ocupado"))
                {
                    detprestamo.CodLibroNavigation.Estado = "Disponible";
                    detprestamo.Estado = "Devuelto";
                    DateTime thisDay = DateTime.Today;
                    detprestamo.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo.CodPrestamoNavigation.Mora           = mora;
                    _context1.Update(detprestamo);
                    await _context1.SaveChangesAsync();
                }
                else if (detprestamo.CodLibroNavigation.Estado.Equals("Disponible") && detprestamo.CodLibroNavigation.Ejemplares >= 0)
                {
                    detprestamo.Estado = "Devuelto";
                    DateTime thisDay = DateTime.Today;
                    detprestamo.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo.CodPrestamoNavigation.Mora           = mora;
                    detprestamo.CodLibroNavigation.Ejemplares        = detprestamo.CodLibroNavigation.Ejemplares + 1;
                    _context1.Update(detprestamo);
                    await _context1.SaveChangesAsync();
                }
            }



            //Libro 2
            var detprestamo1 = _context2.DetPrestamo.Include(x => x.CodLibroNavigation).Include(y => y.CodPrestamoNavigation).FirstOrDefault(x => x.CodPrestamo == codPrestamo && x.CodLibro == idlibro1);

            if (libro1 != 0 && idlibro1 != 0)
            {
                //    var perdido1 = _context.Libro.Where(x => x.CodLibro == libro).FirstOrDefault();

                if (detprestamo1.CodLibroNavigation.Ejemplares == 0 && detprestamo1.CodLibroNavigation.Estado.Equals("Ocupado") || detprestamo1.CodLibroNavigation.Ejemplares == 0 && detprestamo1.CodLibroNavigation.Estado.Equals("Perdido"))
                {
                    detprestamo1.CodLibroNavigation.Estado = "Perdido";
                    detprestamo1.Estado = "Perdido";
                    DateTime thisDay = DateTime.Today;
                    detprestamo1.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo1.CodPrestamoNavigation.Mora           = mora;
                    _context2.Update(detprestamo1);
                    await _context2.SaveChangesAsync();
                }
                else if (detprestamo1.CodLibroNavigation.Ejemplares >= 0 && detprestamo1.CodLibroNavigation.Estado.Equals("Disponible"))
                {
                    detprestamo1.Estado = "Perdido";
                    DateTime thisDay = DateTime.Today;
                    detprestamo1.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo1.CodPrestamoNavigation.Mora           = mora;
                    _context2.Update(detprestamo1);
                    await _context2.SaveChangesAsync();
                }
            }
            else if (libro1 == 0 && idlibro1 != 0)
            {
                if (detprestamo1.CodLibroNavigation.Estado.Equals("Perdido") || detprestamo1.CodLibroNavigation.Estado.Equals("Ocupado"))
                {
                    detprestamo1.CodLibroNavigation.Estado = "Disponible";
                    detprestamo1.Estado = "Devuelto";
                    DateTime thisDay = DateTime.Today;
                    detprestamo1.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo1.CodPrestamoNavigation.Mora           = mora;
                    _context2.Update(detprestamo1);
                    await _context2.SaveChangesAsync();
                }
                else if (detprestamo1.CodLibroNavigation.Estado.Equals("Disponible") && detprestamo1.CodLibroNavigation.Ejemplares >= 0)
                {
                    detprestamo1.Estado = "Devuelto";
                    DateTime thisDay = DateTime.Today;
                    detprestamo1.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo1.CodPrestamoNavigation.Mora           = mora;
                    detprestamo1.CodLibroNavigation.Ejemplares        = detprestamo1.CodLibroNavigation.Ejemplares + 1;
                    _context2.Update(detprestamo1);
                    await _context2.SaveChangesAsync();
                }
            }

            //Libro3
            var detprestamo2 = _context3.DetPrestamo.Include(x => x.CodLibroNavigation).Include(y => y.CodPrestamoNavigation).FirstOrDefault(x => x.CodPrestamo == codPrestamo && x.CodLibro == idlibro12);

            if (libro12 != 0 && idlibro12 != 0)
            {
                //    var perdido1 = _context.Libro.Where(x => x.CodLibro == libro).FirstOrDefault();

                if (detprestamo2.CodLibroNavigation.Ejemplares == 0 && detprestamo2.CodLibroNavigation.Estado.Equals("Ocupado") || detprestamo2.CodLibroNavigation.Ejemplares == 0 && detprestamo2.CodLibroNavigation.Estado.Equals("Perdido"))
                {
                    detprestamo2.CodLibroNavigation.Estado = "Perdido";
                    detprestamo2.Estado = "Perdido";
                    DateTime thisDay = DateTime.Today;
                    detprestamo2.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo2.CodPrestamoNavigation.Mora           = mora;
                    _context3.Update(detprestamo2);
                    await _context3.SaveChangesAsync();
                }
                else if (detprestamo2.CodLibroNavigation.Ejemplares >= 0 && detprestamo2.CodLibroNavigation.Estado.Equals("Disponible"))
                {
                    detprestamo2.Estado = "Perdido";
                    DateTime thisDay = DateTime.Today;
                    detprestamo2.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo2.CodPrestamoNavigation.Mora           = mora;
                    _context3.Update(detprestamo2);
                    await _context3.SaveChangesAsync();
                }
            }
            else if (libro12 == 0 && idlibro12 != 0)
            {
                if (detprestamo2.CodLibroNavigation.Estado.Equals("Perdido") || detprestamo2.CodLibroNavigation.Estado.Equals("Ocupado"))
                {
                    detprestamo2.CodLibroNavigation.Estado = "Disponible";
                    detprestamo2.Estado = "Devuelto";
                    DateTime thisDay = DateTime.Today;
                    detprestamo2.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo2.CodPrestamoNavigation.Mora           = mora;
                    _context3.Update(detprestamo2);
                    await _context3.SaveChangesAsync();
                }
                else if (detprestamo2.CodLibroNavigation.Estado.Equals("Disponible") && detprestamo2.CodLibroNavigation.Ejemplares >= 0)
                {
                    detprestamo2.Estado = "Devuelto";
                    DateTime thisDay = DateTime.Today;
                    detprestamo2.CodPrestamoNavigation.FechaRecepcion = thisDay;
                    detprestamo2.CodPrestamoNavigation.Mora           = mora;
                    detprestamo2.CodLibroNavigation.Ejemplares        = detprestamo2.CodLibroNavigation.Ejemplares + 1;
                    _context3.Update(detprestamo2);
                    await _context3.SaveChangesAsync();
                }
            }


            var prestamo1 = _context.Prestamo
                            .Include(p => p.CodUsuarioNavigation)
                            .Include(p => p.DetPrestamo)
                            .ThenInclude(p => p.CodLibroNavigation)
                            .FirstOrDefault(m => m.CodPrestamo == codPrestamo);

            return(View(prestamo1));
        }
示例#7
0
 public PrestamoController(bd_bibliotecaContext context)
 {
     _context = context;
 }
示例#8
0
        public async Task <IActionResult> Create([Bind("CodPrestamo,FechaPrestamo,FechaDevolucion,FechaRecepcion,Mora,Tipo,CodUsuario,Libros")] Prestamo prestamo)
        {
            if (ModelState.IsValid)
            {
                bd_bibliotecaContext context2 = new bd_bibliotecaContext();
                foreach (var i in prestamo.Libros)
                {
                    var libro = context2.Libro.Where(w => w.CodLibro == i).FirstOrDefault();
                    if (libro != null)
                    {
                        if (libro.Ejemplares == 0 && libro.Estado.Equals("Ocupado"))
                        {
                            //Hacer aca la validacion del modal
                            TempData["mensajePresE"] = "Creado!";
                            return(RedirectToAction("Ficha"));
                        }
                        else if (libro.Ejemplares == 0 && libro.Estado.Equals("Perdido"))
                        {
                            //Hacer aca la validacion del modal
                            TempData["mensajePresE"] = "Error";
                            return(RedirectToAction("Ficha"));
                        }
                        if (libro.Ejemplares != 0)
                        {
                            prestamo.DetPrestamo.Add(new DetPrestamo {
                                CodLibro = i, Estado = "Ocupado"
                            });
                            libro.Ejemplares = libro.Ejemplares - 1;
                            await context2.SaveChangesAsync();
                        }
                        else if (libro.Ejemplares == 0 && libro.Estado.Equals("Disponible"))
                        {
                            prestamo.DetPrestamo.Add(new DetPrestamo {
                                CodLibro = i, Estado = "Ocupado"
                            });
                            libro.Estado = "Ocupado";
                            await context2.SaveChangesAsync();
                        }
                    }
                }
                // _context.Libro.Update(new Libro {Estado="Dipsonible" });
                DateTime thisDay = DateTime.Today;
                prestamo.FechaPrestamo = thisDay;
                _context.Add(prestamo);
                await _context.SaveChangesAsync();


                return(RedirectToAction("ConfirmacionFicha", new { id = prestamo.CodPrestamo }));


                /*
                 * var trabajoGraduacion = await _context.TrabajoGraduacion
                 * .Include(t => t.CodAsesorNavigation)
                 * .Include(t => t.CodCarreraNavigation)
                 * .Include(t => t.CodCatNavigation)
                 * .Include(t => t.CodTipotrabajoNavigation)
                 * .Include(t => t.TrabajoPalabraClave)
                 * .ThenInclude(e => e.CodPalabraClaveNavigation)
                 * .FirstOrDefaultAsync(m => m.CodRegistro == id);
                 */

                //return RedirectToAction(nameof(Index));
            }
            ViewData["CodUsuario"] = new SelectList(_context.Usuario, "CodUsuario", "Apellido", prestamo.CodUsuario);
            return(View(prestamo));
        }
示例#9
0
 public TrabajoGraduacionsController(bd_bibliotecaContext context, IWebHostEnvironment hostEnvironment)
 {
     this.HostEnvironment = hostEnvironment;
     _context             = context;
 }
 public LibroesController(bd_bibliotecaContext context)
 {
     _context = context;
 }
示例#11
0
 public ReporteController(bd_bibliotecaContext context)
 {
     _context = context;
 }
示例#12
0
 public CargoesController(bd_bibliotecaContext context)
 {
     _context = context;
 }
 public EditorialsController(bd_bibliotecaContext context)
 {
     _context = context;
 }
 public AutorsController(bd_bibliotecaContext context)
 {
     _context = context;
 }
示例#15
0
        public async Task <IActionResult> Create([Bind("CodRegistro,Titulo,Año,RecursoDigital,TokenRecurso,Nota,NombreInstitucion,NombreAutor,ApellidoAutor,CarnetAutor,Observacion,CodCat,CodUsuario,CodAsesor,CodCarrera,CodTipotrabajo,Subir,PalabrasClaves")] TrabajoGraduacion trabajoGraduacion)
        {
            var variable = 0;

            if (ModelState.IsValid)
            {
                if (trabajoGraduacion.Subir != null)
                {
                    string carpeta       = HostEnvironment.WebRootPath;
                    string nombrearchivo = Path.GetFileNameWithoutExtension(trabajoGraduacion.Subir.FileName);
                    string extension     = Path.GetExtension(trabajoGraduacion.Subir.FileName);
                    trabajoGraduacion.RecursoDigital = nombrearchivo = nombrearchivo + DateTime.Now.ToString("yymmssfff") + extension;
                    string path = Path.Combine(carpeta + "/upload/", nombrearchivo);
                    trabajoGraduacion.TokenRecurso = Crypto.Hash(path);

                    using (var hola = new FileStream(path, FileMode.Create))
                    {
                        await trabajoGraduacion.Subir.CopyToAsync(hola);
                    }
                }
                else
                {
                    trabajoGraduacion.RecursoDigital = "default.txt";
                }


                bd_bibliotecaContext _context2 = new bd_bibliotecaContext();
                string[]             valores   = trabajoGraduacion.PalabrasClaves.Split(',');
                foreach (string pa in valores)
                {
                    PalabraClave palabraBD = new PalabraClave();
                    var          Paclave   = _context.PalabraClave.Where(w => w.PalabraClave1 == pa).FirstOrDefault();
                    if (Paclave != null)
                    {
                        trabajoGraduacion.TrabajoPalabraClave.Add(new TrabajoPalabraClave {
                            CodPalabraClave = Paclave.CodPalabraclave
                        });
                    }
                    else
                    {
                        palabraBD.PalabraClave1 = pa;
                        _context2.Add(palabraBD);
                        await _context2.SaveChangesAsync();

                        var Paclave2 = _context.PalabraClave.Where(a => a.PalabraClave1 == pa).FirstOrDefault();
                        if (Paclave2 != null)
                        {
                            trabajoGraduacion.TrabajoPalabraClave.Add(new TrabajoPalabraClave {
                                CodPalabraClave = Paclave2.CodPalabraclave
                            });
                        }
                    }
                }
                if (trabajoGraduacion.CodCat != null)
                {
                    trabajoGraduacion.CodTipotrabajo = 2;
                }
                if (trabajoGraduacion.CodCat == null)
                {
                    trabajoGraduacion.CodTipotrabajo = 1;
                    variable = 1;
                }

                var user = _context.Usuario.Where(t => t.CorreoElectronico == User.Identity.Name).FirstOrDefault();
                trabajoGraduacion.CodUsuario = user.CodUsuario;
                _context.Add(trabajoGraduacion);
                await _context.SaveChangesAsync();

                if (variable == 1)
                {
                    TempData["mensajeTesis"] = "Creado!";
                    return(RedirectToAction("Tesis", "TrabajoGraduacions"));
                }


                TempData["mensajeTra"] = "Creado!";
                return(RedirectToAction("Create", "TrabajoGraduacions"));
            }
            ViewData["CodAsesor"]      = new SelectList(_context.Asesor, "CodAsesor", "Apellido", trabajoGraduacion.CodAsesor);
            ViewData["CodCarrera"]     = new SelectList(_context.Carrera, "CodCarrera", "Carrera1", trabajoGraduacion.CodCarrera);
            ViewData["CodCat"]         = new SelectList(_context.CatTrabajoGraduacion, "CodCat", "Categoria", trabajoGraduacion.CodCat);
            ViewData["CodTipotrabajo"] = new SelectList(_context.TipoTrabajo, "CodTipotrabajo", "Tipo", trabajoGraduacion.CodTipotrabajo);
            ViewData["CodUsuario"]     = new SelectList(_context.Usuario, "CodUsuario", "Apellido", trabajoGraduacion.CodUsuario);
            return(View(trabajoGraduacion));
        }
示例#16
0
 public HomeController(ILogger <HomeController> logger, bd_bibliotecaContext context)
 {
     _context = context;
     _logger  = logger;
 }
示例#17
0
 public EdicionsController(bd_bibliotecaContext context)
 {
     _context = context;
 }