Ejemplo 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();
        }
Ejemplo n.º 2
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;
 }
Ejemplo 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();
        }
Ejemplo n.º 4
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;
        }
Ejemplo n.º 5
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;
        }
Ejemplo n.º 6
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();
        }
Ejemplo 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;
        }
Ejemplo n.º 8
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;
        }
Ejemplo n.º 9
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;
        }
Ejemplo n.º 10
0
 public User CreatePublicViewer(KidStepsContext context)
 {
     return Create(context, new PersonName("Public", "Viewer"), Role.PublicViewer, null);
 }
Ejemplo n.º 11
0
 public User CreateFamilyMember(KidStepsContext context, PersonName name, string email)
 {
     return Create(context, name, Role.MemberOfFamily, email);
 }