private IEnumerable <JobAdFolder> GetFolders(Guid memberId, ICollection <JobAdFolder> folders) { // Look for a mobile folder. if (!(from f in folders where f.FolderType == FolderType.Mobile select f).Any()) { folders.Add(CreateSpecialFolder(memberId, FolderType.Mobile)); } // Ensure there are enough private folders. var privateFolders = (from f in folders where f.FolderType == FolderType.Private select f).ToList(); if (privateFolders.Count < NumberOfPrivateFolders) { // Create them in reverse order so Folder 1 appears before Folder 5 in a "last used" scenario. var folderNames = (from i in Enumerable.Range(1, NumberOfPrivateFolders) select string.Format(FolderNameTemplate, i)) .Except(from f in privateFolders select f.Name).Take(NumberOfPrivateFolders - privateFolders.Count).Reverse(); foreach (var folderName in folderNames) { var folder = new JobAdFolder { MemberId = memberId, Name = folderName, FolderType = FolderType.Private }; _jobAdListsCommand.CreateList(folder); folders.Add(folder); } } return(folders); }
private JobAdBlockList CreateSpecialBlockList(Guid memberId, BlockListType blockListType) { var blockList = new JobAdBlockList { MemberId = memberId, BlockListType = blockListType }; _jobAdListsCommand.CreateList(blockList); return(blockList); }
private JobAdFlagList CreateSpecialFlagList(Guid memberId, FlagListType flagListType) { var list = new JobAdFlagList { MemberId = memberId, FlagListType = flagListType }; _jobAdListsCommand.CreateList(list); return(list); }