public async Task <IActionResult> SetPaymentAndTerms([FromBody] UserProfileRegPaymentRequestInfo u) { try { if (!ModelState.IsValid) { return(this.ApiErrorMessage400BadRequest(this.ModelState)); } var jwtPayloadInfo = this.GetJwtPayloadInfo(); var userId = await _bl.GetCachedUserId_byExternalReferenceIdAsync(jwtPayloadInfo.ExtReferenceId); if (userId == null) { return(this.ApiErrorMessage400BadRequestUserIdInTokenNotFound(jwtPayloadInfo.ExtReferenceId)); } var bl_usrProReg = new BL_UserProfile { HasAgreedToPrivacyPolicy = u.HasAgreedToPrivacyPolicy, HasAgreedToRefundPolicy = u.HasAgreedToRefundPolicy, HasAgreedToTandC = u.HasAgreedToTandC, Id = userId, }; await _bl.SetUserAsync(bl_usrProReg); return(this.ApiPutMessage204NotContent()); } catch (Exception exc) { return(this.ApiErrorMessage400BadRequest(exc)); } }
public async Task <IActionResult> SetAboutYou([FromBody] UserProfileRegAboutYouRequestInfo usrProRegAboYouReqInfo) { try { if (!ModelState.IsValid) { return(this.ApiErrorMessage400BadRequest(this.ModelState)); } var jwtPayloadInfo = this.GetJwtPayloadInfo(); var userProfileId = await _bl.GetCachedUserId_byExternalReferenceIdAsync(jwtPayloadInfo.ExtReferenceId); if (userProfileId == null) { return(this.ApiErrorMessage400BadRequestUserIdInTokenNotFound(jwtPayloadInfo.ExtReferenceId)); } var bl_usrProReg = new BL_UserProfile { Id = userProfileId, PrimaryEmail = usrProRegAboYouReqInfo.Email, DateOfBirth = usrProRegAboYouReqInfo.DateOfBirth, FirstName = usrProRegAboYouReqInfo.FirstName, Gender = usrProRegAboYouReqInfo.Gender, NotificationOption = usrProRegAboYouReqInfo.NotificationOption, LastName = usrProRegAboYouReqInfo.LastName, PrimaryMobileNr = usrProRegAboYouReqInfo.MobilePhone, }; await _bl.SetUserAsync(bl_usrProReg); return(this.ApiPutMessage204NotContent()); } catch (Exception exc) { return(this.ApiErrorMessage400BadRequest(exc)); } }
public async Task SetAndCheckIndexes() { var extRefid = $"{GetType().Name}.{GetCallerMemberName()}"; var testUser = await BL.CreateUserAsync($"{extRefid}@lifecouple.net", extRefid, true, "fName", "lName", null); var up = await BL.GetUserProfile_byExtRefIdAsync(testUser.ExternalRefId); up.FirstName = "John"; up.LastName = "Doe"; await BL.SetUserAsync(up); var userQ = await BL.GetUserQuestionnaire_ByUserIdAsync(testUser.Id, QuestionnaireTemplate.QuestionnaireType.OnBoarding); Assert.Null(userQ); var onboardingQuestionnaire = await BL.GetQuestionnaireTemplate_ByUserQuestionnaire(userQ, QuestionnaireTemplate.QuestionnaireType.OnBoarding, testUser.Gender); var answers = new BL_QuestionnaireAnswers { Answers = new List <BL_QuestionnaireAnswers.Answer>(), QuestionnaireTemplateId = onboardingQuestionnaire.Id, UserprofileId = testUser.Id }; var v = 1; foreach (var q in onboardingQuestionnaire.QuestionnaireSets.First().Questions) { answers.Answers.Add(new BL_QuestionnaireAnswers.Answer { QuestionId = q.Id, Value = $"{v}", }); v++; if (v > 10) { v = 1; } } var idUpdatedOrCreated = await BL.SetUserQuestionnaireAsync(answers); userQ = await BL.GetUserQuestionnaire_ByUserIdAsync(testUser.Id, QuestionnaireTemplate.QuestionnaireType.OnBoarding); Assert.NotNull(userQ); Assert.Equal(onboardingQuestionnaire.QuestionnaireSets.First().Questions.Count, userQ.Answers.Count); Assert.True(userQ.IsQuestionnaireTemplateComplete); testUser = await BL.GetUserProfile_byExtRefIdAsync(extRefid); Assert.Equal(up.FirstName, testUser.FirstName); Assert.Equal(up.LastName, testUser.LastName); Assert.Equal(up.PrimaryEmail, testUser.PrimaryEmail); Assert.Equal(up.PrimaryMobileNr, testUser.PrimaryMobileNr); Assert.Equal(5, testUser.Indexes?.Count); Assert.Equal(100, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Communication).Value); Assert.Equal(30, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.ConflictResolution).Value); Assert.Equal(20, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Intimacy).Value); Assert.Equal(45, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Overall).Value); Assert.Equal(20, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Trust).Value); //Test updating user profile and ensure Indexes and other data is still intact var toBeUpdated_testUser = new BL_UserProfile { LastName = $"updateLastName{testUser.LastName}", Id = testUser.Id }; await BL.SetUserAsync(toBeUpdated_testUser); var latestImageOf_testUser = await BL.GetUserProfile_byExtRefIdAsync(extRefid); Assert.Equal(latestImageOf_testUser.FirstName, testUser.FirstName); Assert.Equal(latestImageOf_testUser.LastName, toBeUpdated_testUser.LastName); Assert.Equal(latestImageOf_testUser.PrimaryEmail, testUser.PrimaryEmail); Assert.Equal(latestImageOf_testUser.PrimaryMobileNr, testUser.PrimaryMobileNr); Assert.Equal(latestImageOf_testUser.Indexes?.Count, testUser.Indexes?.Count); Assert.Equal(latestImageOf_testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Communication).Value, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Communication).Value); Assert.Equal(latestImageOf_testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.ConflictResolution).Value, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.ConflictResolution).Value); Assert.Equal(latestImageOf_testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Intimacy).Value, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Intimacy).Value); Assert.Equal(latestImageOf_testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Overall).Value, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Overall).Value); Assert.Equal(latestImageOf_testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Trust).Value, testUser.Indexes.Single(e => e.TypeOfIndex == IndexTypeEnum.Trust).Value); }