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)); }
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()); }
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)); }