public override async Task <ScubaCardResult> GetCardResult(UserScubaData scubaData, JObject value, string messageText) { var info = new Models.PersonalInfo(); info.Name = value.Value <string>("firstlast"); info.Email = value.Value <string>("email"); info.Phone = value.Value <string>("phone"); var error = GetErrorMessage(info); if (!string.IsNullOrEmpty(error)) { return new ScubaCardResult() { ErrorMessage = error } } ; scubaData.PersonalInfo = info; return(new ScubaCardResult() { CardText = await GetCardText(scubaData) }); }
public override async Task <ScubaCardResult> GetCardResult(UserScubaData scubaData, JObject value, string messageText) { var info = new Models.PersonalInfo(); if (value != null) { info.Name = GetValue(value, "firstlast"); info.Email = GetValue(value, "email"); info.Phone = GetValue(value, "phone"); } var error = GetErrorMessage(info); if (!string.IsNullOrEmpty(error)) { return new ScubaCardResult() { ErrorMessage = error } } ; scubaData.PersonalInfo = info; return(new ScubaCardResult() { CardText = await GetCardText(scubaData), NotifySubscribers = true }); }
private string GetErrorMessage(Models.PersonalInfo personalInfo) { if (string.IsNullOrWhiteSpace(personalInfo.Name) || string.IsNullOrWhiteSpace(personalInfo.Email) || string.IsNullOrWhiteSpace(personalInfo.Phone)) { return("Please fill out all the fields"); } if (!Regex.IsMatch(personalInfo.Email, @"^[\w!#$%&'*+\-/=?\^_`{|}~]+(\.[\w!#$%&'*+\-/=?\^_`{|}~]+)*" + "@" + @"((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3}))$")) { return("Please enter a valid email address"); } if (!Regex.IsMatch(personalInfo.Phone, @"\(?\d{3}\)?[-\.]? *\d{3}[-\.]? *[-\.]?\d{4}")) { return("Please enter a valid phone number"); } return(string.Empty); }