Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }