BExIS.Dlm.Services.Data.DatasetManager.GetDatasetLatestVersions C# (CSharp) Метод

GetDatasetLatestVersions() публичный Метод

Returns a list of the latest versions of all datasets including/ excluding the checked out versions.
public GetDatasetLatestVersions ( bool includeCheckouts = false ) : List
includeCheckouts bool Determines whether the checked out versions should be included in the result.
Результат List
        public List<DatasetVersion> GetDatasetLatestVersions(bool includeCheckouts = false)
        {
            if (includeCheckouts) // the working copy versions of checked out datasets are also included
            {
                var q1 = DatasetVersionRepo.Query(p =>
                        (p.Dataset.Status == DatasetStatus.CheckedIn || p.Dataset.Status == DatasetStatus.CheckedOut)
                        && (p.Status == DatasetVersionStatus.CheckedIn || p.Status == DatasetVersionStatus.CheckedOut)
                    );
                return (q1.ToList());
            }
            else //just latest checked in versions or checked in datasets
            {
                var q1 = DatasetVersionRepo.Query(p =>
                        (p.Dataset.Status == DatasetStatus.CheckedIn)
                        && (p.Status == DatasetVersionStatus.CheckedIn)
                    );
                return (q1.ToList());
            }

            //// its a mixed query that happens partially in the database. The grouping is happening in the memory which is BAD. JAVAD.
            //// I have tested a full DB version but does not work.  needs more investigation

            //var qu = (from dsv in DatasetVersionRepo.Get(p => p.Dataset.Status != DatasetStatus.Deleted)
            //          group dsv by dsv.Dataset.Id into grp
            //          let maxTimestamp = grp.Max(p => p.Timestamp)
            //          select grp.Single(p => p.Timestamp >= maxTimestamp));

            //return (qu.ToList());
        }

Same methods

DatasetManager::GetDatasetLatestVersions ( System.Int64 structureId, bool includeCheckouts = false ) : DatasetVersion>.Dictionary
DatasetManager::GetDatasetLatestVersions ( List datasetIds, bool includeCheckouts = false ) : List

Usage Example

Пример #1
0
        public ActionResult Datasets_Select()
        {
            DatasetManager datasetManager = new DatasetManager();
            PermissionManager permissionManager = new PermissionManager();
            SubjectManager subjectManager = new SubjectManager();

            // DATA
            //var ids = datasetManager.GetDatasetLatestIds();
            List<DatasetVersion> data = datasetManager.GetDatasetLatestVersions(); // .GetDatasetLatestVersions(ids);

            List<DatasetGridRowModel> datasets = new List<DatasetGridRowModel>();
            data.ForEach(d => datasets.Add(DatasetGridRowModel.Convert(d, permissionManager.ExistsDataPermission(subjectManager.GetGroupByName("everyone").Id, 1, d.Id, RightType.View))));

            return View(new GridModel<DatasetGridRowModel> { Data = datasets });
        }
All Usage Examples Of BExIS.Dlm.Services.Data.DatasetManager::GetDatasetLatestVersions