Example #1
0
        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);
        }