Exemple #1
0
        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)
            });
        }
Exemple #2
0
        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
            });
        }
Exemple #3
0
        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);
        }