public bool Trigger(Guid id)
        {
            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                var activity = context.Activities
                               .Include(a => a.UserActivities)
                               .Include("UserActivities.User")
                               .FirstOrDefault(a => a.ID == id);

                if (activity != null)
                {
                    var smsService = new SmsActivityNotificationService();
                    smsService.NotifySubscribedUsers(activity);
                }
                return(true);
            }
        }
예제 #2
0
        public HttpResponseMessage PostReply(TwiML message)
        {
            string responseText = "La requête n'est pas correcte !";

            var parts = message.Body.ToLower().Split(' ');

            if (parts[0] == "oui")
            {
                var shortcode = parts[1];

                using (ApplicationDbContext context = new ApplicationDbContext())
                {
                    var activity = context
                                   .Activities.Include(a => a.UserActivities)
                                   .Include("UserActivities.User")
                                   .FirstOrDefault(a => a.ShortCode == shortcode);

                    if (activity != null)
                    {
                        var user = context.Users.FirstOrDefault(u => u.PhoneNumber == message.From);
                        if (user != null)
                        {
                            activity.Driver = user;
                            context.SaveChanges();

                            var smsService = new SmsActivityNotificationService();
                            smsService.SendDriverConfirmation(activity);

                            responseText = "Merci !";
                        }
                    }
                }
            }

            HttpResponseMessage response = new HttpResponseMessage()
            {
                Content = new StringContent(
                    responseText,
                    Encoding.UTF8,
                    "plain/text")
            };

            return(response);
        }