From 627aa511833ee2be7c9f3ed2cc2386abada65d13 Mon Sep 17 00:00:00 2001 From: Leeza Baidar Date: Wed, 15 May 2024 18:02:19 +0545 Subject: [PATCH] #31064 validate age for mobile api --- Business/Mobile/MobileServices.cs | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/Business/Mobile/MobileServices.cs b/Business/Mobile/MobileServices.cs index 6f51314..34b5d20 100644 --- a/Business/Mobile/MobileServices.cs +++ b/Business/Mobile/MobileServices.cs @@ -1760,6 +1760,25 @@ 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 be at least 18 years old!"); + return _resp; + } + } + return _resp; + } + public JsonRxResponse NewUserRegister(NewUserRegisterModel newUserRegister) { var lang = Convert.ToString(CallContext.GetData(Constants.Language)); @@ -1770,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()) { @@ -1807,6 +1826,13 @@ namespace Business.Mobile return verifyPwdResp; } + var calculateAge = CalculateAge(dob); + Log.Debug("NewUserRegister.IsValidAge | RESPONSE : " + JsonConvert.SerializeObject(calculateAge)); + if (calculateAge.ErrorCode != "0") + { + return calculateAge; + } + newUserRegister.MobileNumber = newUserRegister.MobileNumber.getUKFormattedNumber(); res = _requestServices.NewUserRegister(newUserRegister);