/// <summary> /// Check for Scratch Card Validation Weather Card Exist or Used by Other or Used by same or User Exist /// </summary> /// <param name="requestModel"></param> /// <returns></returns> public CardValidationResponseModel ScratchCardValidation(ScratchCardRequestModel requestModel) { CardValidationResponseModel responseModel = new CardValidationResponseModel(); #region GetUserID InstallationRepo installationRepo = new InstallationRepo(); int? userId = installationRepo.ValidateInstallation(requestModel.InstallationGuid, requestModel.DeviceIdentifier,requestModel.ApplicationId); if (userId == null) { responseModel.IsValid = false; responseModel.Error = "User not exist"; return responseModel; } #endregion #region CardExist ScratchCardRepo scratchCardRepo = new ScratchCardRepo(); bool IsExist = scratchCardRepo.ScratchCardExist(requestModel.CardNumber, requestModel.ApplicationId); if (!IsExist) { responseModel.IsValid = false; responseModel.Error = "Invalid Scratch card No"; return responseModel; } #endregion #region CardUsed EnumTypes.ScratchCardUsed CardUsageEnum = scratchCardRepo.ScratchCardUsed(userId.Value, requestModel.CardNumber); if (CardUsageEnum == EnumTypes.ScratchCardUsed.UsedBySame) { responseModel.IsValid = false; responseModel.Error = "Used by Same"; return responseModel; } else if(CardUsageEnum== EnumTypes.ScratchCardUsed.UsedByOther) { responseModel.IsValid = false; responseModel.Error = "Used By Other"; return responseModel; } #endregion #region RemoveFreeData DestroyFreeDataRepo freeDataRepo = new DestroyFreeDataRepo(); freeDataRepo.DeleteFreeData(userId.Value); #endregion #region CardType bool IsComplementary = scratchCardRepo.ScratchCardComplementary(requestModel.CardNumber); #endregion responseModel.IsValid = true; responseModel.Error = null; responseModel.IsComplimentary = IsComplementary; responseModel.UserId = userId.Value; return responseModel; }
/// <summary> /// Disable Installation if Mobile Verification Fails /// </summary> /// <param name="guid"></param> /// <returns></returns> public BaseResponseModel DisableInstallation(Guid guid) { BaseResponseModel responseModel = new BaseResponseModel(); InstallationRepo repoclass = new InstallationRepo(); string Error = repoclass.DisableInstallation(guid); if(Error != null) { responseModel.IsValid = false; responseModel.Error = Error; return responseModel; } responseModel.Error = Error; responseModel.IsValid = true; return responseModel; }
public IsUpdateAvailableResponseModel IsUpdateAvailable(IsUpdateAvailableRequestModel requestmodel) { IsUpdateAvailableResponseModel responseModel = new IsUpdateAvailableResponseModel(); InstallationRepo installationrepo = new InstallationRepo(); bool IsEnable = installationrepo.IsInstallationEnable(requestmodel.InstallationGuid); if(!IsEnable) { responseModel.IsValid = true; responseModel.IsInstallationValid = false; responseModel.IsUpdateAvailable = false; responseModel.Error = null; return responseModel; } UpdateRepo updaterepo = new UpdateRepo(); EnumTypes.UpdateAvailable isChecker = updaterepo.checkForUpdate(requestmodel.InstallationGuid, requestmodel.LastDateModified); if(isChecker == EnumTypes.UpdateAvailable.UpdateNotAvailable) { responseModel.IsInstallationValid = true; responseModel.IsValid = true; responseModel.IsUpdateAvailable = false; responseModel.Error = null; return responseModel; } if(isChecker == EnumTypes.UpdateAvailable.UpdateAvailable) { responseModel.IsInstallationValid = true; responseModel.IsValid = true; responseModel.IsUpdateAvailable = true; responseModel.Error = null; return responseModel; } responseModel.IsInstallationValid = true; responseModel.IsValid = false; responseModel.IsUpdateAvailable = false; responseModel.Error = "Installation Not Exist"; return responseModel; }
/// <summary> /// Adding User and Adding Installation /// </summary> /// <param name="requestModel"></param> /// <returns></returns> #region CreateAccount public CreateAccountResponseModel CreateAccount(CreateAccountRequestModel requestModel) { CreateAccountResponseModel responseModel = new CreateAccountResponseModel(); InputValidator validator = new InputValidator(); if(requestModel.ApplicationId == 1) { if (!validator.ValidatePhoneNumber(requestModel.PhoneNumber) || !validator.ValidateProfession(requestModel.Profession)) { responseModel.IsValid = false; return responseModel; } } else { if (!validator.ValidateEmail(requestModel.Email) || !validator.ValidateProfession(requestModel.Profession)) { responseModel.IsValid = false; return responseModel; } } UserProfileRepo userRepo = new UserProfileRepo(); bool isVerified = userRepo.AddUserByAuthenId(requestModel.Email , requestModel.Profession , requestModel.FirstName , requestModel.LastName , requestModel.PhoneNumber ,requestModel.ApplicationId); if (!isVerified) { responseModel.IsValid = false; responseModel.Error = "Account already exists."; return responseModel; } int GetUserId; if (requestModel.ApplicationId == 1) { GetUserId = userRepo.GetUserId(requestModel.PhoneNumber); } else GetUserId = userRepo.GetUserId(requestModel.Email); InstallationRepo installationRepo = new InstallationRepo(); Guid installationGuid = installationRepo.AddInstallation(GetUserId, requestModel.ApplicationId, requestModel.DeviceId); responseModel.installationGuid = installationGuid; responseModel.IsValid = true; responseModel.Error = null; return responseModel; }
/// <summary> /// Add installation if not exist and check for IsNumberExist or Account , IsNUmberVerified , IsScratchCardValid /// </summary> /// <param name="requestModel"></param> /// <returns></returns> #region Authen Number public AuthenticatePhoneNumberResponseModel AuthenNumber(AuthenticatePhoneNumberRequestModel requestModel) { AuthenticatePhoneNumberResponseModel responseModel = new AuthenticatePhoneNumberResponseModel(); UserProfileRepo userprofilerepo = new UserProfileRepo(); UserProfile UserProfile = userprofilerepo.AuthenNumber(requestModel.AuthenId); InputValidator validator = new InputValidator(); if(requestModel.ApplicationId == 1) //Check If Request From MObile Application or Desktop Application { if (!validator.ValidatePhoneNumber(requestModel.AuthenId)) { responseModel.IsValid = false; responseModel.Error = "Please provide valid Phone Number"; return responseModel; } } else { if (!validator.ValidateEmail(requestModel.AuthenId)) { responseModel.IsValid = false; responseModel.Error = "Please provide valid Phone Number"; return responseModel; } } if (UserProfile == null) { responseModel.IsNumberExist = false; responseModel.IsNumberVerified = false; responseModel.IsScratchCardValid = false; responseModel.IsValid = true; return responseModel; } //Add if not exist InstallationRepo repoclass = new InstallationRepo(); Guid getGUID = repoclass.AddInstallation(UserProfile.UserId, requestModel.ApplicationId, requestModel.DeviceId); if(!UserProfile.IsAuthenIdVerified) { responseModel.IsNumberExist = true; responseModel.IsNumberVerified = false; responseModel.IsScratchCardValid = false; responseModel.GUID = getGUID; responseModel.IsValid = true; return responseModel; } bool IsValid = UserProfile.UserApps.Any(x => x.DateSubscribed > DateTime.Now); if(!IsValid) { responseModel.IsNumberExist = true; responseModel.IsNumberVerified = true; responseModel.IsScratchCardValid = false; responseModel.GUID = getGUID; responseModel.IsValid = true; return responseModel; } responseModel.IsNumberExist = true; responseModel.IsNumberVerified = true; responseModel.IsScratchCardValid = true; responseModel.GUID = getGUID; responseModel.IsValid = true; return responseModel; }