diff --git a/API/FamilyTreeAPI/Repository/PersonRepository.cs b/API/FamilyTreeAPI/Repository/PersonRepository.cs index 57d9b4b..4583522 100644 --- a/API/FamilyTreeAPI/Repository/PersonRepository.cs +++ b/API/FamilyTreeAPI/Repository/PersonRepository.cs @@ -560,6 +560,14 @@ public partial class PersonRepository : IPerson _context.Persons.Add(model); var successid = await _context.SaveChangesAsync(); result = model.Id; + if (item.RelationShips != null) + { + for (int m = 0; m < item.RelationShips.Count; m++) + { + item.RelationShips[m].PersonId = result; + } + } + if (!string.IsNullOrEmpty(container.FileName)) { diff --git a/UI/src/app/person/person.edit.ts b/UI/src/app/person/person.edit.ts index 17d1ac5..ec9d4f2 100644 --- a/UI/src/app/person/person.edit.ts +++ b/UI/src/app/person/person.edit.ts @@ -423,12 +423,13 @@ assignValue(item:Person): void { relatePersonId: vitem.relatePersonId }; rlist.push(item); - console.log("get partner for save delete list ", vitem); + //console.log("get partner for save delete list ", vitem); } console.log("get partner for save before loop this.partners ", i); - for (i = 0; i < this.partners().length; i++) + const partnerl = this.partners(); + for (let k = 0; k < partnerl.length; k++) { - vitem = this.partners()[i]; + vitem = partnerl[k]; if (vitem.state == mState.New || vitem.state == mState.Modified) { item = { @@ -483,12 +484,12 @@ assignValue(item:Person): void { { container.formData = await Utils.toBase64(this.profileFile); container.fileName = this.profileFile.name; - console.log('image as base64 ', container); + //console.log('image as base64 ', container); } container.person.relationShips = this.getPartnerForSave(); - this.subscription.add ( - this.personService.savePerson(container).subscribe({ - next: x => { + const savePerson$ = this.personService.savePerson(container); + this.subscription.add (savePerson$.subscribe({ + next: x => { if (x.statusCode >= 1) { item.id = x.data; @@ -505,7 +506,7 @@ assignValue(item:Person): void { } else { - this.messageService.add({severity:'error', summary: 'Error', detail: x.message }); + this.messageService.add({severity:'error', summary: 'Error', detail: x.message }); } }, error: e => { @@ -575,12 +576,13 @@ addPartner(): void { pfirstName: sfamily.firstName, plastName: sfamily.lastName, sex: sfamily.sex, - }; - const fm = this.partners(); - fm.push(item); - this.partners.set(fm); - this.subChanged$.next(false); - console.log("after put in partners list", this.partners()); + }; + const fm = this.partners(); + fm.push(item); + this.partners.set(fm); + this.subChanged$.next(false); + console.log("after put in partners list", this.partners()); + this.cdr.markForCheck(); }); }