示例#1
0
        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());
        }
示例#2
0
        // 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());
        }