コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }