public void UpdatePerson(Person person) { using (var context = new DataContext()) { context.UpdatePerson(person.ConvertToDalPerson()); } }
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()); } }
private void EditCommandExecute(object obj) { Person.BeginEdit(); var ok = EditAction != null && EditAction(Person); if (!ok) { Person.CancelEdit(); return; } Person.EndEdit(); LocalDataStorage.Instance.UpdatePerson(Person); }
private void AddSiblingCommandExecute(object obj) { var sibling = new Person { FirstName = "Sibling of", LastName = Person.FullName }; var ok = EditAction != null && EditAction(sibling); if (!ok) { return; } LocalDataStorage.Instance.AddNewPersonWithRelation(Person, sibling, RelationType.Sibling); }
private void AddChildExecute(object obj) { var child = new Person { FirstName = "Child of", LastName = PersonNameConverter.GetFullNameOfPerson(Person) }; var ok = EditAction != null && EditAction(child); if (!ok) { return; } // Ask the user about the name of the new child and her/his data LocalDataStorage.Instance.AddChild(Person, child); }
private void AddSpouseCommandExecute(object obj) { var spouse = new Person { FirstName = "Spouse of", LastName = Person.FullName, Gender = Person.Gender == Gender.Male ? Gender.Female : Gender.Male }; var ok = EditAction != null && EditAction(spouse); if (!ok) { return; } LocalDataStorage.Instance.AddNewPersonWithRelation(Person, spouse, RelationType.Spouse); }
public void RemoveRelation(Person person, Person person1) { using (var context = new DataContext()) { var relationsToRemove = Relations .Where( r => (r.SourcePerson == person && r.DestinationPerson == person1) || (r.SourcePerson == person1 && r.DestinationPerson == person)) .ToList(); relationsToRemove .ForEach(relation => { Relations.Remove(relation); context.DeleteRelation(relation.ConvertToDalRelation()); }); } }
private void AddParent(Gender gender) { var fullName = Person.FullName; if (Parents.All(p => p.Gender != gender)) { var parent = new Person { FirstName = gender == Gender.Female ? "Mother of" : "Father of", Gender = gender, LastName = fullName }; var ok = EditAction != null && EditAction(parent); if (!ok) { return; } LocalDataStorage.Instance.AddNewPersonWithRelation(Person, parent, RelationType.Parent); } }
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()); } }
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; } } }
public void AddChild(Person person, Person child) { AddNewPersonWithRelation(person, child, RelationType.Child); }