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 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();
        }