Exemple #1
0
        public UserInputModelValidator()
        {
            When(e => !string.IsNullOrEmpty(e.Email) && e.Email.IndexOf(At, StringComparison.Ordinal) > -1, () =>
            {
                RuleFor(e => e.Email)
                .NotEmpty()
                .WithMessage(ET.EmailRequired)
                .EmailAddress()
                .WithMessage(ET.EmailInvalid);
            });

            When(e => e.PhoneNumber != null, () =>
            {
                RuleFor(e => e.PhoneNumber)
                .NotEmpty()
                .WithMessage(ET.PhoneRequired);

                RuleFor(e => e.CountryCode)
                .NotEmpty()
                .WithMessage(ET.PhoneRequired);

                RuleFor(e => new { InternationalPhoneNumber = e.PhoneNumber, e.CountryCode })
                .Must(x => PhoneNumberValidation.IsValidPhoneNumber(x.InternationalPhoneNumber, x.CountryCode))
                .WithMessage(ET.PhoneInvalid);
            });

            RuleFor(p => p.Password).Password();
        }
        public void PhoneNumbersFormatedCorrectly()
        {
            var service = new PhoneNumberValidation();

            Assert.True(service.IsPhoneNumberFormatedCorrectly("(123) 342-2354"));
            Assert.False(service.IsPhoneNumberFormatedCorrectly("(123)342 2354"));
            Assert.False(service.IsPhoneNumberFormatedCorrectly("(123) 342 2354"));
        }
Exemple #3
0
        private static string ValidatePhoneNumber(string phoneNumber)
        {
            if (phoneNumber == "")
            {
                return(phoneNumber);
            }

            if (!PhoneNumberValidation.IsValid(phoneNumber))
            {
                throw ShopException.InvalidPhoneNumberException(phoneNumber);
            }

            return(phoneNumber);
        }
Exemple #4
0
        private async void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            if (e.UserState != null)
            {
                try
                {
                    var id = (string)e.UserState;
                    var phoneNumberRequestItem = _phoneNumberRequestItems.FirstOrDefault(z => z.Id.Equals(id));
                    if (phoneNumberRequestItem == null)
                    {
                        return;
                    }
                    var phoneNumberValidation = await phoneNumberRequestItem.SmsService.GetSmsOnes(id);

                    if (phoneNumberValidation == null)
                    {
                        phoneNumberValidation = new PhoneNumberValidation();
                    }
                    if (!string.IsNullOrEmpty(phoneNumberValidation.Code))
                    {
                        phoneNumberRequestItem.Code = phoneNumberValidation.Code;
                        await phoneNumberRequestItem.SmsService.SetSmsValidationSuccess(phoneNumberRequestItem.Id);

                        tbLog.AppendText($"{DateTime.Now} {phoneNumberRequestItem.Id}. Получен код {phoneNumberRequestItem.Code} на номер {phoneNumberRequestItem.Phone}{Environment.NewLine}");
                    }
                    var remainSeconds = (int)(DateTime.UtcNow - phoneNumberRequestItem.Created).TotalSeconds;
                    if (remainSeconds > phoneNumberRequestItem.ActiveSeconds)
                    {
                        remainSeconds = 0;
                    }
                    phoneNumberRequestItem.RemainSeconds = phoneNumberRequestItem.ActiveSeconds - remainSeconds;
                    _requestsBindingSource.ResetBindings(false);
                }
                catch (Exception exception)
                {
                    Debug.WriteLine($"{exception}");
                }
            }
        }
Exemple #5
0
        private string PhoneNumberUpdate(string login, object phoneNumber)
        {
            _cache.Remove("people");
            string response = "good";
            if (phoneNumber != null)
            {
                if (PhoneNumberValidation.IsValid((string)phoneNumber))
                {
                    if ((from human in _netMarketDbContext.People
                         where human.PhoneNumber == (string)phoneNumber
                        select human).ToList().Count != 0)
                    {
                        response = "Этот номер телефона уже занят!";
                    }
                }
                else
                {
                    response = "Некорректный номер телефона!";
                }
            }

            if (phoneNumber == null && (from human in _netMarketDbContext.People
                where human.Login == login
                select human).ToList()[0].RoleId != 3)
            {
                response = "Некорректный номер телефона!";
            }

            if (response == "good")
            {
                var human = _netMarketDbContext.People.Find(GetUserId(login));
                human.PhoneNumber = (string)phoneNumber;
                _netMarketDbContext.People.Update(human);
            }
            return response;
        }
