public ActionResult RedactorAdd(long spreadsheetId) { ViewBag.SpreadsheetId = spreadsheetId; var userId = UserHelper.GetUserByEmail(User.Identity.Name).Id; var readactorList = spreadsheetRepository.FindAll(t => t.AdministratorId_Id == userId); List<string> redactorsIds = new List<string>(); var redactorsOfThisTable = new List<string>(); var redactors = new List<RedactorOfTable>(); foreach (var table in readactorList) { redactorsIds = (from myObj in redactorRepository.FindAll(w => w.TableId == table.Id) orderby myObj.UserId_Id select myObj.UserId_Id).ToList(); foreach (var user in redactorsIds) { var userEmail = userRepository.Find(u => u.Id == user).Email; var rf = new RedactorOfTable() { IsRedactorOfThisTable = false, RedactorEmail = userEmail}; var rt = new RedactorOfTable() { IsRedactorOfThisTable = true, RedactorEmail = userEmail }; if (redactors.Find(r=>r.RedactorEmail == userEmail) == null && table.Id != spreadsheetId) { redactors.Add(rf); } else if (table.Id == spreadsheetId) { redactors.RemoveAll(r => r.RedactorEmail == userEmail); redactors.Add(rt); } } } return View("AddRedactorPopupContent", redactors); }