private ShellStateRecord GetExistingOrNewShellStateRecord() { var shellStateRecordId = _cacheManager.Get("ShellStateRecordId", ctx => { var shellState = _shellStateRepository.Table.FirstOrDefault(); if (shellState == null) { shellState = new ShellStateRecord(); _shellStateRepository.Create(shellState); } return(shellState.Id); }); return(_shellStateRepository.Get(shellStateRecordId)); }
private ShellStateRecord GetExistingOrNewShellStateRecord() { //Fix for https://orchard.codeplex.com/workitem/21176 / https://github.com/OrchardCMS/Orchard/issues/6075 change to get ensure ShellState record only retrieved once. var shellStateRecordId = _cacheManager.Get("ShellStateRecordId", ctx => { var shellState = _shellStateRepository.Table.FirstOrDefault(); if (shellState == null) { shellState = new ShellStateRecord(); _shellStateRepository.Create(shellState); } return(shellState.Id); }); return(_shellStateRepository.Get(shellStateRecordId)); }