public ActionResult Index(string phone, int carerId, bool isPopup = true, SmsResponseSource src = SmsResponseSource.Unknown)
        {
            SmsViewModel model = new SmsViewModel();
            string       name  = "";

            if (carerId > 0)
            {
                var carer = carerService.GetCarer(carerId);
                if (carer != null)
                {
                    name = carer.FormattedName;
                }
                model.UserId = carerId;
            }
            if (src == SmsResponseSource.Unknown)
            {
                if (!IsPopup)
                {
                    src = SmsResponseSource.Recruitment;
                }
                else
                {
                    src = SmsResponseSource.Support;
                }
            }

            model.Name              = name;
            model.ToNumber          = phone;
            model.StandardResponses = GetStandardResponses(src);
            model.IsPopup           = isPopup;
            model.ResponseSource    = src;

            return(View(model));
        }
        private List <SelectListItem> GetStandardResponses(SmsResponseSource responseSource)
        {
            var responses = new List <SelectListItem>()
            {
                new SelectListItem {
                    Text  = "--- Select response ---",
                    Value = ""
                }
            };

            responses.AddRange(messagingService.GetStandardSmsResponses(responseSource).Select(r => new SelectListItem
            {
                Text  = r.ResponseTitle,
                Value = r.ResponseMessage
            }));

            return(responses);
        }