public long CreateEvent(User accessToken, GamingEvent eventInfo, List<User> inviteList) { GameNickEntities entities = new GameNickEntities(); if (IsAuthenticated(accessToken, entities)) { FacebookClient facebookClient = new FacebookClient(accessToken.FacebookAccessToken); Dictionary<string, object> createEventParameters = new Dictionary<string, object>(); createEventParameters.Add("name", eventInfo.Name); createEventParameters.Add("start_time", eventInfo.StartTime.ToString()); createEventParameters.Add("end_time", eventInfo.EndTime.ToString()); createEventParameters.Add("owner", accessToken.FacebookID.ToString()); createEventParameters.Add("privacy", "OPEN"); createEventParameters.Add("description", eventInfo.Description); try { dynamic result = facebookClient.Post("me/events", createEventParameters); if (result != null) { long eventId = (long) Convert.ToInt64(result["id"].ToString()); if (inviteList != null) if(inviteList.Count > 0) { string inviteString = "/invited?users="; for (int i = 0; i < inviteList.Count(); i++) { inviteString += inviteList[i].FacebookID.ToString(); if (i < inviteList.Count() - 1) // don't add a , at the end inviteString += ","; } dynamic inviteResult = facebookClient.Post(eventId.ToString() + inviteString); } // add event to database Event eEvent = Event.CreateEvent(0, eventInfo.Event.GameID, eventId); entities.AddToEvents(eEvent); entities.SaveChanges(); return eventId; } } catch (Exception e) { throw; } throw new Exception(); } throw new SecurityAccessDeniedException(); }