Exemple #1
0
        public void CountryCodeConfigNotSet_LeavesNumber()
        {
            var          countryCodeReplacement = new CountryCodeReplacement();
            const string number = "+61400000";
            var          cleanAndInternationaliseNumber = countryCodeReplacement.CleanAndInternationaliseNumber(number);

            Assert.That(cleanAndInternationaliseNumber, Is.EqualTo(number));
        }
Exemple #2
0
        public void CountryCodeConfigSet_LeavesNumberLeadingDigitDoesntMatch()
        {
            var countryCodeReplacement = new CountryCodeReplacement {
                CountryCode = "+61", LeadingNumberToReplace = "0"
            };
            const string number = "+61400000";
            var          cleanAndInternationaliseNumber = countryCodeReplacement.CleanAndInternationaliseNumber(number);

            Assert.That(cleanAndInternationaliseNumber, Is.EqualTo("+61400000"));
        }
Exemple #3
0
        public PartialViewResult EditAjax(CountryCodeReplacement configuration)
        {
            var isValid = TryUpdateModel(configuration);

            if (!isValid)
            {
                return(PartialView("_CountryCodeConfigEdit", configuration));
            }
            using (var session = DocumentStore.GetStore().OpenSession("Configuration"))
            {
                var countryCode = session.Load <CountryCodeReplacement>("CountryCodeConfig");
                if (countryCode == null)
                {
                    session.Store(configuration, "CountryCodeConfig");
                }
                else
                {
                    countryCode.CountryCode            = configuration.CountryCode;
                    countryCode.LeadingNumberToReplace = configuration.LeadingNumberToReplace;
                }
                session.SaveChanges();
                return(PartialView("_CountryCodeConfigDetails", configuration));
            }
        }
Exemple #4
0
 public List <string> GetCleanInternationalisedNumbers(CountryCodeReplacement countryCodeReplacement)
 {
     return(Numbers.Split(new[] { ',', ';', ':' }).Select(number => countryCodeReplacement != null ? countryCodeReplacement.CleanAndInternationaliseNumber(number) : number.Trim()).ToList());
 }
 public SendAllMessagesAtOnce MapToSendAllAtOnce(CoordinatedSharedMessageModel model, CountryCodeReplacement countryCodeReplacement, List <string> excludedNumbers, string username)
 {
     return(new SendAllMessagesAtOnce
     {
         Messages = model
                    .GetCleanInternationalisedNumbers(countryCodeReplacement)
                    .Where(n => !excludedNumbers.Contains(n))
                    .Select(n => new SmsData(n, model.Message))
                    .ToList(),
         SendTimeUtc = DateTimeOlsenMapping.DateTimeWithOlsenZoneToUtc(model.StartTime, model.UserTimeZone),
         MetaData = new SmsMetaData {
             Tags = model.GetTagList(), Topic = model.Topic
         },
         ConfirmationEmail = model.ConfirmationEmail,
         ConfirmationEmails = model.GetEmailList(),
         UserOlsenTimeZone = model.UserTimeZone,
         Username = username
     });
 }
 public TrickleSmsOverCalculatedIntervalsBetweenSetDates MapToTrickleOverPeriod(CoordinatedSharedMessageModel model, CountryCodeReplacement countryCodeReplacement, List <string> excludedNumbers, string username)
 {
     return(new TrickleSmsOverCalculatedIntervalsBetweenSetDates
     {
         Duration = model.SendAllBy.Value.Subtract(model.StartTime),
         Messages = model
                    .GetCleanInternationalisedNumbers(countryCodeReplacement)
                    .Where(n => !excludedNumbers.Contains(n))
                    .Select(n => new SmsData(n, model.Message))
                    .ToList(),
         StartTimeUtc = DateTimeOlsenMapping.DateTimeWithOlsenZoneToUtc(model.StartTime, model.UserTimeZone),     // startTimeUtc,// model.StartTime.ToUniversalTime(),
         MetaData = new SmsMetaData
         {
             Tags = model.GetTagList(),
             Topic = model.Topic
         },
         ConfirmationEmail = model.ConfirmationEmail,
         ConfirmationEmails = model.GetEmailList(),
         UserOlsenTimeZone = model.UserTimeZone,
         Username = username
     });
 }