Ejemplo n.º 1
0
        private async Task <AccountToMember> GetFirstClubAsync(
            IMemberService memberService, ContentURI uri,
            Member existingBaseMember)
        {
            AccountToMember existingMember = new AccountToMember(true);

            if (existingBaseMember != null)
            {
                if (existingBaseMember.PKId != 0)
                {
                    existingMember.Member = new DevTreks.Models.Member(existingBaseMember);
                    //most ui navigation takes place using memberid property
                    existingMember.MemberId = existingBaseMember.PKId;
                }
                //doesn't have a default club, see if one can be made the default for now
                IList <AccountToMember> clubs
                    = await memberService.GetClubsByMemberAsync(uri,
                                                                existingBaseMember.PKId);

                if (clubs != null)
                {
                    if (clubs.Count > 0)
                    {
                        existingMember = clubs.FirstOrDefault();
                    }
                }
            }
            return(existingMember);
        }
Ejemplo n.º 2
0
        public async Task <List <AccountToMember> > GetMemberByClubIdAsync(
            ContentURI uri, int accountId)
        {
            List <AccountToMember> colClubToMember = new List <AccountToMember>();

            if (accountId == 0)
            {
                //set default objects
                AccountToMember aton = new AccountToMember(true);
                colClubToMember.Add(aton);
                return(colClubToMember);
            }
            Helpers.SqlIOAsync sqlIO    = new Helpers.SqlIOAsync(uri);
            SqlParameter[]     colPrams =
            {
                sqlIO.MakeInParam("@AccountId", SqlDbType.Int, 4, accountId)
            };
            SqlDataReader dataReader = await sqlIO.RunProcAsync(
                "0GetMembersByClubId", colPrams);

            colClubToMember = await FillClubToMemberList(dataReader);

            sqlIO.Dispose();
            return(colClubToMember);
        }
