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

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

Returns a list of the latest versions of all datasets associated to a data structure, including/ excluding the checked out versions.
identifiers are returned to reduce the number of database roundtrips!
public GetDatasetLatestVersions ( System.Int64 structureId, bool includeCheckouts = false ) : DatasetVersion>.Dictionary
structureId System.Int64 The data structure that its associated datasets are searched.
includeCheckouts bool Determines whether the checked out versions should be included in the result.
Результат DatasetVersion>.Dictionary
        public Dictionary<Int64, DatasetVersion> GetDatasetLatestVersions(Int64 structureId, bool includeCheckouts = false)
        {
            if (includeCheckouts) // the working copy versions of checked out datasets are also included
            {
                var q1 = DatasetVersionRepo.Query(p =>
                        (p.Dataset.DataStructure.Id == structureId)
                        && (p.Dataset.Status == DatasetStatus.CheckedIn || p.Dataset.Status == DatasetStatus.CheckedOut)
                        && (p.Status == DatasetVersionStatus.CheckedIn || p.Status == DatasetVersionStatus.CheckedOut)
                    ).Select(p => new KeyValuePair<Int64, DatasetVersion>(p.Dataset.Id, p));
                return (q1.ToList().ToDictionary(kvp => kvp.Key, kvp => kvp.Value));
            }
            else //just latest checked in versions or checked in datasets
            {
                var q1 = DatasetVersionRepo.Query(p =>
                        (p.Dataset.DataStructure.Id == structureId)
                        && (p.Dataset.Status == DatasetStatus.CheckedIn)
                        && (p.Status == DatasetVersionStatus.CheckedIn)
                    ).Select(p => new KeyValuePair<Int64, DatasetVersion>(p.Dataset.Id, p));
                return (q1.ToList().ToDictionary(kvp => kvp.Key, kvp => kvp.Value));
            }
        }

Same methods

DatasetManager::GetDatasetLatestVersions ( List datasetIds, bool includeCheckouts = false ) : List
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