예제 #1
0
 public void UpdatePerson(Person person)
 {
     using (var context = new DataContext())
     {
         context.UpdatePerson(person.ConvertToDalPerson());
     }
 }
예제 #2
0
 private List <Event> DowloadEvents()
 {
     if (Person == null)
     {
         return(new List <Event>());
     }
     using (var context = new DataContext())
     {
         return(context.GetPersonEvents(Person.ConvertToDalPerson()).Select(e => e.ConvertToModelEvent()).ToList());
     }
 }
예제 #3
0
        public void RemovePerson(Person person)
        {
            using (var context = new DataContext())
            {
                var relationsToRemove = Relations
                                        .Where(r => r.SourcePerson == person || r.DestinationPerson == person)
                                        .ToList();

                relationsToRemove.ForEach(r =>
                {
                    Relations.Remove(r);
                    context.DeleteRelation(r.ConvertToDalRelation());
                });

                if (Persons.FirstOrDefault(p => p == person) != null)
                {
                    Persons.Remove(person);
                }

                context.DeletePerson(person.ConvertToDalPerson());
            }
        }
예제 #4
0
        public void AddNewPersonWithRelation(Person person, Person child, RelationType relationType)
        {
            using (var context = new DataContext())
            {
                if (Persons.FirstOrDefault(p => p == child) == null)
                {
                    Persons.Add(child);
                    var dalPerson = child.ConvertToDalPerson();
                    context.AddPerson(dalPerson);
                    child.Id = dalPerson.Id;
                }

                var personToChild = new Relation
                {
                    SourcePerson      = person,
                    DestinationPerson = child,
                    RelationType      = relationType
                };
                var childToPerson = personToChild.GetReverseRelation();

                if (Relations.FirstOrDefault(r => r == personToChild) == null)
                {
                    Relations.Add(personToChild);
                    var dalRelation = personToChild.ConvertToDalRelation();
                    context.AddRelation(dalRelation);
                    personToChild.RelationId = dalRelation.RelationId;
                }

                if (Relations.FirstOrDefault(r => r == childToPerson) == null)
                {
                    Relations.Add(childToPerson);
                    var dalRelation = childToPerson.ConvertToDalRelation();
                    context.AddRelation(dalRelation);
                    childToPerson.RelationId = dalRelation.RelationId;
                }
            }
        }