public void CountryCodeConfigNotSet_LeavesNumber() { var countryCodeReplacement = new CountryCodeReplacement(); const string number = "+61400000"; var cleanAndInternationaliseNumber = countryCodeReplacement.CleanAndInternationaliseNumber(number); Assert.That(cleanAndInternationaliseNumber, Is.EqualTo(number)); }
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")); }
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)); } }
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 }); }