public ActionResult ShowAdvanceFilter(string previousFilters = "")
        {
            if (!_tokenManager.GenerateToken())
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }

            _ISpartan_User_Role_StatusApiConsumer.SetAuthHeader(_tokenManager.Token);
            var Spartan_User_Role_Statuss = _ISpartan_User_Role_StatusApiConsumer.SelAll(true);

            if (Spartan_User_Role_Statuss != null && Spartan_User_Role_Statuss.Resource != null)
            {
                ViewBag.Spartan_User_Role_Statuss = Spartan_User_Role_Statuss.Resource.Select(m => new SelectListItem
                {
                    Text = m.Description.ToString(), Value = Convert.ToString(m.User_Role_Status_Id)
                }).ToList();
            }


            var previousFiltersObj = new Spartan_User_RoleAdvanceSearchModel();

            if (previousFilters != "")
            {
                previousFiltersObj = (Spartan_User_RoleAdvanceSearchModel)(Session["AdvanceSearch"] ?? new Spartan_User_RoleAdvanceSearchModel());
            }

            ViewBag.Filter = new List <SelectListItem>
            {
                new SelectListItem()
                {
                    Text = Resources.Resources.BeginWith, Value = "1"
                },
                new SelectListItem()
                {
                    Text = Resources.Resources.EndWith, Value = "2"
                },
                new SelectListItem()
                {
                    Text = Resources.Resources.Contains, Value = "4"
                },
                new SelectListItem()
                {
                    Text = Resources.Resources.Exact, Value = "3"
                },
            };

            return(View(previousFiltersObj));
        }
        public string GetAdvanceFilter(Spartan_User_RoleAdvanceSearchModel filter)
        {
            var where = "";
            if (!string.IsNullOrEmpty(filter.FromUser_Role_Id) || !string.IsNullOrEmpty(filter.ToUser_Role_Id))
            {
                if (!string.IsNullOrEmpty(filter.FromUser_Role_Id))
                {
                    where += " AND Spartan_User_Role.User_Role_Id >= " + filter.FromUser_Role_Id;
                }
                if (!string.IsNullOrEmpty(filter.ToUser_Role_Id))
                {
                    where += " AND Spartan_User_Role.User_Role_Id <= " + filter.ToUser_Role_Id;
                }
            }

            if (!string.IsNullOrEmpty(filter.Description))
            {
                switch (filter.DescriptionFilter)
                {
                case Models.Filters.BeginWith:
                    where += " AND Spartan_User_Role.Description LIKE '" + filter.Description + "%'";
                    break;

                case Models.Filters.EndWith:
                    where += " AND Spartan_User_Role.Description LIKE '%" + filter.Description + "'";
                    break;

                case Models.Filters.Exact:
                    where += " AND Spartan_User_Role.Description = '" + filter.Description + "'";
                    break;

                case Models.Filters.Contains:
                    where += " AND Spartan_User_Role.Description LIKE '%" + filter.Description + "%'";
                    break;
                }
            }

            if (!string.IsNullOrEmpty(filter.AdvanceStatus))
            {
                switch (filter.StatusFilter)
                {
                case Models.Filters.BeginWith:
                    where += " AND Spartan_User_Role_Status.Description LIKE '" + filter.AdvanceStatus + "%'";
                    break;

                case Models.Filters.EndWith:
                    where += " AND Spartan_User_Role_Status.Description LIKE '%" + filter.AdvanceStatus + "'";
                    break;

                case Models.Filters.Exact:
                    where += " AND Spartan_User_Role_Status.Description = '" + filter.AdvanceStatus + "'";
                    break;

                case Models.Filters.Contains:
                    where += " AND Spartan_User_Role_Status.Description LIKE '%" + filter.AdvanceStatus + "%'";
                    break;
                }
            }
            else if (filter.AdvanceStatusMultiple != null && filter.AdvanceStatusMultiple.Count() > 0)
            {
                var StatusIds = string.Join(",", filter.AdvanceStatusMultiple);

                where += " AND Spartan_User_Role.Status In (" + StatusIds + ")";
            }


            where = new Regex(Regex.Escape("AND ")).Replace(where, "", 1);
            return(where);
        }