private void AssignHouseholdMember(era_evacuationfile file, era_householdmember member) { if (member._era_registrant_value != null) { var registrant = essContext.contacts.Where(c => c.contactid == member._era_registrant_value).SingleOrDefault(); if (registrant == null) { throw new ArgumentException($"Household member has registrant id {member._era_registrant_value} which was not found"); } essContext.AddLink(registrant, nameof(contact.era_contact_era_householdmember_Registrantid), member); } essContext.AddLink(file, nameof(era_evacuationfile.era_era_evacuationfile_era_householdmember_EvacuationFileid), member); essContext.SetLink(member, nameof(era_householdmember.era_EvacuationFileid), file); }
private void AssignHouseholdMember(era_needassessment needsAssessment, era_householdmember member) { essContext.AddLink(member, nameof(era_householdmember.era_era_householdmember_era_needassessment), needsAssessment); //essContext.AddLink(needsAssessment, nameof(era_needassessment.era_era_householdmember_era_needassessment), member); }
private void CreateHouseholdMember(era_evacuationfile eraEvacuationFile, era_needassessment eraNeedsAssessment, era_householdmember member) { member.era_householdmemberid = Guid.NewGuid(); var contact = member.era_Registrant; if (contact.contactid.HasValue) { //TODO: figure out a nicer way to handle already tracked primary contact handling var trackedContact = (contact)essContext.EntityTracker.Entities.SingleOrDefault(e => e.Entity is contact c && c.contactid == contact.contactid).Entity; if (trackedContact != null) { contact = trackedContact; } else { essContext.AttachTo(nameof(essContext.contacts), contact); } } else { contact.contactid = Guid.NewGuid(); contact.era_authenticated = false; contact.era_verified = false; contact.era_registrationdate = DateTimeOffset.UtcNow; essContext.AddTocontacts(contact); } essContext.AddToera_householdmembers(member); essContext.AddLink(member, nameof(era_householdmember.era_era_householdmember_era_needassessment), eraNeedsAssessment); //essContext.AddLink(eraNeedsAssessment, nameof(era_needassessment.era_era_householdmember_era_needassessment), member); essContext.SetLink(member, nameof(era_householdmember.era_EvacuationFileid), eraEvacuationFile); essContext.SetLink(member, nameof(era_householdmember.era_Registrant), contact); essContext.AddLink(contact, nameof(contact.era_contact_era_householdmember_Registrantid), member); }
private era_evacuationfile CreateEvacuationFile(EssContext essContext, contact primaryContact, string fileId, string?paperFileNumber = null) { var file = new era_evacuationfile() { era_evacuationfileid = Guid.NewGuid(), era_name = fileId, era_evacuationfiledate = DateTime.UtcNow, era_securityphrase = EvacuationFileSecurityPhrase, era_paperbasedessfile = paperFileNumber }; essContext.AddToera_evacuationfiles(file); essContext.SetLink(file, nameof(era_evacuationfile.era_TaskId), this.activeTask); var needsAssessment = new era_needassessment { era_needassessmentid = Guid.NewGuid(), era_needsassessmenttype = (int)NeedsAssessmentTypeOptionSet.Preliminary, era_insurancecoverage = (int)InsuranceOptionOptionSet.Unknown }; essContext.AddToera_needassessments(needsAssessment); essContext.SetLink(file, nameof(era_evacuationfile.era_CurrentNeedsAssessmentid), needsAssessment); essContext.AddLink(file, nameof(era_evacuationfile.era_needsassessment_EvacuationFile), needsAssessment); essContext.SetLink(file, nameof(era_evacuationfile.era_Registrant), primaryContact); var primaryMember = new era_householdmember { era_householdmemberid = Guid.NewGuid(), era_dateofbirth = primaryContact.birthdate, era_firstname = primaryContact.firstname, era_lastname = primaryContact.lastname, era_gender = primaryContact.gendercode, era_initials = primaryContact.era_initial, era_isprimaryregistrant = true }; var householdMembers = Enumerable.Range(1, Random.Shared.Next(1, 5)).Select(i => new era_householdmember { era_householdmemberid = Guid.NewGuid(), era_dateofbirth = new Date(2000 + i, i, i), era_firstname = $"{testPrefix}-member-first-{i}", era_lastname = $"{testPrefix}-member-last-{i}", era_gender = Random.Shared.Next(1, 3), era_isprimaryregistrant = false }).Prepend(primaryMember) .Append(new era_householdmember { era_householdmemberid = Guid.NewGuid(), era_dateofbirth = new Date(1998, 1, 2), era_firstname = $"{testPrefix}-member-no-registrant-first", era_lastname = $"{testPrefix}-member-no-registrant-last", era_gender = Random.Shared.Next(1, 3), era_isprimaryregistrant = false }).ToArray(); foreach (var member in householdMembers) { essContext.AddToera_householdmembers(member); essContext.SetLink(member, nameof(era_householdmember.era_EvacuationFileid), file); essContext.AddLink(member, nameof(era_householdmember.era_era_householdmember_era_needassessment), needsAssessment); if (member.era_isprimaryregistrant == true) { essContext.SetLink(member, nameof(era_householdmember.era_Registrant), primaryContact); essContext.SetLink(file, nameof(era_evacuationfile.era_Registrant), primaryContact); } } file.era_era_evacuationfile_era_householdmember_EvacuationFileid = new Collection <era_householdmember>(householdMembers); return(file); }