private static void DocumentAccessByUser(Models.Register register) { if (register != null && register.ContainedItemClassIsDocument()) { var registeItems = new List <RegisterItem>(); foreach (Document document in register.items) { if ((document.statusId != "Submitted") || HtmlHelperExtensions.AccessRegisterItem(document)) { registeItems.Add(document); } } register.items = registeItems; } }
public VersionsItem Versions(string registername, string parantRegister, string itemname) { // Finn versjonsgruppen Models.Version versjonsGruppe = new Models.Version(); if (parantRegister != null) { var queryResultsRegisteritem = from ri in _dbContext.RegisterItems where ri.register.seoname == registername && ri.register.parentRegister.seoname == parantRegister && ri.seoname == itemname select ri.versioning; versjonsGruppe = queryResultsRegisteritem.FirstOrDefault(); } else { var queryResultsRegisteritem = from ri in _dbContext.RegisterItems where ri.register.seoname == registername && ri.register.parentRegister == null && ri.seoname == itemname select ri.versioning; versjonsGruppe = queryResultsRegisteritem.FirstOrDefault(); } Guid?versjonsGruppeId = versjonsGruppe.systemId; Guid currentVersionId = versjonsGruppe.currentVersion; List <Models.RegisterItem> suggestionsItems = new List <Models.RegisterItem>(); List <Models.RegisterItem> historicalItems = new List <Models.RegisterItem>(); // finne Gjeldende versjon i versjonsgruppen var queryResults = from ri in _dbContext.RegisterItems where ri.systemId == currentVersionId select ri; Models.RegisterItem currentVersion = queryResults.FirstOrDefault(); // Finne alle versjoner som står som forslag queryResults = from ri in _dbContext.RegisterItems where ri.register.seoname == registername && ri.versioningId == versjonsGruppeId && (ri.status.value == "Submitted" //|| ri.status.value == "Proposal" //|| ri.status.value == "InProgress" || ri.status.value == "Draft") //|| ri.status.value == "Accepted" //|| ri.status.value == "Experimental" //|| ri.status.value == "Candidate" select ri; foreach (Models.RegisterItem item in queryResults.ToList()) { if ((item.statusId != "Submitted") || HtmlHelperExtensions.AccessRegisterItem(item)) { suggestionsItems.Add(item); } } //finne alle historiske versjoner var queryResultsHistorical = from ri in _dbContext.RegisterItems where ri.register.seoname == registername && ri.versioningId == currentVersion.versioningId && (ri.status.value == "Superseded" || ri.status.value == "Retired") //ri.status.value == "Deprecated" select ri; if (queryResultsHistorical.Any()) { foreach (Models.RegisterItem item in queryResultsHistorical.ToList()) { historicalItems.Add(item); } } return(new VersionsItem { currentVersion = currentVersion, historical = historicalItems, suggestions = suggestionsItems }); }