bool IServiceRepository.TriggerGoals(EmailIntent emailIntent)
        {
            //createContacts();

            Item root = MasterDb.GetItem(Constants.IntentRoot);

            bool success = true;


            foreach (Item child in root.Children)
            {
                if (child.Fields[Templates.Intent.Fields.IntentText] != null &&
                    child.Fields[Templates.Intent.Fields.IntentText].Value == emailIntent.Intent)
                {
                    var goal = child.Fields[Templates.Intent.Fields.Goal] != null ? child.Fields[Templates.Intent.Fields.Goal].Value : null;

                    var goalId = Guid.Parse(goal.ToString());

                    var contact = SearchContact(emailIntent.EmailFrom);

                    CreateInteraction(contact, goalId, emailIntent.EmailSubject);
                }
            }


            return(success);
        }
Пример #2
0
        public IHttpActionResult Get()
        {
            var result = false;

            if (Request.Headers.Contains("UserData"))
            {
                IEnumerable <string> headerValues = Request.Headers.GetValues("UserData");
                var jsonData = headerValues.FirstOrDefault();

                EmailIntent list = JsonConvert.DeserializeObject <EmailIntent>(jsonData);

                IServiceRepository repo = new ServiceRepository();
                result = repo.TriggerGoals(list);

                if (result)
                {
                    return(Content(HttpStatusCode.OK, result));
                }
            }
            return(Content(HttpStatusCode.BadRequest, result));
        }