Esempio n. 1
0
        public void UpdateRelationship(KidStepsContext context, Relationship relationship)
        {
            var existingRelationship =
                relationship.SourceUser.Relationships.FirstOrDefault(rel => rel.RelatedUser.Id == relationship.RelatedUser.Id);

            if (existingRelationship == null)
            {
                context.Relationships.Add(relationship);
            }
            else
            {
                existingRelationship.RelatedUserIsSourceUsers = relationship.RelatedUserIsSourceUsers;
            }

            Relationship reciprocalRelationship = new Relationship();

            reciprocalRelationship.RelatedUser = relationship.SourceUser;
            reciprocalRelationship.SourceUser  = relationship.RelatedUser;
            reciprocalRelationship.RelatedUserIsSourceUsers = relationship.RelatedUserIsSourceUsers.Reciprocal();

            var existingReciprocalRelationship =
                relationship.RelatedUser.Relationships.FirstOrDefault(rel => rel.RelatedUser.Id == relationship.SourceUser.Id);

            if (existingReciprocalRelationship == null)
            {
                context.Relationships.Add(reciprocalRelationship);
            }
            else
            {
                existingReciprocalRelationship.RelatedUserIsSourceUsers = reciprocalRelationship.RelatedUserIsSourceUsers;
            }

            context.SaveChanges();
        }
Esempio n. 2
0
        private User Create(KidStepsContext context, PersonName name, Role role, string email)
        {
            User user = new User();

            context.Users.Add(user);
            user.Name = name;

            string emailToSave = email;

            if (string.IsNullOrWhiteSpace(emailToSave))
            {
                emailToSave = Guid.NewGuid().ToString() + "@fake.com";
            }
            else
            {
                user.HasRealEmail = true;
            }
            user.Email = emailToSave;

            string invitationCode = Guid.NewGuid().ToString();

            user.InvitationCode = invitationCode;

            user.RoleFlags = role;

            context.SaveChanges();
            return(user);
        }
Esempio n. 3
0
        void Application_Start(object sender, EventArgs e)
        {
            // Code that runs on application startup

            // set up the data context initializer
            Database.SetInitializer <KidStepsContext>(new Initializer());
            // instantiate the context to get the initializer to run
            KidStepsContext c = new KidStepsContext();
            var             x = c.Families.First();
        }
Esempio n. 4
0
        public User FindByMembership(KidStepsContext dbContext, IPrincipal membershipUser)
        {
            int  id;
            bool hasId = int.TryParse(membershipUser.Identity.Name, out id);
            User user  = null;

            if (hasId)
            {
                user = dbContext.Users.Find(id);
            }
            return(user);
        }
Esempio n. 5
0
        public MembershipCreateStatus Register(KidStepsContext context, User user, string password)
        {
            user.RoleFlags   |= Role.Registered;
            user.HasRealEmail = true;
            context.SaveChanges();

            // Attempt to register the user
            MembershipCreateStatus createStatus;

            Membership.CreateUser(user.Id.ToString(), password, user.Email, null, null, true, null, out createStatus);

            return(createStatus);
        }
Esempio n. 6
0
        //public User Create(KidStepsContext dbContext, string firstName, string lastName, string email, string password, Role role, out MembershipCreateStatus status)
        //{
        //    PersonName name = new PersonName() {First = firstName, Last = lastName};
        //    return Create(dbContext, name, email, password, role, out status);
        //}

        //public User Create(KidStepsContext dbContext, PersonName name, string email, string password, Role role, out MembershipCreateStatus status)
        //{
        //    return
        //        Create(
        //            dbContext,
        //            null,
        //            name,
        //            email,
        //            password,
        //            role,
        //            out status);
        //}

        //public MembershipCreateStatus CreateAccountForUser(
        //    KidStepsContext dbContext,
        //    User user,
        //    string email,
        //    string password)
        //{
        //    MembershipCreateStatus createStatus;
        //    Create(
        //        dbContext,
        //        user,
        //        user.Name,
        //        email,
        //        password,
        //        Role.RegisteredMember,
        //        out createStatus);
        //    return createStatus;
        //}



        public User CreateFamilyMember(KidStepsContext context, PersonName name, string email, string password, out MembershipCreateStatus status)
        {
            // create user
            User user = Create(context, name, Role.MemberOfFamily | Role.Registered | Role.FamilyAdmin, email);

            // register user
            status = Register(context, user, password);

            // create family for user
            FamilyRepository familyRepos = new FamilyRepository();

            familyRepos.Create(context, user);

            return(user);
        }
Esempio n. 7
0
        public User AddFamilyMember(KidStepsContext context, Family family, PersonName name, string email, bool isKid)
        {
            UserRepository userRepos =
                new UserRepository();
            User newUser = userRepos.CreateFamilyMember(context, name, email);

            newUser.Family = family;

            if (isKid)
            {
                newUser.RoleFlags |= Role.Kid;
                family.HasKids     = true;
            }

            context.SaveChanges();

            return(newUser);
        }
Esempio n. 8
0
        public void RemoveRelationship(KidStepsContext context, Relationship relationship)
        {
            var existingRelationship =
                relationship.SourceUser.Relationships.FirstOrDefault(rel => rel.RelatedUser.Id == relationship.RelatedUser.Id);

            if (existingRelationship != null)
            {
                context.Relationships.Remove(existingRelationship);
            }

            var existingReciprocalRelationship =
                relationship.RelatedUser.Relationships.FirstOrDefault(rel => rel.RelatedUser.Id == relationship.SourceUser.Id);

            if (existingReciprocalRelationship != null)
            {
                context.Relationships.Remove(existingReciprocalRelationship);
            }

            context.SaveChanges();
        }
Esempio n. 9
0
        public Family Create(
            KidStepsContext context,
            User admin)
        {
            Family family = new Family();

            context.Families.Add(family);
            family.Name  = admin.Name.Last;
            family.Admin = admin;
            admin.Family = family;

            // add public viewer
            UserRepository userRepos    = new UserRepository();
            User           publicViewer = userRepos.CreatePublicViewer(context);

            publicViewer.Family = family;

            context.SaveChanges();

            return(family);
        }
Esempio n. 10
0
 public User CreatePublicViewer(KidStepsContext context)
 {
     return(Create(context, new PersonName("Public", "Viewer"), Role.PublicViewer, null));
 }
Esempio n. 11
0
 public User CreateFamilyMember(KidStepsContext context, PersonName name, string email)
 {
     return(Create(context, name, Role.MemberOfFamily, email));
 }