public ActionResult ExternalAccounts(ProfileModel objExternalModel) { #region Member memberData = (Member)SessionStore.GetSessionValue(SessionStore.Memberobject); MemberAction objMember = new MemberAction(); Privacy privacyData = objMember.GetPrivacyByMemberId(memberData.id); SeedSpeak.Model.ExternalAccount extAccount = new SeedSpeak.Model.ExternalAccount(); extAccount.accountTye = objExternalModel.AccountType; extAccount.username = objExternalModel.Username; extAccount.passwd = objExternalModel.Password; extAccount.verified = false; bool saved = objMember.ManageExternalAccount(memberData, extAccount); if (saved == true) { ViewData["ExternalMsg"] = "<b>External account saved succesfully.</b>"; } else { ViewData["ExternalMsg"] = "Problem saving external account."; } ViewData["SelectedIndex"] = 2; GetRegions(); MyUsername(privacyData); SeedContributionMessage(privacyData); SeedCommitmentMessage(privacyData); GetExternalAccountList(); GetExternalAccountList(); GetProfileData(); ViewData["LoggedInMember"] = memberData.id.ToString(); return View("Profile"); #endregion }
/// <summary> /// Method to manage External Members. /// </summary> /// <param name="externalAccount"></param> /// <returns></returns> public bool ManageExternalAccount(Member member, ExternalAccount externalAccount) { #region Business Logic bool actionCompleted = false; try { ExternalAccount externalAccountData = null; //see if ExternalAccount exists externalAccountData = repoObj.List<ExternalAccount>(x => x.accountTye.Equals(externalAccount.accountTye) && x.username.Equals(externalAccount.username)).FirstOrDefault(); if (externalAccountData != null) { externalAccountData.passwd = externalAccountData.passwd; repoObj.Update<ExternalAccount>(externalAccountData); } else { externalAccountData = new ExternalAccount(); externalAccountData.id = Guid.NewGuid(); externalAccountData.accountTye = externalAccount.accountTye; externalAccountData.username = externalAccount.username; externalAccountData.passwd = externalAccount.passwd; externalAccountData.verified = false; externalAccountData.memberId = member.id; repoObj.Create<ExternalAccount>(externalAccountData); } actionCompleted = true; } catch (Exception ex) { WriteError(ex); } return actionCompleted; #endregion }