public ActionResult EventDetailsById(int id, string eventfulId, bool eventfulEvent) { if (!eventfulEvent) { var currentUserId = this.User.Identity.GetUserId(); var isAdmin = this.IsAdmin(); var eventDetails = this.eventsdb.Events .Where(e => e.Id == id) .Where(e => e.IsPublic || isAdmin || (e.AuthorId != null && e.AuthorId == currentUserId)) .Select(EventDetailsViewModel.ViewModel) .FirstOrDefault(); var isOwner = (eventDetails != null && eventDetails.AuthorId != null && eventDetails.AuthorId == currentUserId); this.ViewBag.CanEdit = isOwner || isAdmin; return this.PartialView("_EventDetails", eventDetails); } else { this.ViewBag.CanEdit = false; EventDetailsViewModel result = new EventDetailsViewModel(); EventfulSearch search = new EventfulSearch(); search.Id = eventfulId; var eventResult = search.GetEventfulDetails(); if (eventResult.description != null) result.Description = HttpUtility.HtmlDecode(eventResult.description); else result.Description = "No additional details."; result.Id = eventfulId; List<CommentViewModel> comments = new List<CommentViewModel>(); var r = this.eventfulDb.EventfulComments.Where(c => c.EventfulId == eventfulId).ToList(); if (r != null && r.Any()) { foreach (EventfulComment c in r) { CommentViewModel cView = new CommentViewModel(); cView.Text = c.Text; cView.Author = c.AspNetUser.FullName; comments.Add(cView); } } result.Comments = comments; return this.PartialView("_EventDetails", result); } }
public ActionResult Index() { var events = this.eventsdb.Events .Where(e => e.IsPublic) .OrderBy(e => e.StartDateTime); var eventViews = EventsController.AddImagesToOurEvents(events); var upcomingEvents = eventViews.Where(e => e.StartDateTime > DateTime.Now).ToList(); var passedEvents = eventViews.Where(e => e.StartDateTime <= DateTime.Now).ToList(); var result = (new UpcomingPassedEventsViewModel() { UpcomingEvents = upcomingEvents, PassedEvents = passedEvents }); //Getting results from Eventful EventfulSearch api = new EventfulSearch(); api.Location = "Atlanta"; api.Date = DateTime.Now.AddDays(1).ToString("yyyyMMdd") + "00-" + DateTime.Now.AddDays(15).ToString("yyyyMMdd") + "00"; var eventfulEvents = api.Search().ConvertToEventViewModel(); //Add the Eventful Events to the database events and resort var temp = eventfulEvents.Where(e => e.StartDateTime > DateTime.Now).OrderBy(m => m.StartDateTime).AddMissingImagesToTheirEvents(); result.UpcomingEvents = result.UpcomingEvents.Concat(temp).ToList(); var temp1 = eventfulEvents.Where(e => e.StartDateTime <= DateTime.Now).OrderBy(m => m.StartDateTime).AddMissingImagesToTheirEvents(); result.PassedEvents = result.PassedEvents.Concat(temp1).ToList(); return View(result); }
public ActionResult Create(EventInputModel model) { string lat = string.Empty; string lon = string.Empty; EventfulSearch coorResolver = new EventfulSearch(); string[] coord = resolveCoordinates(model.Address, model.City, model.State, model.Zip); int zip = 0; int.TryParse(model.Zip, out zip); if (coord != null && coord.Length == 2) { lat = coord[0]; lon = coord[1]; } if (model != null && this.ModelState.IsValid) { var e = new Event() { AuthorId = this.User.Identity.GetUserId(), Title = model.Title, StartDateTime = model.StartDateTime, Duration = model.Duration, Description = model.Description, Address = model.Address, City = model.City, Lat = lat, Lon = lon, State = model.State, Zip = zip > 9999 ? new Nullable<int>(zip) : null, IsPublic = model.IsPublic }; this.eventsdb.Events.Add(e); this.eventsdb.SaveChanges(); List<string> invitedUsers = new List<string>(); if(Request["Friends"]!= null) { invitedUsers = Request["Friends"].Split(',').ToList(); } foreach(string invitedUser in invitedUsers) { var invite = new EventInvite(); invite.FromUser = this.User.Identity.GetUserId(); invite.ToUser = invitedUser; invite.EventId = e.Id; eventsdb.EventInvites.Add(invite); } eventsdb.SaveChanges(); if (Request.Files != null && Request.Files.Count > 0) { SaveImages(e.Id); } this.AddNotification("Event created.", NotificationType.INFO); return this.RedirectToAction("My"); } return this.View(model); }
public ActionResult Index(string location, string keyword, string fromDate, string toDate) { List<EventViewModel> events; //Local events search events = LocalEventSearch(location, keyword); //Local date search events = LocalEventsDateSearch(fromDate, toDate, events); //Local events sorting var upcomingEvents = events.Where(e => e.StartDateTime > DateTime.Now).ToList(); var passedEvents = events.Where(e => e.StartDateTime <= DateTime.Now).ToList(); var result = (new UpcomingPassedEventsViewModel() { UpcomingEvents = upcomingEvents, PassedEvents = passedEvents }); //Getting results from Eventful EventfulSearch api = new EventfulSearch(); if (!string.IsNullOrEmpty(keyword)) api.Keyword = keyword; if (!string.IsNullOrEmpty(location)) api.Location = location; api.Date = FormatEventfulSearchDateRange(fromDate, toDate); var eventfulEvents = api.Search().ConvertToEventViewModel(); //Add the Eventful Events to the database events and resort var temp = eventfulEvents.Where(e => e.StartDateTime > DateTime.Now).OrderBy(m => m.StartDateTime).AddMissingImagesToTheirEvents(); result.UpcomingEvents = result.UpcomingEvents.Concat(temp).ToList(); var temp1 = eventfulEvents.Where(e => e.StartDateTime <= DateTime.Now).OrderBy(m => m.StartDateTime).AddMissingImagesToTheirEvents(); result.PassedEvents = result.PassedEvents.Concat(temp1).ToList(); return View(result); }
public ActionResult Index() { var events = this.eventsdb.Events .OrderBy(e => e.StartDateTime) .Where(e => e.IsPublic) .Select(EventViewModel.ViewModel); var upcomingEvents = events.Where(e => e.StartDateTime > DateTime.Now).ToList(); var passedEvents = events.Where(e => e.StartDateTime <= DateTime.Now).ToList(); var result = (new UpcomingPassedEventsViewModel() { UpcomingEvents = upcomingEvents, PassedEvents = passedEvents }); //Getting results from Eventful EventfulSearch api = new EventfulSearch(); api.Location = "Atlanta"; api.Date = DateTime.Now.ToString("MMMM"); var eventfulEvents = api.Search().ConvertToEventViewModel(); //Add the Eventful Events to the database events and resort result.UpcomingEvents = result.UpcomingEvents.Concat(eventfulEvents.Where(e => e.StartDateTime > DateTime.Now)).OrderBy(m => m.StartDateTime); result.PassedEvents = result.PassedEvents.Concat(eventfulEvents.Where(e => e.StartDateTime <= DateTime.Now)).OrderBy(m => m.StartDateTime); return View(result); }