public ActionResult FactureSearch(string searchValue)
        {
            if (searchValue != null && searchValue != "")
            {
                Session["Infosearch"] = searchValue;
            }
            else
            {
                return(View("ListFacture"));
            }

            redactapplicationEntities bds = new Models.redactapplicationEntities();
            Guid user = Guid.Parse(HttpContext.User.Identity.Name);

            Factures db     = new Factures();
            var      answer = db.SearchFacture(searchValue);

            if (answer == null || answer.Count == 0)
            {
                List <FACTUREViewModel> listeFacture = new List <FACTUREViewModel>();
                answer = listeFacture;
                ViewBag.SearchUserNoResultat = 1;
            }

            ViewBag.Search = true;
            redactapplicationEntities e = new redactapplicationEntities();

            List <FACTUREViewModel> listeDataFactureFiltered = new List <FACTUREViewModel>();

            ViewBag.listeFactureVm = answer;

            return(View("ListFacture"));
        }
            public override void OnAuthorization(AuthorizationContext filterContext)
            {
                HttpContext context = HttpContext.Current;

                try
                {
                    Guid?GuidUser = null;
                    if (filterContext.RequestContext.HttpContext.User.Identity.Name != null)
                    {
                        Guid   tempId;
                        string userId = filterContext.RequestContext.HttpContext.User.Identity.Name;
                        bool   val    = Guid.TryParse(userId, out tempId);
                        if (val == true)
                        {
                            GuidUser = tempId;
                        }
                    }
                    if (GuidUser != null)
                    {
                        redactapplicationEntities db = new redactapplicationEntities();
                        UTILISATEUR user             = db.UTILISATEURs.Find(GuidUser);
                        UserRole    userRoleLink     = db.UserRoles.FirstOrDefault(x => x.idUser == user.userId);
                        if (userRoleLink != null)
                        {
                            ROLE          userRole       = db.ROLEs.Find(userRoleLink.idRole);
                            string        controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
                            bool          authorized     = false;
                            List <string> access         = null;
                            if (userRole != null)
                            {
                                int id = userRole.roleId;
                                if (id == 4 || id == 3 || id == 2 || id == 1)
                                {
                                    access = LoadAccess(0);
                                }
                                if (id == 5 || id == 6)
                                {
                                    controllerName = "Template";
                                    access         = LoadAccess(4);
                                }
                            }

                            if (access != null)
                            {
                                foreach (var data in access)
                                {
                                    if (data.Contains(controllerName))
                                    {
                                        authorized = true;
                                        break;
                                    }
                                }
                            }
                            if (!authorized)
                            {
                                ExitUser(ref context, ref filterContext);
                                return;
                            }
                        }
                    }
                    else
                    {
                        ExitUser(ref context, ref filterContext);
                        return;
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex);
                    ExitUser(ref context, ref filterContext);
                    return;
                }
            }