public ActionResult List(Guid userId) { var check = ""; var subscByUser = _subscriptionRepository.GetAllSubscriptionsByUserId(Guid.Parse(HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId())); var profileCalendars = _calendarRepository.GetAllCalendarsByUserId(userId); var calendarsBySubs = new List <Calendar>(); foreach (Calendar_Subscription cs in subscByUser) { calendarsBySubs.Add(_calendarRepository.GetCalendarByCalendarId(cs.CalendarId)); } var result = new List <Calendar>(); foreach (Calendar c in calendarsBySubs) { foreach (Calendar cu in profileCalendars) { if (calendarsBySubs.Contains(cu) == false) { if (result.Contains(cu) == false) { result.Add(cu); } } } } if (result.Count == 0 && profileCalendars.ToList().Count == 0) { check = "Noch keine Kalender erstellt"; } else { check = "Sie können noch folgende Kalender des Benutzers abonnieren:"; if (result.Count == 0) { check = "Sie abonnieren alle Kalender des Benutzers"; } } if (userId == Guid.Parse(HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId())) { check = "Ihre Kalender"; } ViewBag.CalendarList = result; ViewBag.FullCalendarList = profileCalendars; ViewBag.Check = check; User user = _userRepository.GetUserByID(userId); ViewBag.UserName = user.FirstName + " " + user.LastName; return(View()); }
// Methods // GET: Subscription public ActionResult Index() { var userId = Guid.Parse(HttpContext.GetOwinContext().Authentication.User.Identity.GetUserId()); var subs = _subscriptionRepository.GetAllSubscriptionsByUserId(userId); var subUsers = new List <User>(); var subCalendars = new List <Calendar>(); foreach (Calendar_Subscription cs in subs) { if (subUsers.Contains(_userRepository.GetUserByID(_calendarRepository.GetUserByCalendarId(cs.CalendarId))) == false) { subUsers.Add(_userRepository.GetUserByID(_calendarRepository.GetUserByCalendarId(cs.CalendarId))); } subCalendars.Add(_calendarRepository.GetCalendarByCalendarId(cs.CalendarId)); } ViewBag.SubsUsers = subUsers; var subsByUser = new List <SubscriptionModel>(); foreach (User u in subUsers) { var userFullName = u.FirstName + " " + u.LastName; var calendars = new List <Calendar>(); foreach (Calendar c in subCalendars) { if (u.UserId == c.OwnerId) { calendars.Add(c); } } subsByUser.Add(new SubscriptionModel { FullName = userFullName, Subscriptions = calendars }); } ViewBag.Result = subsByUser; return(View()); }