diff --git a/Business/Mobile/MobileServices.cs b/Business/Mobile/MobileServices.cs index 3edf3d1..b20514b 100644 --- a/Business/Mobile/MobileServices.cs +++ b/Business/Mobile/MobileServices.cs @@ -1762,6 +1762,23 @@ namespace Business.Mobile return _resp; } + private JsonRxResponse CalculateAge(string dob) + { + JsonRxResponse _resp = new JsonRxResponse() { ErrorCode = "0", Msg = "Success" }; + if (DateTime.TryParse(dob, out DateTime dateOfBirth)) + { + DateTime today = DateTime.Today; + int age = today.Year - dateOfBirth.Year; + if (dateOfBirth.Date > today.AddYears(-age)) + age--; + if (age < 18) + { + _resp.SetResponse("100", "User must me at least 18 years old to register with IME London!"); + return _resp; + } + } + return _resp; + } public JsonRxResponse NewUserRegister(NewUserRegisterModel newUserRegister) { var lang = Convert.ToString(CallContext.GetData(Constants.Language)); @@ -1772,7 +1789,7 @@ namespace Business.Mobile string pwd = newUserRegister.Password; string Confirmpwd = newUserRegister.ConfirmPassword; string enumString = string.Empty; - + string dob = newUserRegister.DOB; if (!newUserRegister.UserId.IsValidEmail()) { @@ -1808,6 +1825,13 @@ namespace Business.Mobile { return verifyPwdResp; } + var calculateAge = CalculateAge(dob); + + if (calculateAge.ErrorCode != "0") + { + Log.Debug("NewUserRegister.IsNotValidAge | RESPONSE : " + JsonConvert.SerializeObject(calculateAge)); + return calculateAge; + } newUserRegister.MobileNumber = newUserRegister.MobileNumber.getUKFormattedNumber();