public JsonResult InvestorForm_DomainFocusChoices_Datasource()
        {
            var postedData        = _LoadViewModel();
            var datasourceRequest = DeserializeDatasourceRequest(postedData["datasourceRequest"].ToString());
            var queryable         = Get_InvestorForm_DomainFocusChoices_DatasourceQueryable(datasourceRequest);
            var response          = new ListResponse
            {
                TotalRows = DatasourceRetriever.ApplyDynamicFilterToQueryable(datasourceRequest, queryable).Count(),
            };

            //Total items count
            if (CLMS.AppDev.Cache.CacheManager.Current.HasKey($"{Request.RequestContext.HttpContext.Session.SessionID}_InvestorForm_DomainFocusChoices_TotalItems"))
            {
                CLMS.AppDev.Cache.CacheManager.Current.Set($"{Request.RequestContext.HttpContext.Session.SessionID}_InvestorForm_DomainFocusChoices_TotalItems", response.TotalRows);
            }
            else
            {
                CLMS.AppDev.Cache.CacheManager.Current.Add($"{Request.RequestContext.HttpContext.Session.SessionID}_InvestorForm_DomainFocusChoices_TotalItems", response.TotalRows);
            }
            if (response.TotalRows < datasourceRequest.StartRow + 1)
            {
                datasourceRequest.StartRow = 0;
            }
            if (datasourceRequest.GroupBy.Any())
            {
                var groups = DatasourceRetriever.RetrieveGrouped(datasourceRequest, queryable, q => q, postedData);
                var items  = groups.GetAllItems();
                response.Data = items.Select(i => new
                {
                    _key = i
                }).ToList();
                response.Groups = groups;
//Fix for total items in GetGroupsClosed
                if (datasourceRequest.GroupBy.FirstOrDefault().GetGroupsClosed)
                {
                    response.TotalRows = DatasourceRetriever.GetTotalGroups(groups);
                }
            }
            else
            {
                var items = DatasourceRetriever.Retrieve(datasourceRequest, queryable);;
                response.Data = items.Select(i => new
                {
                    _key = i
                }).ToList();
            }
            var __result = Json(new
            {
                Type = "DatasourceData", Data = Serialize(response)
            }, JsonRequestBehavior.AllowGet);

            __result.MaxJsonLength = int.MaxValue;
            return(__result);
        }
        public JsonResult OperationsList_List1DataSet_Datasource()
        {
            var postedData        = _LoadViewModel();
            var datasourceRequest = DeserializeDatasourceRequest(postedData["datasourceRequest"].ToString());
            var queryable         = Get_OperationsList_List1DataSet_DatasourceQueryable(datasourceRequest);
            var response          = new ListResponse
            {
                TotalRows = DatasourceRetriever.ApplyDynamicFilterToQueryable(datasourceRequest, queryable).Count(),
            };

            //Total items count
            if (CLMS.AppDev.Cache.CacheManager.Current.HasKey($"{Request.RequestContext.HttpContext.Session.SessionID}_OperationsList_List1DataSet_TotalItems"))
            {
                CLMS.AppDev.Cache.CacheManager.Current.Set($"{Request.RequestContext.HttpContext.Session.SessionID}_OperationsList_List1DataSet_TotalItems", response.TotalRows);
            }
            else
            {
                CLMS.AppDev.Cache.CacheManager.Current.Add($"{Request.RequestContext.HttpContext.Session.SessionID}_OperationsList_List1DataSet_TotalItems", response.TotalRows);
            }
            if (response.TotalRows < datasourceRequest.StartRow + 1)
            {
                datasourceRequest.StartRow = 0;
            }
            var _dto = DynamicDtoInfo.CreateFromPropsArray(datasourceRequest.DtoProperties);
            var _convertionMethod = _dto.GetConvertionFunc <zAppDev.DotNet.Framework.Identity.Model.ApplicationOperation>();

            if (datasourceRequest.GroupBy.Any())
            {
                var groups = DatasourceRetriever.RetrieveGrouped(datasourceRequest, queryable, q => q.Id, postedData);
                var items  = groups.GetAllItems();
                response.Data   = items.ToList().Select(i => _convertionMethod(i)).ToList();
                response.Groups = groups;
//Fix for total items in GetGroupsClosed
                if (datasourceRequest.GroupBy.FirstOrDefault().GetGroupsClosed)
                {
                    response.TotalRows = DatasourceRetriever.GetTotalGroups(groups);
                }
            }
            else
            {
                var items = DatasourceRetriever.Retrieve(datasourceRequest, queryable);;
                response.Data = items.ToList().Select(i => _convertionMethod(i)).ToList();
            }
            var __result = Json(new
            {
                Type = "DatasourceData", Data = Serialize(response)
            }, JsonRequestBehavior.AllowGet);

            __result.MaxJsonLength = int.MaxValue;
            return(__result);
        }
        public JsonResult Chart11_Datasource()
        {
            var postedData        = _LoadViewModel();
            var datasourceRequest = DeserializeDatasourceRequest(postedData["datasourceRequest"].ToString());
            var queryable         = Get_Chart11_DatasourceQueryable(datasourceRequest);
            var response          = new ListResponse
            {
                TotalRows = DatasourceRetriever.ApplyDynamicFilterToQueryable(datasourceRequest, queryable).Count(),
            };

            //Total items count
            if (CLMS.AppDev.Cache.CacheManager.Current.HasKey($"{Request.RequestContext.HttpContext.Session.SessionID}_Chart11_TotalItems"))
            {
                CLMS.AppDev.Cache.CacheManager.Current.Set($"{Request.RequestContext.HttpContext.Session.SessionID}_Chart11_TotalItems", response.TotalRows);
            }
            else
            {
                CLMS.AppDev.Cache.CacheManager.Current.Add($"{Request.RequestContext.HttpContext.Session.SessionID}_Chart11_TotalItems", response.TotalRows);
            }
            if (response.TotalRows < datasourceRequest.StartRow + 1)
            {
                datasourceRequest.StartRow = 0;
            }
            if (datasourceRequest.GroupBy.Any())
            {
                var groups = DatasourceRetriever.RetrieveGrouped(datasourceRequest, queryable, q => q.Id, postedData);
                IDictionary <string, string> groupLabels = new Dictionary <string, string>()
                {
                    { "isavailabletoallauthorizedusers", "Actions" }, { "id", "Actions" }
                };
                var data = new List <ChartHelper.ChartResult>();
                foreach (var group in groups.SubGroups)
                {
                    var result = new ChartHelper.ChartResult();
                    result.Label = group.KeyFormatted;
                    foreach (var aggr in group.Aggregates)
                    {
                        if (aggr.Column == "__Count")
                        {
                            continue;
                        }
                        result.Values.Add(aggr.Value);
                        if (groupLabels.ContainsKey(aggr.Column.ToLower()))
                        {
                            result.ValueLabels.Add(groupLabels[aggr.Column.ToLower()]);
                        }
                        else
                        {
                            result.ValueLabels.Add(aggr.Column);
                        }
                    }
                    data.Add(result);
                }
                response.Data = data;
//Fix for total items in GetGroupsClosed
                if (datasourceRequest.GroupBy.FirstOrDefault().GetGroupsClosed)
                {
                    response.TotalRows = DatasourceRetriever.GetTotalGroups(groups);
                }
            }
            else
            {
                var items     = DatasourceRetriever.Retrieve(datasourceRequest, queryable);;
                var _dtos     = items.Select(i => new ApplicationOperationDataSet_ApplicationOperationDTO(i, true)).ToList();
                var chartData = new List <ChartHelper.ChartResult>();
                foreach (var _dto in _dtos)
                {
                    chartData.Add(new ChartHelper.ChartResult(_dto, _dto?.IsAvailableToAllAuthorizedUsers, new List <object> {
                        _dto?.Id
                    }, new List <object> {
                        "Actions"
                    }, new List <object> {
                    }));
                }
                response.Data = chartData;
            }
            var __result = Json(new
            {
                Type = "DatasourceData", Data = Serialize(response)
            }, JsonRequestBehavior.AllowGet);

            __result.MaxJsonLength = int.MaxValue;
            return(__result);
        }