Ejemplo n.º 3
0
        public async Task <AccountToMember> GetMemberByClubAsync(
            ContentURI uri, int accountId, int memberId)
        {
            AppHelpers.Accounts    oClubHelper   = new AppHelpers.Accounts();
            AccountToMember        currentMember = new AccountToMember(true);
            List <AccountToMember> colClubToMember
                = await oClubHelper.GetMemberByClubIdAsync(uri, accountId);

            if (colClubToMember != null)
            {
                currentMember = colClubToMember
                                .FirstOrDefault(cm => cm.AccountId == accountId && cm.MemberId == memberId);
            }
            return(currentMember);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Returns a specific member of a given club
        /// </summary>
        /// <param name="memberId"></param>
        /// <returns></returns>
        public async Task <AccountToMember> GetMemberByClubAsync(
            ContentURI uri, int accountId, int memberId)
        {
            AccountToMember clubMember = new AccountToMember();

            clubMember = await _repository.GetMemberByClubAsync(uri, accountId, memberId);

            if (clubMember == null)
            {
                //default member
                clubMember = new AccountToMember(true);
                //but use the memberid
                clubMember.MemberId = memberId;
            }
            return(clubMember);
        }
Ejemplo n.º 5
0
 public ExtensionMember(AccountToMember memberCopy)
 {
     this.MemberRole        = memberCopy.MemberRole.ToString();
     this.Id                = memberCopy.PKId;
     this.MemberId          = memberCopy.MemberId;
     this.LastName          = memberCopy.Member.MemberLastName;
     this.FirstName         = memberCopy.Member.MemberFirstName;
     this.Description       = memberCopy.Member.MemberDesc;
     this.Email             = memberCopy.Member.MemberEmail;
     this.MemberGroupId     = memberCopy.Member.MemberClassId;
     this.GeoRegionId       = memberCopy.Member.GeoRegionId;
     this.URIFull           = memberCopy.URIFull;
     this.MemberDocFullPath = memberCopy.MemberDocFullPath;
     //this.ErrorMessage = memberCopy.Member.ErrorMessage;
     this.ClubDefault = new ExtensionClub(memberCopy.ClubDefault);
     this.ClubInUse   = new ExtensionClub(memberCopy.ClubInUse);
 }
Ejemplo n.º 6
0
        public async Task <AccountToMember> GetDefaultClubByMemberAsync(
            ContentURI uri, int memberId)
        {
            AppHelpers.Accounts    oClubHelper = new AppHelpers.Accounts();
            AccountToMember        defaultClub = new AccountToMember(true);
            List <AccountToMember> colClubToMember
                = await oClubHelper.GetClubToMemberByMemberIdAsync(uri, memberId);

            if (colClubToMember != null)
            {
                defaultClub = colClubToMember.FirstOrDefault(m => m.IsDefaultClub == true);
                if (defaultClub != null)
                {
                    defaultClub.ClubDefault = await GetClubByIdAsync(uri, defaultClub.AccountId);
                }
            }
            return(defaultClub);
        }
Ejemplo n.º 7
0
        public static AccountToMember GetMember(ExtensionMember memberCopy)
        {
            AccountToMember newMember = new AccountToMember();

            newMember.MemberRole             = Data.AppHelpers.Members.MEMBER_ROLE_TYPES.contributor.ToString();
            newMember.PKId                   = memberCopy.Id;
            newMember.MemberId               = memberCopy.MemberId;
            newMember.Member.MemberLastName  = memberCopy.LastName;
            newMember.Member.MemberFirstName = memberCopy.FirstName;
            newMember.Member.MemberDesc      = memberCopy.Description;
            newMember.Member.MemberEmail     = memberCopy.Email;
            newMember.Member.MemberClassId   = memberCopy.MemberGroupId;
            newMember.Member.GeoRegionId     = memberCopy.GeoRegionId;
            newMember.URIFull                = memberCopy.URIFull;
            newMember.MemberDocFullPath      = memberCopy.MemberDocFullPath;
            //newMember.ErrorMessage = memberCopy.ErrorMessage;
            newMember.ClubDefault = ExtensionClub.GetClub(memberCopy.ClubDefault);
            newMember.ClubInUse   = ExtensionClub.GetClub(memberCopy.ClubInUse);
            return(newMember);
        }
Ejemplo n.º 8
0
        //this determines whether DevTreks internal security allows a subscribed club to edit
        public async Task <AccountToMember> GetAuthorizedClubByServiceAndMemberAsync(
            ContentURI uri, int serviceId, int memberId)
        {
            AccountToMember club = new AccountToMember(true);
            //this sets club.ClubInUse and club.Member if successful
            List <AccountToMember> colClubToMember =
                await _repository.GetClubsByServiceAndMemberAsync(uri, serviceId, memberId);

            if (colClubToMember != null)
            {
                //first try to get a club with the authority to make edits
                club = colClubToMember.FirstOrDefault(c => c.ClubInUse.PrivateAuthorizationLevel
                                                      == AccountHelper.AUTHORIZATION_LEVELS.fulledits);
                if (club == null)
                {
                    //get a clubinuse that doesn't have authority to edit
                    club = colClubToMember.FirstOrDefault();
                }
            }
            return(club);
        }
Ejemplo n.º 9
0
        public async Task <bool> SetClubCreditAsync(AccountToMember loggedInMember)
        {
            bool bHasSet = false;
            List <AccountToCredit> colCredits
                = await GetCreditsByClubAsync(loggedInMember.ClubDefault.PKId);

            if (colCredits != null)
            {
                //current design uses a one to one relation (one to many used in db for consistency)
                AccountToCredit clubCredit = colCredits.FirstOrDefault();
                if (clubCredit != null)
                {
                    if (loggedInMember.ClubDefault.AccountToCredit == null)
                    {
                        loggedInMember.ClubDefault.AccountToCredit = new List <AccountToCredit>();
                    }
                    loggedInMember.ClubDefault.AccountToCredit.Add(clubCredit);
                    bHasSet = true;
                }
            }
            return(bHasSet);
        }
Ejemplo n.º 10
0
        //update clubdefault.Credit
        public async Task <bool> UpdatePaymentHandlingAsync(AccountToMember loggedInMember,
                                                            string cardNumberHash, string salt)
        {
            bool bIsUpdated = false;

            if (loggedInMember.ClubDefault != null)
            {
                if (loggedInMember.ClubDefault.PKId != 0 &&
                    loggedInMember.ClubDefault.AccountToCredit != null)
                {
                    bool bNeedsInsert = false;
                    if (loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().PKId == 0 ||
                        loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().AccountId == 0)
                    {
                        bNeedsInsert = true;
                    }
                    if (!bNeedsInsert)
                    {
                        try
                        {
                            AccountToCredit existingCR =
                                await _dataContext.AccountToCredit.SingleOrDefaultAsync(x => x.PKId == loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().PKId);

                            if (_dataContext.Entry(existingCR) != null)
                            {
                                //tell the tracker to change the state is unchanged
                                _dataContext.Entry(existingCR).State = EntityState.Unchanged;
                                //2.0.0 changes
                                //update the properties to the new values
                                var currentObjContext = _dataContext.Entry(existingCR);
                                var aToC = loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault();
                                var currentObjContent = new AccountToCredit(aToC);
                                //var existingCRProps = currentObjContext.Metadata.GetProperties();
                                //_dataContext.Entry(existingCR).CurrentValues.SetValues(loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault());
                                _dataContext.Entry(existingCR).State = EntityState.Modified;
                                //state is now modified and can be updated
                                await _dataContext.SaveChangesAsync();
                            }
                            bIsUpdated = true;
                        }
                        catch
                        {
                            throw;
                        }
                    }
                    else
                    {
                        AccountToCredit newAccountToCredit
                            = new AccountToCredit(loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault());
                        newAccountToCredit.AccountId      = loggedInMember.AccountId;
                        newAccountToCredit.Account        = null;
                        newAccountToCredit.CardFullNumber = cardNumberHash;
                        newAccountToCredit.CardNumberSalt = salt;
                        try
                        {
                            _dataContext.Entry(newAccountToCredit).State = EntityState.Added;
                            await _dataContext.SaveChangesAsync();

                            bIsUpdated = true;
                            loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().PKId           = newAccountToCredit.PKId;
                            loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().CardNumberSalt = newAccountToCredit.CardNumberSalt;
                        }
                        catch
                        {
                            throw;
                        }
                    }
                }
            }
            return(bIsUpdated);
        }
Ejemplo n.º 11
0
        public async Task <bool> InsertNewClubForMemberAsync(int memberId, string accountEmail)
        {
            bool bHasAdded = false;

            if (memberId != 0)
            {
                string sAccountName = GetNameFromEmail(accountEmail, memberId);
                var    newAccount   = new Account
                {
                    AccountName      = sAccountName,
                    AccountEmail     = accountEmail,
                    AccountURI       = string.Empty,
                    AccountDesc      = string.Empty,
                    AccountLongDesc  = string.Empty,
                    AccountClassId   = 1,
                    GeoRegionId      = 1,
                    GeoRegion        = null,
                    AccountClass     = null,
                    AccountToAddIn   = null,
                    AccountToAudit   = null,
                    AccountToCredit  = null,
                    AccountToLocal   = null,
                    AccountToMember  = null,
                    AccountToNetwork = null,
                    AccountToPayment = null,
                    AccountToService = null
                };
                //join table (each member can join one or more accounts (clubs))
                var newAccountToMember = new AccountToMember
                {
                    MemberId = memberId,
                    //each member is the coordinator of their own club
                    MemberRole    = AppHelpers.Members.MEMBER_ROLE_TYPES.coordinator.ToString(),
                    IsDefaultClub = true,
                    //next step after insertion switches the default club to this club
                    //IsDefaultClub = false,
                    ClubDefault = null,
                    Member      = null
                };
                try
                {
                    _dataContext.Account.Add(newAccount);
                    await _dataContext.SaveChangesAsync();

                    //foreign key
                    newAccountToMember.AccountId = newAccount.PKId;
                    _dataContext.AccountToMember.Add(newAccountToMember);
                    await _dataContext.SaveChangesAsync();

                    //_dataContext.Entry(newAccount).State = EntityState.Added;
                    //await _dataContext.SaveChangesAsync();
                    //foreign key
                    //newAccountToMember.AccountId = newAccount.PKId;
                    //_dataContext.Entry(newAccountToMember).State = EntityState.Added;
                    //await _dataContext.SaveChangesAsync();
                    bHasAdded = true;
                }
                catch
                {
                    throw;
                }
            }
            return(bHasAdded);
        }
Ejemplo n.º 12
0
        private async Task <List <AccountToMember> > FillClubToMemberList(SqlDataReader dataReader)
        {
            List <AccountToMember> colClubToMember = new List <AccountToMember>();

            if (dataReader != null)
            {
                using (dataReader)
                {
                    while (await dataReader.ReadAsync())
                    {
                        AccountToMember atom = new AccountToMember(true);
                        atom.ClubDefault = new Account();
                        atom.Member      = new Member();
                        //order is Account, Member, AccountToMember
                        //set default club
                        //Account.PKId
                        atom.ClubDefault.PKId = dataReader.GetInt32(0);
                        //Account.AccountName
                        atom.ClubDefault.AccountName = dataReader.GetString(1);
                        //Account.AccountDesc
                        atom.ClubDefault.AccountDesc = dataReader.GetString(2);
                        //Account.AccountLongDesc
                        atom.ClubDefault.AccountLongDesc = dataReader.GetString(3);
                        //Account.AccountEmail
                        atom.ClubDefault.AccountEmail = dataReader.GetString(4);
                        //Account.AccountURI
                        atom.ClubDefault.AccountURI = dataReader.GetString(5);
                        //Account.AccountClassId
                        atom.ClubDefault.AccountClassId = dataReader.GetInt32(6);
                        //Account.GeoRegionId
                        atom.ClubDefault.GeoRegionId = dataReader.GetInt32(7);
                        //not in db
                        atom.ClubDefault.ClubDocFullPath = string.Empty;
                        //can this be set now? or after service is known?
                        atom.ClubDefault.PrivateAuthorizationLevel
                            = AccountHelper.AUTHORIZATION_LEVELS.none;
                        atom.ClubDefault.NetCost   = 0;
                        atom.ClubDefault.TotalCost = 0;
                        atom.ClubDefault.URIFull   = string.Empty;

                        //set member
                        //Member.PKId
                        atom.Member.PKId = dataReader.GetInt32(8);
                        //Member.UserName
                        atom.Member.UserName = dataReader.GetString(9);
                        //Member.MemberEmail
                        atom.Member.MemberEmail = dataReader.GetString(10);
                        //Member.MemberJoinedDate
                        atom.Member.MemberJoinedDate = dataReader.GetDateTime(11);
                        //Member.MemberLastChangedDate
                        atom.Member.MemberLastChangedDate = dataReader.GetDateTime(12);
                        //Member.MemberFirstName
                        atom.Member.MemberFirstName = dataReader.GetString(13);
                        //Member.MemberLastName
                        atom.Member.MemberLastName = dataReader.GetString(14);
                        //Member.MemberDesc
                        atom.Member.MemberDesc = dataReader.GetString(15);
                        //Member.MemberOrganization
                        atom.Member.MemberOrganization = dataReader.GetString(16);
                        //Member.MemberAddress1
                        atom.Member.MemberAddress1 = dataReader.GetString(17);
                        //Member.MemberAddress2
                        atom.Member.MemberAddress2 = dataReader.GetString(18);
                        //Member.MemberCity
                        atom.Member.MemberCity = dataReader.GetString(19);
                        //Member.MemberState
                        atom.Member.MemberState = dataReader.GetString(20);
                        //Member.MemberCountry
                        atom.Member.MemberCountry = dataReader.GetString(21);
                        //Member.MemberZip
                        atom.Member.MemberZip = dataReader.GetString(22);
                        //Member.MemberPhone
                        atom.Member.MemberPhone = dataReader.GetString(23);
                        //Member.MemberPhone2
                        atom.Member.MemberPhone2 = dataReader.GetString(24);
                        //Member.MemberFax
                        atom.Member.MemberFax = dataReader.GetString(25);
                        //Member.MemberUrl
                        atom.Member.MemberUrl = dataReader.GetString(26);
                        //Member.MemberClassId
                        atom.Member.MemberClassId = dataReader.GetInt32(27);
                        //Member.GeoRegionId
                        atom.Member.GeoRegionId = dataReader.GetInt32(28);
                        //Member.AspNetUserId
                        atom.Member.AspNetUserId = dataReader.GetString(29);

                        //set accounttomember
                        //AccountToMember.PKId
                        atom.PKId = dataReader.GetInt32(30);
                        //AccountToMember.IsDefaultClub
                        atom.IsDefaultClub = dataReader.GetBoolean(31);
                        //AccountToMember.MemberRole
                        atom.MemberRole = dataReader.GetString(32);
                        //AccountToMember.AccountId
                        atom.AccountId = dataReader.GetInt32(33);
                        //AccountToMember.MemberId
                        atom.MemberId = dataReader.GetInt32(34);
                        //not part of db
                        atom.AuthorizationLevel = (int)AccountHelper.AUTHORIZATION_LEVELS.none;
                        atom.MemberDocFullPath  = string.Empty;
                        atom.URIFull            = string.Empty;
                        colClubToMember.Add(atom);
                    }
                }
            }
            else
            {
                //set default objects
                AccountToMember atom = new AccountToMember(true);
                atom.ClubDefault = new Account(true);
                atom.Member      = new Member(true);
                colClubToMember.Add(atom);
            }
            return(colClubToMember);
        }
Ejemplo n.º 13
0
        public async Task <List <AccountToMember> > GetClubByServiceAndMemberAsync(
            ContentURI uri, int serviceId, int memberId)
        {
            List <AccountToMember> clubs = new List <AccountToMember>();

            if (memberId == 0 ||
                serviceId == 0)
            {
                AccountToMember club = new AccountToMember(true);
                //return blank member and service if not a real member or a real service
                club.ClubDefault = new Account(true);
                club.Member      = new Member(true);
                clubs.Add(club);
                return(clubs);
            }
            Helpers.SqlIOAsync sqlIO    = new Helpers.SqlIOAsync(uri);
            SqlParameter[]     colPrams =
            {
                sqlIO.MakeInParam("@MemberId",  SqlDbType.Int, 4, memberId),
                sqlIO.MakeInParam("@ServiceId", SqlDbType.Int, 4, serviceId)
            };
            SqlDataReader dataReader = await sqlIO.RunProcAsync(
                "0GetClubByServiceAndMemberIds", colPrams);

            if (dataReader != null)
            {
                //discrepency in field order between cloud and local db
                Helpers.FileStorageIO.PLATFORM_TYPES ePlatform = uri.URIDataManager.PlatformType;
                using (dataReader)
                {
                    while (await dataReader.ReadAsync())
                    {
                        AccountToMember club = new AccountToMember();
                        club.ClubInUse = new Account();
                        club.Member    = new Member();
                        //order is Account, Member, AccountToMember
                        //set club in use
                        //Account.PKId
                        club.ClubInUse.PKId = dataReader.GetInt32(0);
                        //Account.AccountName
                        club.ClubInUse.AccountName = dataReader.GetString(1);
                        //Account.AccountDesc
                        club.ClubInUse.AccountDesc = dataReader.GetString(2);
                        //Account.AccountLongDesc
                        club.ClubInUse.AccountLongDesc = dataReader.GetString(3);
                        //Account.AccountEmail
                        club.ClubInUse.AccountEmail = dataReader.GetString(4);
                        //Account.AccountURI
                        club.ClubInUse.AccountURI = dataReader.GetString(5);
                        //Account.AccountClassId
                        club.ClubInUse.AccountClassId = dataReader.GetInt32(6);
                        //Account.GeoRegionId
                        club.ClubInUse.GeoRegionId = dataReader.GetInt32(7);
                        //not in db
                        club.ClubInUse.ClubDocFullPath = string.Empty;
                        club.ClubInUse.PrivateAuthorizationLevel
                            = AccountHelper.AUTHORIZATION_LEVELS.none;
                        club.ClubInUse.NetCost   = 0;
                        club.ClubInUse.TotalCost = 0;
                        club.ClubInUse.URIFull   = string.Empty;

                        //set member
                        club.Member.PKId = dataReader.GetInt32(8);
                        if (ePlatform == Helpers.FileStorageIO.PLATFORM_TYPES.azure)
                        {
                            //Member.MemberEmail
                            club.Member.MemberEmail = dataReader.GetString(9);
                            //Member.UserName
                            club.Member.UserName = dataReader.GetString(10);
                        }
                        else
                        {
                            //Member.UserName
                            club.Member.UserName = dataReader.GetString(9);
                            //Member.MemberEmail
                            club.Member.MemberEmail = dataReader.GetString(10);
                        }
                        club.Member.MemberJoinedDate      = dataReader.GetDateTime(11);
                        club.Member.MemberLastChangedDate = dataReader.GetDateTime(12);
                        club.Member.MemberFirstName       = dataReader.GetString(13);
                        club.Member.MemberLastName        = dataReader.GetString(14);
                        club.Member.MemberDesc            = dataReader.GetString(15);
                        club.Member.MemberOrganization    = dataReader.GetString(16);
                        club.Member.MemberAddress1        = dataReader.GetString(17);
                        club.Member.MemberAddress2        = dataReader.GetString(18);
                        club.Member.MemberCity            = dataReader.GetString(19);
                        club.Member.MemberState           = dataReader.GetString(20);
                        club.Member.MemberCountry         = dataReader.GetString(21);
                        club.Member.MemberZip             = dataReader.GetString(22);
                        club.Member.MemberPhone           = dataReader.GetString(23);
                        club.Member.MemberPhone2          = dataReader.GetString(24);
                        club.Member.MemberFax             = dataReader.GetString(25);
                        club.Member.MemberUrl             = dataReader.GetString(26);
                        club.Member.MemberClassId         = dataReader.GetInt32(27);
                        club.Member.GeoRegionId           = dataReader.GetInt32(28);
                        club.Member.AspNetUserId          = dataReader.GetString(29);

                        //set accounttomember
                        //AccountToMember.PKId
                        club.PKId          = dataReader.GetInt32(30);
                        club.IsDefaultClub = dataReader.GetBoolean(31);
                        club.MemberRole    = dataReader.GetString(32);
                        club.AccountId     = dataReader.GetInt32(33);
                        club.MemberId      = dataReader.GetInt32(34);
                        //not part of db
                        club.AuthorizationLevel = (int)AccountHelper.AUTHORIZATION_LEVELS.none;
                        club.MemberDocFullPath  = string.Empty;
                        club.URIFull            = string.Empty;
                        //the authorization level comes from this join
                        AccountToService service = new AccountToService();
                        service.PKId               = dataReader.GetInt32(35);
                        service.Name               = dataReader.GetString(36);
                        service.Amount1            = dataReader.GetInt32(37);
                        service.Status             = dataReader.GetString(38);
                        service.LastChangedDate    = dataReader.GetDateTime(39);
                        service.AuthorizationLevel = dataReader.GetInt16(40);
                        service.StartDate          = dataReader.GetDateTime(41);
                        service.EndDate            = dataReader.GetDateTime(42);
                        service.LastChangedDate    = dataReader.GetDateTime(43);
                        service.IsOwner            = dataReader.GetBoolean(44);
                        service.AccountId          = dataReader.GetInt32(45);
                        service.ServiceId          = dataReader.GetInt32(46);
                        //this is used to set ClubInUseAuthorizationLevel
                        club.ClubInUse.PrivateAuthorizationLevel
                            = AccountHelper.GetAuthorizationLevel(service.AuthorizationLevel);
                        clubs.Add(club);
                    }
                }
            }
            else
            {
                //set default objects
                AccountToMember club = new AccountToMember(true);
                //return blank member and service if not a real member or a real service
                club.ClubInUse = new Account(true);
                club.Member    = new Member(true);
                clubs.Add(club);
            }
            sqlIO.Dispose();
            return(clubs);
        }
Ejemplo n.º 14
0
        public static bool CanDeleteNode(string currentNode, string okNode,
                                         DataHelpers.SERVER_ACTION_TYPES serveraction, AccountToMember member)
        {
            bool bCanDelete = false;

            if (member != null)
            {
                if (member.AccountId == 0)
                {
                    //anonymous user can edit, but not delete nodes
                    //only owner can delete content
                    return(false);
                }
            }
            else
            {
                return(false);
            }
            bCanDelete = (currentNode == okNode) ? false : true;
            if (serveraction != DataHelpers.SERVER_ACTION_TYPES.edit)
            {
                bCanDelete = false;
            }
            return(bCanDelete);
        }
Ejemplo n.º 15
0
        private bool AddMember(List <ContentURI> addedURIs, List <AccountToMember> addedMs)
        {
            bool   bHasSet         = false;
            string sParentNodeName = string.Empty;
            int    iParentId       = 0;

            foreach (ContentURI addedURI in addedURIs)
            {
                Helpers.GeneralHelpers.GetParentIdAndNodeName(addedURI, out iParentId, out sParentNodeName);
                if (!string.IsNullOrEmpty(addedURI.ErrorMessage))
                {
                    _dtoContentURI.ErrorMessage = DevTreks.Exceptions.DevTreksErrors.MakeStandardErrorMsg(
                        string.Empty, "INSERT_NOPARENT");
                    return(false);
                }
                //2.0.0 adddefault club and selectclub are made use base member groups
                if (addedURI.URINodeName == Accounts.ACCOUNT_TYPES.account.ToString() &&
                    _dtoContentURI.URINodeName == Members.MEMBER_BASE_TYPES.memberbasegroup.ToString())
                {
                    if (_dtoContentURI.URIDataManager.ServerSubActionType
                        == Helpers.GeneralHelpers.SERVER_SUBACTION_TYPES.adddefaults)
                    {
                        //2.0.0 moved here from insertnewclubforloggedinmember from custom memberrepository action
                        int iAccountId = 0;
                        if (_dtoContentURI.URIMember != null)
                        {
                            if (_dtoContentURI.URIMember.Member != null)
                            {
                                if (_dtoContentURI.URIMember.Member.PKId != 0)
                                {
                                    var newAccount = new Account
                                    {
                                        AccountName      = "A. New Club",
                                        AccountEmail     = _dtoContentURI.URIMember.Member.MemberEmail,
                                        AccountURI       = string.Empty,
                                        AccountDesc      = string.Empty,
                                        AccountLongDesc  = string.Empty,
                                        AccountClassId   = _dtoContentURI.URIMember.Member.MemberClassId,
                                        GeoRegionId      = _dtoContentURI.URIMember.Member.GeoRegionId,
                                        GeoRegion        = null,
                                        AccountClass     = null,
                                        AccountToAddIn   = null,
                                        AccountToAudit   = null,
                                        AccountToCredit  = null,
                                        AccountToLocal   = null,
                                        AccountToMember  = null,
                                        AccountToNetwork = null,
                                        AccountToPayment = null,
                                        AccountToService = null
                                    };
                                    //join table (each member can join one or more accounts (clubs))
                                    var newAccountToMember = new AccountToMember
                                    {
                                        MemberId = _dtoContentURI.URIMember.Member.PKId,
                                        //each member is the coordinator of their own club
                                        MemberRole = AppHelpers.Members.MEMBER_ROLE_TYPES.coordinator.ToString(),
                                        //next step after insertion switches the default club to this club
                                        IsDefaultClub = false,
                                        ClubDefault   = null,
                                        Member        = null
                                    };
                                    try
                                    {
                                        _dataContext.Entry(newAccount).State = EntityState.Added;
                                        _dataContext.SaveChanges();
                                        newAccountToMember.AccountId = newAccount.PKId;
                                        _dataContext.Entry(newAccountToMember).State = EntityState.Added;
                                        _dataContext.SaveChanges();
                                        iAccountId = newAccount.PKId;
                                        //2.0.0 deprecated because update default club is manual
                                        //also disrupts regular urimember use (i.e. insert audittrail)
                                        //newAccountToMember.Member = new Member(_dtoContentURI.URIMember.Member);
                                        //_dtoContentURI.URIMember = newAccountToMember;
                                    }
                                    catch
                                    {
                                        throw;
                                    }
                                }
                            }
                        }
                        if (iAccountId != 0)
                        {
                            bHasSet = true;
                            //they must now do this by hand, but the new club is at the top of the displayed list
                            ////set their default club to the new club so that it can be edited
                            //IMemberRepositoryEF memberRepository = new MemberR(_dtoContentURI);
                            //bool bHasUpdate = await _repository.UpdateDefaultClubAsync(
                            //    _dtoContentURI, Members.ISDEFAULTCLUB, iAccountId);
                        }
                    }
                }
                else if (addedURI.URINodeName == Members.MEMBER_BASE_TYPES.memberbase.ToString() &&
                         _dtoContentURI.URINodeName == Members.MEMBER_TYPES.memberaccountgroup.ToString())
                {
                    //this is the select new member pattern
                    var newAccountToMember = new AccountToMember
                    {
                        MemberRole    = Members.MEMBER_ROLE_TYPES.contributor.ToString(),
                        IsDefaultClub = false,
                        AccountId     = _dtoContentURI.URIId,
                        ClubDefault   = null,
                        MemberId      = addedURI.URIId,
                        Member        = null
                    };
                    _dataContext.AccountToMember.Add(newAccountToMember);
                    _dataContext.Entry(newAccountToMember).State = EntityState.Added;
                    addedMs.Add(newAccountToMember);
                    bHasSet = true;
                }
            }
            return(bHasSet);
        }
Ejemplo n.º 16
0
        public static void FillInClubCreditFormData(Microsoft.AspNetCore.Http.HttpContext context,
                                                    AccountToMember loggedInMember)
        {
            if (loggedInMember != null)
            {
                if (loggedInMember.ClubDefault == null)
                {
                    //retrieve the account id and build a new club
                    loggedInMember.ClubDefault = new Account();
                }
                if (loggedInMember.ClubDefault.AccountToCredit == null)
                {
                    loggedInMember.ClubDefault.AccountToCredit = new List <AccountToCredit>();
                    loggedInMember.ClubDefault.AccountToCredit.Add(new AccountToCredit());
                }
                if (loggedInMember.ClubDefault.AccountToCredit.Count == 0)
                {
                    loggedInMember.ClubDefault.AccountToCredit.Add(new AccountToCredit());
                }
                string sFormValue = context.Request.Form.FirstOrDefault(k => k.Key == "txtCardFullName").Value;
                //string sFormValue = context.Request.Form["txtCardFullName"] ?? AppHelper.GetResource("NONE");
                if (sFormValue.EndsWith("*"))
                {
                    //get rid of the javascript-inserted stars
                    sFormValue = sFormValue.Replace("*", string.Empty);
                }
                loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().CardFullName = sFormValue;
                //sFormValue = context.Request.Form["txtCardFullNumber"] ?? AppHelper.GetResource("NONE");
                if (sFormValue.EndsWith("*"))
                {
                    //get rid of the javascript-inserted stars
                    sFormValue = sFormValue.Replace("*", string.Empty);
                }
                loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().CardFullNumber = sFormValue;
                //sFormValue = context.Request.Form["txtCardShortNumber"] ?? AppHelper.GetResource("NONE");
                if (sFormValue.EndsWith("*"))
                {
                    //get rid of the javascript-inserted stars
                    sFormValue = sFormValue.Replace("*", string.Empty);
                }
                loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().CardShortNumber = sFormValue;
                //sFormValue = context.Request.Form["selectcardtype"] ?? AppHelper.GetResource("NONE");
                if (sFormValue.EndsWith("*"))
                {
                    //get rid of the javascript-inserted stars
                    sFormValue = sFormValue.Replace("*", string.Empty);
                }
                loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().CardType = sFormValue;
                //sFormValue = context.Request.Form["selectcardmonth"] ?? AppHelper.GetResource("NONE");
                if (sFormValue.EndsWith("*"))
                {
                    //get rid of the javascript-inserted stars
                    sFormValue = sFormValue.Replace("*", string.Empty);
                }
                loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().CardEndMonth = sFormValue;
                //sFormValue = context.Request.Form["selectcardyear"]  ?? AppHelper.GetResource("NONE");
                if (sFormValue.EndsWith("*"))
                {
                    //get rid of the javascript-inserted stars
                    sFormValue = sFormValue.Replace("*", string.Empty);
                }
                loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().CardEndYear = sFormValue;

                //why store state? is it a requirement?
                loggedInMember.ClubDefault.AccountToCredit.FirstOrDefault().CardState = AppHelper.GetResource("NONE");//context.Request.Form["selectcardlocation"] ?? AppHelper.GetResource("NONE");
            }
        }