public IActionResult Create(Friend friend) { ModelState.Clear(); TryValidateModel(friend); if (ModelState.IsValid) { using (var db = new FriendsContext()) { // Create a channel var channel = _client.CreateChannel(Environment.GetEnvironmentVariable("TWILIO_IPM_SERVICE_SID"), "public", friend.PhoneNumber, friend.PhoneNumber, string.Empty); // join this channel if (channel.RestException!=null) { //an exception occurred making the REST call return Content(channel.RestException.Message); } else{ // Create a user var user = _client.CreateUser(Environment.GetEnvironmentVariable("TWILIO_IPM_SERVICE_SID"), friend.PhoneNumber.RemoveSpecialCharacters()); if (user.RestException!=null){ return Content(user.RestException.Message); } else{ // Create membership var member = _client.CreateMember(Environment.GetEnvironmentVariable("TWILIO_IPM_SERVICE_SID"), channel.Sid, user.Identity, string.Empty); if (member.RestException!=null){ return Content(member.RestException.Message); } else{ // Add complete user to the DB friend.ChannelSid = channel.Sid; friend.UserSid = user.Sid; db.Friends.Add(friend); db.SaveChanges(); } } } return RedirectToAction("Index"); } } return View(friend); }
public IActionResult SMSAdded(string To, string From, string Body) { var client = new IpMessagingClient(Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"), Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN")); using (var _db = new FriendsContext()){ var channelSid = _db.Friends.FirstOrDefault(s => s.PhoneNumber == From).ChannelSid; var message = client.CreateMessage( Environment.GetEnvironmentVariable("TWILIO_IPM_SERVICE_SID"), channelSid, From.RemoveSpecialCharacters(), Body ); if (message.RestException!=null) { string result = message.RestException.Message; return Content(result); } } return Content(string.Empty); }
public IActionResult MessageAdded(string To, string From, string Body){ var client = new TwilioRestClient(Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"), Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN")); using (var _db = new FriendsContext()) { var channelSid = _db.Friends.FirstOrDefault(s => s.ChannelSid == To).PhoneNumber; Message message = client.SendMessage( StringExtensions.MyNumber, channelSid, Body ); if (message.RestException!=null) { //an exception occurred making the REST call string result = message.RestException.Message; return Content(result); } } return Content(string.Empty); }
public IActionResult Edit(Friend friend) { ModelState.Clear(); TryValidateModel(friend); if (ModelState.IsValid) { using (var db = new FriendsContext()) { db.Friends.Update(friend); var count = db.SaveChanges(); return RedirectToAction("Index"); } } return View(friend); }
public FriendController() { _db = new FriendsContext(); _client = new IpMessagingClient(Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"), Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN")); }
public HomeController() { _db = new FriendsContext(); }