Exemple #6
0
 public PhoneNumberValidationTests()
 {
     _validation = new PhoneNumberValidation();
 }
        // Await for db call on need
        public async Task <UploadResult> AddPeople(string path, string pwd = default)
        {
            var file         = new FileInfo(path);
            var uploadResult = new UploadResult();

            if (file != null && file.Length > 0 && !string.IsNullOrEmpty(file.Name))
            {
                //You can save a copy of the file if u wish
                var fileName = Path.GetFileName(file.Name);
                if (Path.GetExtension(fileName) == ".xls" || Path.GetExtension(fileName) == ".xlsx")
                {
                    //If file has a password supply it as second parameter below
                    using (var package = new ExcelPackage(file))
                    {
                        List <Person> people = new List <Person>();
                        List <ExcelIterationResult> excelIterationResults = new List <ExcelIterationResult>();
                        //var workSheet = currentSheet.First(); ///Use this for only single worksheet
                        foreach (var workSheet in package.Workbook.Worksheets)
                        {
                            //Assumes first row is header row
                            for (int rowIterator = 2; rowIterator <= workSheet.Dimension.End.Row; rowIterator++)
                            {
                                ExcelIterationResult Er = new ExcelIterationResult();
                                //Columns have to be in order
                                var           surName    = workSheet.Cells[rowIterator, 1].Value.ToString().Trim();
                                var           firstName  = workSheet.Cells[rowIterator, 2].Value.ToString().Trim();
                                var           middleName = workSheet.Cells[rowIterator, 3].Value.ToString().Trim();
                                var           phone      = workSheet.Cells[rowIterator, 4].Value.ToString().Trim();
                                var           email      = workSheet.Cells[rowIterator, 5].Value.ToString().Trim();
                                var           dob        = workSheet.Cells[rowIterator, 6].Value.ToString().Trim();
                                List <string> mess       = new List <string>();
                                if (string.IsNullOrWhiteSpace(surName))
                                {
                                    mess.Add("Surname is required");
                                }
                                if (string.IsNullOrWhiteSpace(firstName))
                                {
                                    mess.Add("Surname is required");
                                }
                                if (string.IsNullOrWhiteSpace(phone))
                                {
                                    mess.Add("Surname is required");
                                }
                                if (string.IsNullOrWhiteSpace(email))
                                {
                                    mess.Add("Surname is required");
                                }
                                //Validate your values
                                if (!EmailValidation.IsValidEmail(email))
                                {
                                    mess.Add($"{email} is invalid");
                                }
                                if (!PhoneNumberValidation.IsValidPhoneNumber(phone))
                                {
                                    mess.Add($"{phone} is invalid");
                                }
                                if (mess.Any())
                                {
                                    Er.Status    = false;
                                    Er.RowNumber = rowIterator;
                                    Er.Reasons   = mess;
                                    excelIterationResults.Add(Er);
                                }
                                else
                                {
                                    people.Add(Person.Create(surName, firstName, phone, email, Convert.ToDateTime(dob), middleName));
                                }
                            }
                        }
                        uploadResult.People.AddRange(people);
                        uploadResult.Results.AddRange(excelIterationResults);
                        if (excelIterationResults.Any())
                        {
                            uploadResult.Status = false; uploadResult.Message = "Some data was invalid";
                        }
                        else
                        {
                            uploadResult.Status = true;
                        }
                    }
                }
                else
                {
                    uploadResult.Status  = false;
                    uploadResult.Message = "Not a valid excel file";
                }
            }
            else
            {
                uploadResult.Status  = false;
                uploadResult.Message = "Empty file";
            }
            return(uploadResult);
        }