public void insert(UsuarioAcceso model)
        {
            usuario_acceso usuario = new usuario_acceso();
            usuario.emplid = model.OPRID;
            usuario.admin = model.Admin;

            db.usuario_acceso.Add(usuario);
            db.SaveChanges();
        }
        public UsuarioAcceso GetUsuarioById(string id)
        {
            UsuarioAcceso usuario = new UsuarioAcceso();
            var user = LDAPQuery.getUserByUID(id);

            usuario.OPRID = id;
            usuario.NombreCompleto = user.CN;

            return usuario;
        }
        public ActionResult Registrar()
        {
            if (ReservasGrupoJaveriana.Lib.Utils.isAdmin())
            {
                UsuarioAcceso model = new UsuarioAcceso();
                model.Perfiles = _repo.GetPerfiles();

                return PartialView("_insert", model);
            }
            else
                return HttpNotFound();
        }
        public ActionResult Eliminar(UsuarioAcceso model)
        {
            try
            {
                _repo.delete(model.OPRID);
                TempData["Success"] = "Se eliminó el usuario satisfactoriamente.";

                return RedirectToAction("Index");
            }
            catch (Exception)
            {

                TempData["Error"] = "No se pudieron guardar los cambios, intente de nuevo por favor.";

                return RedirectToAction("Index");
            }
        }
        public ActionResult Registrar(UsuarioAcceso model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _repo.insert(model);
                    TempData["Success"] = "Se registro el usuario satisfactoriamente.";
                }

                return RedirectToAction("Index");
            }
            catch (Exception)
            {

                TempData["Error"] = "No se pudieron guardar los cambios, intente de nuevo por favor.";

                return RedirectToAction("Index");
            }
        }
        public JsonResult ValidarUsuario(UsuarioAcceso model)
        {
            List<string> result = _repo.ValidarUsuario(model);

            if (result.Count > 0)
                return Json(result.ToArray(), JsonRequestBehavior.AllowGet);
            else
                return Json(true, JsonRequestBehavior.AllowGet);
        }
        public List<string> ValidarUsuario(UsuarioAcceso model)
        {
            List<string> result = new List<string>();

            if (model.OPRID == null)
                result.Add("Digite el OPRID del usuario");
            else
            {
                var usuario = LDAPQuery.getUserByUID(model.OPRID);

                if (usuario.UID == null)
                    result.Add("El usuario " + model.OPRID + " no existe en el directorio activo");
            }

            if (model.Admin == null)
                result.Add("Seleccione el perfil del usuario");

            var user = db.usuario_acceso.FirstOrDefault(u => u.emplid == model.OPRID);

            if (user != null)
                result.Add("El usuario " + model.OPRID + " ya se encuentra registrado");

            return result;
        }