Exemple #1
0
        public ActionResult BulkTextMessage(BulkContactViewModel viewModel)
        {
            if (viewModel.Members.Count == 0)
            {
                return(RedirectToAction("ContactSelected"));
            }

            var user = unitOfWork.AppUserRepository.FindUserByEmail(User.Identity.Name);

            var textMessageContact = new TextMessageContact
            {
                ToPhoneNumber   = string.Empty,
                FromPhoneNumber = user.PhoneNumber,
                DateSent        = DateTime.Now
            };

            var textMessageViewModel = new TextMessageViewModel
            {
                TextMessageContact = textMessageContact,
                Bulk    = true,
                Members = viewModel.Members
            };

            TempData["TextMessageViewModel"] = textMessageViewModel;

            RouteValueDictionary routeDictionary = new RouteValueDictionary();

            routeDictionary.Add("TextMessageViewModel", textMessageViewModel);

            return(RedirectToAction("SendBulkTextMessage", "Sms", routeDictionary));
        }
        private void StoreTextMessage(TextMessageContact textMessageContact)
        {
            const string subjectTxt  = "Text message";
            var          member      = unitOfWork.MemberRepository.FindMemberById(textMessageContact.MemberId);
            var          contactType = unitOfWork.ContactTypeRepository.Find(ct => ct.Name.Equals("Text Messaging"));

            // To assign user id to contact record property
            var user = unitOfWork.AppUserRepository.FindUserByEmail(User.Identity.Name);

            var contact = new ContactRecord
            {
                CCGMemberId   = member.Id,
                Subject       = subjectTxt,
                Comments      = textMessageContact.Message,
                ContactDate   = DateTime.Now,
                Timestamp     = DateTime.Now,
                ContactTypeId = contactType.Id,
                AppUserId     = user.Id
            };

            unitOfWork.ContactRecordRepository.Add(contact);
        }
        // GET
        public ActionResult SendTextMessage(int?id, string number)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }


            var    member         = unitOfWork.MemberRepository.FindMemberById(id);
            string memberFullName = $"{member.FirstName} {member.LastName}";

            var contact = new TextMessageContact
            {
                MemberId       = (int)id,
                MemberFullName = memberFullName,
                ToPhoneNumber  = number,
            };

            var viewModel = new TextMessageViewModel
            {
                TextMessageContact = contact,
                Bulk = false
            };


            // Check if testing Twillio
            bool testTwillio = bool.Parse(ConfigurationManager.AppSettings["TestTwillio"]);

            if (testTwillio)
            {
                viewModel.IsTest         = testTwillio;
                viewModel.TestFromNumber = ConfigurationManager.AppSettings["TwillioFromNumber"];
            }

            viewModel.HasStatusNotification = false;
            viewModel.StatusNotification    = new NotificationViewModel();

            return(View(viewModel));
        }