public void InsertExternalReferences(InsertResidentRequest request, int residentId) { try { foreach (var externalReference in request.ExternalReferences) { //check if external reference already exists for resident var externalRefExists = _residentContactContext.ExternalSystemIds.Any(x => x.ExternalSystemLookupId == externalReference.ExternalSystemId && x.ExternalIdName == externalReference.ExternalReferenceName && x.ExternalIdValue == externalReference.ExternalReferenceValue && x.ResidentId == residentId); if (!externalRefExists) { var newExternalReference = new ExternalSystemId() { ExternalIdName = externalReference.ExternalReferenceName, ExternalIdValue = externalReference.ExternalReferenceValue, ExternalSystemLookupId = externalReference.ExternalSystemId, ResidentId = residentId }; _residentContactContext.ExternalSystemIds.Add(newExternalReference); } } _residentContactContext.SaveChanges(); } catch (DbUpdateException ex) { throw new ExternalReferenceNotInsertedException(ex.InnerException.Message); } }
private string AddCrmContactIdForResident(Resident person) { var externalSystemLookup = new ExternalSystemLookup { Name = "CRM" }; ResidentContactContext.ExternalSystemLookups.Add(externalSystemLookup); ResidentContactContext.SaveChanges(); var externalLink = new ExternalSystemId { ResidentId = person.Id, ExternalIdName = "ContactId", ExternalSystemLookupId = externalSystemLookup.Id, ExternalIdValue = _fixture.Create <string>() }; ResidentContactContext.ExternalSystemIds.Add(externalLink); ResidentContactContext.SaveChanges(); return(externalLink.ExternalIdValue); }
public static ExternalSystemId AddCrmContactIdForResidentId(ResidentContactContext context, int residentId) { var fixture = new Fixture(); var externalSystemLookup = new ExternalSystemLookup { Name = "CRM" }; context.ExternalSystemLookups.Add(externalSystemLookup); context.SaveChanges(); var externalLink = new ExternalSystemId { ResidentId = residentId, ExternalIdName = "ContactId", ExternalSystemLookupId = externalSystemLookup.Id, ExternalIdValue = fixture.Create <string>() }; context.ExternalSystemIds.Add(externalLink); context.SaveChanges(); return(externalLink); }