Beispiel #1
0
        public IActionResult Index(ChartModel model)
        {
            if (model.EntityId.Equals(Guid.Empty))
            {
                return(NotFound());
            }
            var entity = _entityFinder.FindById(model.EntityId);

            if (entity == null)
            {
                return(NotFound());
            }
            model.Entity = entity;
            if (!model.LoadData)
            {
                return(DynamicResult(model));
            }

            FilterContainer <Chart> filter = FilterContainerBuilder.Build <Chart>();

            filter.And(n => n.EntityId == model.EntityId);
            if (model.Name.IsNotEmpty())
            {
                filter.And(n => n.Name.Like(model.Name));
            }
            if (model.GetAll)
            {
                List <Chart> result = _chartFinder.Query(x => x
                                                         .Page(model.Page, model.PageSize)
                                                         .Where(filter)
                                                         .Sort(n => n.OnFile(model.SortBy).ByDirection(model.SortDirection))
                                                         );

                model.Items      = result;
                model.TotalItems = result.Count;
            }
            else
            {
                if (CurrentUser.UserSettings.PagingLimit > 0)
                {
                    model.PageSize = CurrentUser.UserSettings.PagingLimit;
                }
                PagedList <Chart> result = _chartFinder.QueryPaged(x => x
                                                                   .Page(model.Page, model.PageSize)
                                                                   .Where(filter)
                                                                   .Sort(n => n.OnFile(model.SortBy).ByDirection(model.SortDirection))
                                                                   );

                model.Items      = result.Items;
                model.TotalItems = result.TotalItems;
            }
            model.SolutionId = SolutionId.Value;
            return(DynamicResult(model));
        }
Beispiel #2
0
        public string GetXml(Guid solutionId)
        {
            StringBuilder result     = new StringBuilder();
            var           pageSize   = 100;
            var           page       = 1;
            long          totalItems = pageSize;

            while (totalItems == pageSize)
            {
                var data = _chartFinder.QueryPaged(x => x.Page(page, pageSize), solutionId, true);
                totalItems = data.TotalItems;
                if (totalItems > 0)
                {
                    result.Append(data.Items.SerializeToXml());
                }
                page++;
            }
            return(result.ToString());
        }
Beispiel #3
0
        public IActionResult SolutionComponents([FromQuery] GetSolutionComponentsModel model)
        {
            var data = _chartFinder.QueryPaged(x => x.Page(model.Page, model.PageSize), model.SolutionId, model.InSolution);

            if (data.Items.NotEmpty())
            {
                var result = data.Items.Select(x => (new SolutionComponentItem {
                    ObjectId = x.ChartId, Name = x.Name, LocalizedName = x.Name, ComponentTypeName = ChartDefaults.ModuleName, CreatedOn = x.CreatedOn
                })).ToList();
                return(JOk(new PagedList <SolutionComponentItem>()
                {
                    CurrentPage = model.Page
                    ,
                    ItemsPerPage = model.PageSize
                    ,
                    Items = result
                    ,
                    TotalItems = data.TotalItems
                    ,
                    TotalPages = data.TotalPages
                }));
            }
            return(JOk(data));
        }