public ActionResult MeetingList(string type) { int employeeid = db.Employees.First(emp => emp.UserName == User.Identity.Name).EmployeeID; var meetings = db.Meetings.Include(m => m.Reservationist). Include(m => m.RoomReserved).Where(m => m.StartTime > DateTime.Now); ViewData["Type"] = type; MeetingListViewModel model = new MeetingListViewModel(); if (type == "canceled") { model.MeetingListType = MeetingListTypeDef.Canceled; meetings = meetings.Where(m => m.IsCanceled); } else if (type == "reserved") { model.MeetingListType = MeetingListTypeDef.Reserved; meetings = meetings.Where(m => m.IsCanceled == false && m.ReservationistID == employeeid); } else { model.MeetingListType = MeetingListTypeDef.Participated; meetings = meetings.Where(m => m.IsCanceled == false && m.Participants.FirstOrDefault(e => e.EmployeeID == employeeid) != null); } model.Meetings = meetings.OrderByDescending(m => m.ReservationTime).ToList(); return(View(model)); }
// // GET: /Meeting/ public ActionResult Index() { MeetingListViewModel meetings = new MeetingListViewModel(); meetings.Meetings = RavenSession.Query <Meeting>().OrderByDescending(x => x.MeetingDate).ToList(); return(View(meetings)); }
public ActionResult MeetingList() { MeetingListViewModel model = new MeetingListViewModel(); var uid = User.Identity.GetUserId(); var invu = db.MeetingInvitations.Where(m => m.Invitee.Id == uid).ToList(); List <MeetingInvitation> mu = new List <MeetingInvitation>(); for (var j = 0; j < invu.Count; j++) { if (invu[j].Status == "Accepted") { mu.Add(invu[j]); } } List <Meeting> meet = new List <Meeting>(); for (var i = 0; i < mu.Count; i++) { meet.Add(mu[i].Meeting); } model.Meetings = meet; return(View(model)); }
public async Task <ViewResult> Index() { var model = new MeetingsListViewModel(); var meetingModel = new MeetingListViewModel(); if (null == HttpContext.Cache.Get("AAMeetingList")) { var meetings = await _aaClient.GetMeetingsList(); HttpContext.Cache.Insert("AAMeetingList", meetings, null, _dateToCache, Cache.NoSlidingExpiration); } var aaMeetingList = HttpContext.Cache.Get("AAMeetingList") as List <Meeting>; if (null == HttpContext.Cache.Get("CAMeetingList")) { var meetings = await _caClient.GetMeetingsList() as List <Meeting>; HttpContext.Cache.Insert("CAMeetingList", meetings, null, _dateToCache, Cache.NoSlidingExpiration); } var caMeetingList = HttpContext.Cache.Get("CAMeetingList") as List <Meeting>; var naList = _naClient.GetMeetingsList(); meetingModel.Title = "AA möten"; meetingModel.ListId = "aa"; meetingModel.MeetingsList = aaMeetingList; model.AAMeetingsList = meetingModel; meetingModel = new MeetingListViewModel(); meetingModel.Title = "CA möten"; meetingModel.ListId = "ca"; meetingModel.MeetingsList = caMeetingList; model.CAMeetingsList = meetingModel; meetingModel = new MeetingListViewModel(); meetingModel.Title = "NA möten"; meetingModel.ListId = "na"; meetingModel.MeetingsList = await _naClient.GetMeetingsList(); model.NAMeetingsList = meetingModel; if (null == Session["AATodaysMeetingList"]) { Session["AATodaysMeetingList"] = await _aaClient.GetUpcomingMeetingsList(aaMeetingList); } meetingModel = new MeetingListViewModel(); meetingModel.Title = "Dagens möten"; meetingModel.ListId = "today"; meetingModel.MeetingsList = Session["AATodaysMeetingList"] as List <Meeting>; var meetingListViewModel = new NearMeViewModel { UpcomingMeetingsList = meetingModel }; meetingListViewModel.BingApiKey = _bingApiKey; /*UNCOMMENT TO ADD MAP * if (null == Session["AALocationLists"]) * { * Session["AALocationLists"] = await _bingClient.GetLocations(meetingListViewModel.UpcomingMeetingsList); * } * meetingListViewModel.LocationLists = Session["AALocationLists"] as LocationLists; */ model.BingApiKey = _bingApiKey; model.NearMeViewModel = meetingListViewModel; var d = await _aaClient.GetTimes(aaMeetingList); var aaFilter = new FilterSorting { CityList = await _aaClient.GetCities(aaMeetingList), MeetingTypeList = await _aaClient.GetMeetingTypes(aaMeetingList), StartTimes = Castings.CustomToList <TimeSpan>(d), MeetingsList = aaMeetingList, BingApiKey = _bingApiKey }; model.FilterSorting = aaFilter; return(View(model)); }
public async Task <ActionResult> AASortFilter(FormCollection form) { var earlyAndLate = false; var onlyToday = false; if (null == HttpContext.Cache.Get("AAMeetingList")) { var meetings = await _aaClient.GetMeetingsList(); HttpContext.Cache.Insert("AAMeetingList", meetings, null, _dateToCache, Cache.NoSlidingExpiration); } var sortedList = HttpContext.Cache.Get("AAMeetingList") as List <Meeting>; if (null != form["onlyToday"]) { onlyToday = form["onlyToday"] == "on"; } if (null != form["cities"] && form["cities"].Length > 0 && form["cities"].ToLower() != "inget val") { var cities = Castings.CustomToList(form["cities"].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); sortedList = _filterAndSortingUtility.GetListFiltered(sortedList, cities, FilterTypes.Cities) as List <Meeting>; } if (null != form["meetingtypes"] && form["meetingtypes"].Length > 0 && form["meetingtypes"].ToLower() != "inget val") { var meetingTypes = Castings.CustomToList(form["meetingtypes"].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); sortedList = _filterAndSortingUtility.GetListFiltered(sortedList, meetingTypes, FilterTypes.Meetings) as List <Meeting>; } if ((null != form["starttime"] && form["starttime"].Length > 0 && form["starttime"].ToLower() != "inget val" && !earlyAndLate) && (null != form["latesttime"] && form["latesttime"].Length > 0 && form["latesttime"].ToLower() != "inget val")) { var earlyAndLateTimes = new List <string> { form["starttime"].ToString(), form["latesttime"].ToString() }; sortedList = _filterAndSortingUtility.GetListFiltered(sortedList, earlyAndLateTimes, FilterTypes.TimeBetweenEarlyAndLate) as List <Meeting>; earlyAndLate = true; } if (null != form["starttime"] && form["starttime"].Length > 0 && form["starttime"].ToLower() != "inget val" && !earlyAndLate) { var earlyTimes = Castings.CustomToList(form["starttime"].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); sortedList = _filterAndSortingUtility.GetListFiltered(sortedList, earlyTimes, FilterTypes.EarliestTime, onlyToday) as List <Meeting>; } if (null != form["latesttime"] && form["latesttime"].Length > 0 && form["latesttime"].ToLower() != "inget val" && !earlyAndLate) { var meetingTimes = Castings.CustomToList(form["latesttime"].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); sortedList = _filterAndSortingUtility.GetListFiltered(sortedList, meetingTimes, FilterTypes.LatestTime, onlyToday) as List <Meeting>; } if (onlyToday) { sortedList = Castings.CustomToList <Meeting>(_filterAndSortingUtility.GetTodaysMeetings(sortedList)); var ee = sortedList; } if (null != form["sorting"] && form["sorting"].Length > 0 && form["sorting"].ToLower() != "inget val") { switch (form["sorting"]) { case "acsending-name": sortedList = _filterAndSortingUtility.GetListSorted(sortedList, SortingTypes.NameAZ) as List <Meeting>; break; case "decsending-name": sortedList = _filterAndSortingUtility.GetListSorted(sortedList, SortingTypes.NameZA) as List <Meeting>; break; case "time-ascending": sortedList = _filterAndSortingUtility.GetListSorted(sortedList, SortingTypes.TimeEarlyToLate) as List <Meeting>; break; case "time-descending": sortedList = _filterAndSortingUtility.GetListSorted(sortedList, SortingTypes.TimeLateToEarly) as List <Meeting>; break; } } var model = new MeetingListViewModel { MeetingsList = sortedList, Title = "AA möten", ListId = "aa" }; if (null != sortedList && sortedList.Any()) { return(PartialView("~/Views/Home/Partials/_MeetingList.cshtml", model)); } else { return(Content("<div class=\"no-result\">Inga resultat...</div>")); } }