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

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

Returns a list of the latest versions of the provided datasetIds including/ excluding the checked out versions.
public GetDatasetLatestVersions ( List datasetIds, bool includeCheckouts = false ) : List
datasetIds List The list of identifiers of the datasets whose their latest versions is requested
includeCheckouts bool Determines whether the checked out versions should be included in the result.
Результат List
        public List<DatasetVersion> GetDatasetLatestVersions(List<Int64> datasetIds, bool includeCheckouts = false)
        {
            if (includeCheckouts) // the working copy versions of checked out datasets are also included
            {
                var q1 = DatasetVersionRepo.Query(p =>
                        datasetIds.Contains(p.Dataset.Id)
                        && (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 =>
                        datasetIds.Contains(p.Dataset.Id)
                        && (p.Dataset.Status == DatasetStatus.CheckedIn)
                        && (p.Status == DatasetVersionStatus.CheckedIn)
                    );
                return (q1.ToList());
            }
            // also works, but uses the time stamps instead of STATUS info
               // var qu = (from dsv in DatasetVersionRepo.Get(p => datasetIds.Contains(p.Dataset.Id) && 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 ( 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