public async Task <bool> ChangeAccountPropertyValues( EditHelper.ArgumentsEdits argumentsEdits) { bool bHasSet = false; int iEmailCount = 0; if (argumentsEdits.EditAttName.ToLower().Contains( AppHelpers.Accounts.ACCOUNT_EMAIL.ToLower())) { IMemberRepositoryEF rep = new SqlRepositories.MemberRepository(argumentsEdits.URIToEdit); iEmailCount = await rep.GetEmailCountForClubAsync( argumentsEdits.EditAttValue); rep = null; if (iEmailCount != 0) { _dtoContentURI.ErrorMessage = DevTreks.Exceptions.DevTreksErrors.MakeStandardErrorMsg( string.Empty, "EDIT_EMAILINUSE"); } else { bHasSet = true; } } return(bHasSet); }
private async Task <bool> ChangeMemberPropertyValues(EditHelper.ArgumentsEdits argumentsEdits, Dictionary <string, int> updatedIds) { bool bHasSet = true; if (argumentsEdits.EditAttName.ToLower().Contains( Members.MEMBER_USERNAME.ToLower())) { IMemberRepositoryEF rep = new SqlRepositories.MemberRepository(argumentsEdits.URIToEdit); int iUserNameCount = await rep.GetUserNameCountForMemberAsync( argumentsEdits.EditAttValue); if (iUserNameCount != 0) { _dtoContentURI.ErrorMessage = DevTreks.Exceptions.DevTreksErrors.MakeStandardErrorMsg( string.Empty, "EDIT_USERNAMEINUSE"); } } else if (argumentsEdits.EditAttName.ToLower().Contains( Members.MEMBER_EMAIL.ToLower())) { IMemberRepositoryEF rep = new SqlRepositories.MemberRepository(argumentsEdits.URIToEdit); int iEmailCount = await rep.GetEmailCountForMemberAsync( argumentsEdits.EditAttValue); if (iEmailCount != 0) { _dtoContentURI.ErrorMessage = DevTreks.Exceptions.DevTreksErrors.MakeStandardErrorMsg( string.Empty, "EDIT_EMAILINUSE"); } } else if (argumentsEdits.EditAttName.ToLower().Contains( AppHelpers.Members.MEMBER_ROLE.ToLower())) { //the club founder (topjoin) can't change role from coordinator //fallback so that all clubs have at least one coordinator who //can edit the club's model bool bJoinIdsMatch = false; EditHelper editHelper = new EditHelper(); //don't use uri.urinodename here (can be a parent uri) bJoinIdsMatch = await editHelper.JoinIdsAreMatches(_dtoContentURI, argumentsEdits, AppHelpers.Members.MEMBER_TYPES.member.ToString(), _dtoContentURI.URIMember.MemberId.ToString()); if (bJoinIdsMatch) { _dtoContentURI.ErrorMessage = DevTreks.Exceptions.DevTreksErrors.MakeStandardErrorMsg( string.Empty, "EDIT_NOFOUNDERCHANGE"); } } return(bHasSet); }
public async Task <bool> UpdateSubscribedMemberCountAsync(ContentURI uri, int currentClubMemberCount, int accountId, int joinServiceId, int memberCount) { bool bHasUpdated = false; IMemberRepositoryEF memberReposit = new SqlRepositories.MemberRepository(uri); bHasUpdated = await memberReposit.UpdateSubscribedMemberCountAsync(uri, currentClubMemberCount, accountId, joinServiceId, memberCount); return(bHasUpdated); }
private async Task <int> NeedsClubDeletion(List <ContentURI> deletionURIs) { int iAccountId = 0; //workflow deletes the club if the last member is being deleted //if the club can't be deleted because it has data, generates an error message ContentURI deletionURI = deletionURIs.FirstOrDefault(); var member = await _dataContext.AccountToMember.SingleOrDefaultAsync(x => x.PKId == deletionURI.URIId); if (member != null) { IMemberRepositoryEF rep = new SqlRepositories.MemberRepository(deletionURI); int iClubToMemberCount = await rep.GetClubToMemberCountAsync(member.AccountId); //last member can only be deleted if the club can be deleted if (iClubToMemberCount == 1 || deletionURIs.Count == iClubToMemberCount) { iAccountId = member.AccountId; } } return(iAccountId); }