コード例 #1
0
        public ActionResult ShowAdvanceFilter(string previousFilters = "")
        {
            if (!_tokenManager.GenerateToken())
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }

            _ISpartan_FormatApiConsumer.SetAuthHeader(_tokenManager.Token);
            var Spartan_Formats = _ISpartan_FormatApiConsumer.SelAll(true);

            if (Spartan_Formats != null && Spartan_Formats.Resource != null)
            {
                ViewBag.Spartan_Formats = Spartan_Formats.Resource.Select(m => new SelectListItem
                {
                    Text = m.Format_Name.ToString(), Value = Convert.ToString(m.FormatId)
                }).ToList();
            }
            _ISpartan_Format_Permission_TypeApiConsumer.SetAuthHeader(_tokenManager.Token);
            var Spartan_Format_Permission_Types = _ISpartan_Format_Permission_TypeApiConsumer.SelAll(true);

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


            var previousFiltersObj = new Spartan_Format_PermissionsAdvanceSearchModel();

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

            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));
        }
コード例 #2
0
        public string GetAdvanceFilter(Spartan_Format_PermissionsAdvanceSearchModel filter)
        {
            var where = "";
            if (!string.IsNullOrEmpty(filter.FromPermissionId) || !string.IsNullOrEmpty(filter.ToPermissionId))
            {
                if (!string.IsNullOrEmpty(filter.FromPermissionId))
                {
                    where += " AND Spartan_Format_Permissions.PermissionId >= " + filter.FromPermissionId;
                }
                if (!string.IsNullOrEmpty(filter.ToPermissionId))
                {
                    where += " AND Spartan_Format_Permissions.PermissionId <= " + filter.ToPermissionId;
                }
            }

            if (!string.IsNullOrEmpty(filter.AdvanceFormat))
            {
                switch (filter.FormatFilter)
                {
                case Models.Filters.BeginWith:
                    where += " AND Spartan_Format.Format_Name LIKE '" + filter.AdvanceFormat + "%'";
                    break;

                case Models.Filters.EndWith:
                    where += " AND Spartan_Format.Format_Name LIKE '%" + filter.AdvanceFormat + "'";
                    break;

                case Models.Filters.Exact:
                    where += " AND Spartan_Format.Format_Name = '" + filter.AdvanceFormat + "'";
                    break;

                case Models.Filters.Contains:
                    where += " AND Spartan_Format.Format_Name LIKE '%" + filter.AdvanceFormat + "%'";
                    break;
                }
            }
            else if (filter.AdvanceFormatMultiple != null && filter.AdvanceFormatMultiple.Count() > 0)
            {
                var FormatIds = string.Join(",", filter.AdvanceFormatMultiple);

                where += " AND Spartan_Format_Permissions.Format In (" + FormatIds + ")";
            }

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

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

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

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

                where += " AND Spartan_Format_Permissions.Permission_Type In (" + Permission_TypeIds + ")";
            }

            if (filter.Apply != RadioOptions.NoApply)
            {
                where += " AND Spartan_Format_Permissions.Apply = " + Convert.ToInt32(filter.Apply);
            }

            if (!string.IsNullOrEmpty(filter.FromSpartan_User_Role) || !string.IsNullOrEmpty(filter.ToSpartan_User_Role))
            {
                if (!string.IsNullOrEmpty(filter.FromSpartan_User_Role))
                {
                    where += " AND Spartan_Format_Permissions.Spartan_User_Role >= " + filter.FromSpartan_User_Role;
                }
                if (!string.IsNullOrEmpty(filter.ToSpartan_User_Role))
                {
                    where += " AND Spartan_Format_Permissions.Spartan_User_Role <= " + filter.ToSpartan_User_Role;
                }
            }


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