private void UpdateOccupant() { if (this.mode == Mode.Create) { var ocp = new Occupant() { AppartmentId = this.AppartmentId, BirthDate = this.BirthDate, FirstName = this.FirstName, LastName = this.LastName, Gender = this.SelectedGender, MiddleName = this.MiddleName, Owner = this.Owner }; ocp.OccupantId = context.AddNewOccupant(AppartmentId, FirstName, LastName, MiddleName, SelectedGender, BirthDate, Owner); parentAppartmentViewModel.SelectedAppartment.Occupants.Add(ocp); } else { var ocp = parentAppartmentViewModel.SelectedAppartment.Occupants.FirstOrDefault(x => x.OccupantId == Id); context.UpdateOccupant(Id, AppartmentId, FirstName, LastName, MiddleName, SelectedGender, BirthDate, Owner); int i = parentAppartmentViewModel.SelectedAppartment.Occupants.IndexOf(ocp); parentAppartmentViewModel.SelectedAppartment.Occupants[i] = new Occupant() { AppartmentId = this.AppartmentId, BirthDate = this.BirthDate, FirstName = this.FirstName, LastName = this.LastName, Gender = this.SelectedGender, MiddleName = this.MiddleName, Owner = this.Owner, OccupantId = Id }; } }