public void AddOwnerToList(int listId, Guid owner)
 {
     using (var db = new TRIPS_UserEntities())
     {
         var clo = new ContactList_Owner()
         {
             DateCreated = DateTime.UtcNow,
             ContactList_Id = listId,
             UserId = owner
         };
         db.AddToContactList_Owner(clo);
         db.SaveChanges();
     }
 }
 public int CreateContactList(ConModels.ContactList list)
 {
     using (var db = new TRIPS_UserEntities())
     {
         var cl = new ContactList()
         {
             DateCreated = DateTime.UtcNow,
             LastModified = DateTime.UtcNow,
             IsActive = true,
             IsPrivate = list.IsPrivate,
             Name = list.Name
         };
         db.AddToContactLists(cl);
         db.SaveChanges();
         return cl.Id;
     }
 }
        public Guid CreateUser(ConModels.User profile)
        {
            // the recovery email is required.
            if (string.IsNullOrWhiteSpace(profile.RecoveryEmail))
            {
                throw new Exception("Recovery Email is required.");
            }

            // unique user name is required. Hint: use RecoveryEmail.
            if (string.IsNullOrWhiteSpace(profile.UserName))
            {
                throw new Exception("UserName is required.");
            }

            // GUID must be, ummm, unique
            if (profile.Id.Equals(Guid.Empty))
            {
                profile.Id = Guid.NewGuid();
            }

            // use providers to create a user
            var password = "******";
            MembershipCreateStatus membershipStatus;
            Membership.CreateUser(profile.UserName, password, profile.RecoveryEmail,
                null, null, true, profile.Id, out membershipStatus);
            if (membershipStatus != MembershipCreateStatus.Success)
            {

                throw new Exception("Membership Creation failed: " + membershipStatus.ToString());
            }

            if (!Membership.ValidateUser(profile.UserName, password))
            {
                Logger.Warn("Cannot validate user " + profile.UserName);
            }

            // save extra properties
            using (var db = new TRIPS_UserEntities())
            {
                // get the aspnet_User that was just created
                var user = db.aspnet_Users.Single(u => u.UserName == profile.UserName);
                SavePropertyValues(db, user, profile);
                db.SaveChanges();
            }

            // give the new user roles
            string[] roles = { "Contact Manager", "Contact", "Viewer", "SponsorRoleManager" };
            Roles.AddUserToRoles(profile.UserName, roles);

            // return ID of new user
            return profile.Id;
        }
        public void UpdateUser(ConModels.User profile)
        {
            using (var db = new TRIPS_UserEntities())
            {
                var member = db.aspnet_Membership.Single(m => m.UserId == profile.Id);
                member.Email = profile.RecoveryEmail;
                member.LoweredEmail = profile.RecoveryEmail.ToLower();

                // get the aspnet_User by ID
                var user = db.aspnet_Users.Single(u => u.UserId == profile.Id);

                // nothing in the aspnet_User can be updated

                // save extended properties
                SavePropertyValues(db, user, profile);
                db.SaveChanges();
            }
        }
        public void DeleteUser(Guid id)
        {
            using (var db = new TRIPS_UserEntities())
            {
                // get the aspnet_User that was just created
                var user = db.aspnet_Users.Single(u => u.UserId == id);

                // remove the property values for this user
                foreach (var ppv in db.ProfilePropertyValues.Where(p => p.UserID == id))
                {
                    db.ProfilePropertyValues.DeleteObject(ppv);
                }

                db.SaveChanges();

                Membership.DeleteUser(user.UserName, true);
            }
        }