public bool createUser(user user, membership member, address address)
        {
            try
            {
                string key = generateEmailConfirmationKey();
                using (conferenceadminContext context = new conferenceadminContext())
                {
                    //code for password encryption

                    var encrpPass = Security.GetSHA1HashData(member.password);
                    member.password = encrpPass;

                    //end password encryption
                    member.deleted = false;
                    member.emailConfirmation = false;
                    member.deleted = false;
                    member.confirmationKey = key;
                    context.memberships.Add(member);
                    context.SaveChanges();
                    context.addresses.Add(address);
                    context.SaveChanges();

                    user.addressID = address.addressID;
                    user.membershipID = member.membershipID;
                    user.acceptanceStatus = "Pending";
                    user.deleted = false;
                    user.hasApplied = false;
                    user.registrationStatus = "Pending";
                    user.evaluatorStatus = user.evaluatorStatus;

                    context.users.Add(user);
                    context.SaveChanges();

                    if (user.userTypeID == 1)
                    {
                        minor minor = new minor();
                        minor.authorizationStatus = false;
                        minor.deleted = false;
                        minor.userID = user.userID;
                        context.minors.Add(minor);
                        context.SaveChanges();

                    }
                    else if (user.userTypeID == 7)
                    {
                        sponsor2 sponsor = new sponsor2();

                        sponsor.deleted = false;
                        sponsor.userID = user.userID;
                        sponsor.active = false;
                        sponsor.sponsorType = 5;
                        sponsor.byAdmin = false;
                        sponsor.active = false;
                        sponsor.totalAmount = 0;

                        payment payment2 = new payment();
                        payment2.paymentTypeID = 1;
                        payment2.deleted = false;
                        payment2.creationDate = DateTime.Now;
                        context.payments.Add(payment2);

                        context.SaveChanges();
                        sponsor.paymentID = payment2.paymentID;
                        context.sponsor2.Add(sponsor);
                        context.SaveChanges();

                    }
                    else if (user.userTypeID == 6)
                    {
                        companion companion = new companion();
                        companion.deleted = false;
                        companion.userID = user.userID;
                        companion.companionKey = "Companion "+ user.userID + generateEmailConfirmationKey().Substring(0, 9);
                        context.companions.Add(companion);
                        context.SaveChanges();

                    }

                    try { sendEmailConfirmation(member.email, member.confirmationKey); }

                    catch (Exception ex)
                    {
                        Console.Write("SignUpManager.NewConfirmationEmail error " + ex);
                        return false;
                    }

                    return true;

                }

            }
            catch (Exception ex)
            {
                Console.Write("SignUpManager.creatingUser error " + ex);
                return false;
            }
        }
        /* [Randy] Bind companion with minor */
        public string selectCompanion(UserInfo user, companion companion)
        {
            try
            {
                using (conferenceadminContext context = new conferenceadminContext())
                {
                    companion = context.companions.Where(c => c.companionKey == companion.companionKey).FirstOrDefault();
                    minor minor = context.minors.Where(m => m.userID == user.userID).FirstOrDefault();

                    if (companion != null){
                        companionminor companionminor = new companionminor
                        {
                            companionID = companion.companionID,
                            minorID = minor.minorsID,
                            deleted = false
                        };
                        context.companionminors.Add(companionminor);
                    }

                    var status = context.users.Where(u => u.userID == companion.userID).FirstOrDefault().registrationStatus;

                    if(status == "Accepted")
                        context.SaveChanges();

                    return status;
                }
            }
            catch (Exception ex)
            {
                Console.Write("ProfileAuthorizationManager.selectCompanion error " + ex);
                return null;
            }
        }