Ejemplo n.º 1
0
        /// <summary>
        /// Creates a person dependent
        /// </summary>
        /// <param name="newPerson">The person to create</param>
        /// <param name="emails">The email addresses</param>
        /// <returns></returns>
        private async Task <PersonDependent> CreatePersonDependentAsync(NewPersonDependent newPerson, List <EmailAddress> emails)
        {
            var countriesOfCitizenship = GetCitizenshipCountriesById(0, newPerson.CountriesOfCitizenship);

            var dependent = new PersonDependent
            {
                PersonId                    = newPerson.PersonId,
                DependentTypeId             = newPerson.DependentTypeId,
                FirstName                   = newPerson.FirstName,
                LastName                    = newPerson.LastName,
                NameSuffix                  = newPerson.NameSuffix,
                PassportName                = newPerson.PassportName,
                PreferredName               = newPerson.PreferredName,
                GenderId                    = newPerson.GenderId,
                DateOfBirth                 = newPerson.DateOfBirth,
                PlaceOfBirthId              = newPerson.PlaceOfBirthId,
                PlaceOfResidenceId          = newPerson.PlaceOfResidenceId,
                BirthCountryReasonId        = newPerson.BirthCountryReasonId,
                EmailAddresses              = emails,
                CountriesOfCitizenship      = countriesOfCitizenship,
                IsTravellingWithParticipant = newPerson.IsTravellingWithParticipant
            };

            newPerson.Audit.SetHistory(dependent);
            this.Context.PersonDependents.Add(dependent);
            this.logger.Trace("Creating new person dependent {0}.", newPerson);

            return(dependent);
        }
Ejemplo n.º 2
0
 private void SetDependentEmails(List <EmailAddress> emails, PersonDependent dependent)
 {
     Contract.Requires(emails != null, "The country ids must not be null.");
     Contract.Requires(dependent != null, "The dependent entity must not be null.");
     dependent.EmailAddresses.Clear();
     emails.ForEach(x =>
     {
         dependent.EmailAddresses.Add(x);
     });
 }
        public void TestGetDS2019FileName()
        {
            var instance = new PersonDependent
            {
                DependentId = Int32.MaxValue,
                SevisId     = "N123456789"
            };

            Assert.AreEqual(string.Format(PersonDependent.DS2019_FILE_NAME_FORMAT_STRING, instance.DependentId, instance.SevisId), instance.GetDS2019FileName());
        }
Ejemplo n.º 4
0
        public bool Insert(PersonDependent persondependent)
        {
            int autonumber = 0;
            PersonDependentDAC persondependentComponent = new PersonDependentDAC();
            bool endedSuccessfuly = persondependentComponent.InsertNewPersonDependent(ref autonumber, persondependent.PersonId, persondependent.DependentName, persondependent.Gender, persondependent.Age, persondependent.DateOfBirth, persondependent.Relation, persondependent.DateModified);

            if (endedSuccessfuly)
            {
                persondependent.PersonDependentId = autonumber;
            }
            return(endedSuccessfuly);
        }
Ejemplo n.º 5
0
 private void DoDelete(PersonDependent dependentToDelete)
 {
     if (dependentToDelete != null)
     {
         var email = dependentToDelete.EmailAddresses.FirstOrDefault();
         if (email != null)
         {
             Context.EmailAddresses.Remove(email);
         }
         Context.PersonDependents.Remove(dependentToDelete);
     }
 }
Ejemplo n.º 6
0
        public void TestCreateGetRelatedPersonByDependentFamilyMemberQuery_CheckProperties()
        {
            var spousePersonType = new DependentType
            {
                DependentTypeId = DependentType.Spouse.Id
            };
            var gender = new Gender
            {
                GenderId   = Gender.Female.Id,
                GenderName = Gender.Female.Value
            };
            var person = new Person
            {
                PersonId = 10,
                GenderId = gender.GenderId,
                Gender   = gender
            };

            var dependent = new PersonDependent
            {
                DependentTypeId = spousePersonType.DependentTypeId,
                DependentId     = 2,
                PersonId        = person.PersonId,
                FirstName       = "firstName",
                LastName        = "lastName",
                NameSuffix      = "III",
                GenderId        = gender.GenderId,
                Person          = person
            };

            var status = new ParticipantStatus
            {
                ParticipantStatusId = 1,
                Status = "status"
            };
            var participant = new Participant
            {
                Status = status,
                Person = person,
            };

            context.ParticipantStatuses.Add(status);
            person.Participations.Add(participant);
            person.Family.Add(dependent);
            context.People.Add(person);
            context.PersonDependents.Add(dependent);
            context.DependentTypes.Add(spousePersonType);

            var result = PersonQueries.CreateGetRelatedPersonByDependentFamilyMemberQuery(context, dependent.DependentId).FirstOrDefault();

            Assert.IsNotNull(result);
            Assert.AreEqual(person.PersonId, result.PersonId);
        }
        private async Task <int?> GetParticipantIdAsync(PersonDependent personDependent)
        {
            int?participantId = null;
            var personId      = personDependent.PersonId;
            var person        = await Context.People.FindAsync(personId);

            if (person != null)
            {
                participantId = await GetParticipantIdAsync(person);
            }
            return(participantId);
        }
        private int?GetParticipantId(PersonDependent personDependent)
        {
            int?participantId = null;
            var personId      = personDependent.PersonId;
            var person        = Context.People.Find(personId);

            if (person != null)
            {
                participantId = GetParticipantId(person);
            }
            return(participantId);
        }
Ejemplo n.º 9
0
        public List <PersonDependent> GetAll()
        {
            PersonDependentDAC     _personDependentComponent = new PersonDependentDAC();
            IDataReader            reader = _personDependentComponent.GetAllPersonDependent().CreateDataReader();
            List <PersonDependent> _personDependentList = new List <PersonDependent>();

            while (reader.Read())
            {
                if (_personDependentList == null)
                {
                    _personDependentList = new List <PersonDependent>();
                }
                PersonDependent _personDependent = new PersonDependent();
                if (reader["PersonDependentId"] != DBNull.Value)
                {
                    _personDependent.PersonDependentId = Convert.ToInt32(reader["PersonDependentId"]);
                }
                if (reader["PersonId"] != DBNull.Value)
                {
                    _personDependent.PersonId = Convert.ToInt32(reader["PersonId"]);
                }
                if (reader["DependentName"] != DBNull.Value)
                {
                    _personDependent.DependentName = Convert.ToString(reader["DependentName"]);
                }
                if (reader["Gender"] != DBNull.Value)
                {
                    _personDependent.Gender = Convert.ToString(reader["Gender"]);
                }
                if (reader["Age"] != DBNull.Value)
                {
                    _personDependent.Age = Convert.ToInt32(reader["Age"]);
                }
                if (reader["DateOfBirth"] != DBNull.Value)
                {
                    _personDependent.DateOfBirth = Convert.ToDateTime(reader["DateOfBirth"]);
                }
                if (reader["Relation"] != DBNull.Value)
                {
                    _personDependent.Relation = Convert.ToString(reader["Relation"]);
                }
                if (reader["DateModified"] != DBNull.Value)
                {
                    _personDependent.DateModified = Convert.ToDateTime(reader["DateModified"]);
                }
                _personDependent.NewRecord = false;
                _personDependentList.Add(_personDependent);
            }
            reader.Close();
            return(_personDependentList);
        }
Ejemplo n.º 10
0
        public PersonDependent GetByID(int _personDependentId)
        {
            PersonDependentDAC _personDependentComponent = new PersonDependentDAC();
            IDataReader        reader           = _personDependentComponent.GetByIDPersonDependent(_personDependentId);
            PersonDependent    _personDependent = null;

            while (reader.Read())
            {
                _personDependent = new PersonDependent();
                if (reader["PersonDependentId"] != DBNull.Value)
                {
                    _personDependent.PersonDependentId = Convert.ToInt32(reader["PersonDependentId"]);
                }
                if (reader["PersonId"] != DBNull.Value)
                {
                    _personDependent.PersonId = Convert.ToInt32(reader["PersonId"]);
                }
                if (reader["DependentName"] != DBNull.Value)
                {
                    _personDependent.DependentName = Convert.ToString(reader["DependentName"]);
                }
                if (reader["Gender"] != DBNull.Value)
                {
                    _personDependent.Gender = Convert.ToString(reader["Gender"]);
                }
                if (reader["Age"] != DBNull.Value)
                {
                    _personDependent.Age = Convert.ToInt32(reader["Age"]);
                }
                if (reader["DateOfBirth"] != DBNull.Value)
                {
                    _personDependent.DateOfBirth = Convert.ToDateTime(reader["DateOfBirth"]);
                }
                if (reader["Relation"] != DBNull.Value)
                {
                    _personDependent.Relation = Convert.ToString(reader["Relation"]);
                }
                if (reader["DateModified"] != DBNull.Value)
                {
                    _personDependent.DateModified = Convert.ToDateTime(reader["DateModified"]);
                }
                _personDependent.NewRecord = false;
            }
            reader.Close();
            return(_personDependent);
        }
Ejemplo n.º 11
0
 private void DoDependentUpdate(UpdatedPersonDependent updateDependent, PersonDependent dependent, List <EmailAddress> emails)
 {
     dependent.DependentTypeId             = updateDependent.DependentTypeId;
     dependent.FirstName                   = updateDependent.FirstName;
     dependent.LastName                    = updateDependent.LastName;
     dependent.NameSuffix                  = updateDependent.NameSuffix;
     dependent.PassportName                = updateDependent.PassportName;
     dependent.PreferredName               = updateDependent.PreferredName;
     dependent.GenderId                    = updateDependent.GenderId;
     dependent.DateOfBirth                 = updateDependent.DateOfBirth;
     dependent.PlaceOfBirthId              = updateDependent.PlaceOfBirthId;
     dependent.PlaceOfResidenceId          = updateDependent.PlaceOfResidenceId;
     dependent.BirthCountryReasonId        = updateDependent.BirthCountryReasonId;
     dependent.IsTravellingWithParticipant = updateDependent.IsTravellingWithParticipant;
     dependent.IsDeleted                   = updateDependent.IsDeleted;
     updateDependent.Audit.SetHistory(dependent);
     SetDependentCountriesOfCitizenship(updateDependent.CountriesOfCitizenship, dependent);
     SetDependentEmails(emails, dependent);
 }
Ejemplo n.º 12
0
        public void TestCreateGetRelatedPersonByDependentFamilyMemberQuery_DepdendentDoesNotHaveFamily()
        {
            var spousePersonType = new DependentType
            {
                DependentTypeId = DependentType.Spouse.Id
            };
            var dependent = new PersonDependent
            {
                DependentId     = 10,
                DependentTypeId = spousePersonType.DependentTypeId,
                DependentType   = spousePersonType
            };

            context.PersonDependents.Add(dependent);
            context.DependentTypes.Add(spousePersonType);

            var result = PersonQueries.CreateGetRelatedPersonByDependentFamilyMemberQuery(context, dependent.DependentId).FirstOrDefault();

            Assert.IsNull(result);
        }
Ejemplo n.º 13
0
        public async Task TestProcessTransactionLog_TransactionLogHasNewParticipantAndNewDependent()
        {
            var               expectedParticipantSevisId = "N0000158857";
            var               expectedDependentSevisId   = "N0000158274";
            var               transactionXml             = ECA.Business.Test.Properties.Resources.TransactionLogWithNewParticipantAndNewDependent;
            var               batchXml          = ECA.Business.Test.Properties.Resources.NewParticipantWithNewDependentBatchXml;
            var               user              = new User(1);
            var               yesterday         = DateTimeOffset.UtcNow.AddDays(-1.0);
            var               otherUser         = new User(user.Id + 1);
            var               batchId           = "----kynEn47azQ";
            Participant       participant       = null;
            ParticipantPerson participantPerson = null;
            PersonDependent   personDependent   = null;

            Data.Person            person  = null;
            SevisBatchProcessing   batch   = null;
            ExchangeVisitorHistory history = null;
            var personId      = 63280;
            var participantId = 59079;

            context.SetupActions.Add(() =>
            {
                batch = new SevisBatchProcessing
                {
                    BatchId    = batchId,
                    Id         = 1,
                    SendString = batchXml
                };
                participant = new Participant
                {
                    ParticipantId = participantId
                };
                participantPerson = new ParticipantPerson
                {
                    ParticipantId    = participant.ParticipantId,
                    Participant      = participant,
                    SevisBatchResult = "sevis batch result",
                };
                participantPerson.History.CreatedBy = otherUser.Id;
                participantPerson.History.CreatedOn = yesterday;
                participantPerson.History.RevisedBy = otherUser.Id;
                participantPerson.History.RevisedOn = yesterday;

                participant.ParticipantPerson = participantPerson;
                person = new Data.Person
                {
                    PersonId = personId
                };
                participant.Person   = person;
                participant.PersonId = person.PersonId;

                personDependent = new PersonDependent
                {
                    DependentId = 6,
                    Person      = person,
                    PersonId    = person.PersonId
                };
                person.Family.Add(personDependent);
                history = new ExchangeVisitorHistory
                {
                    ParticipantId = participantId
                };
                context.ExchangeVisitorHistories.Add(history);
                context.PersonDependents.Add(personDependent);
                context.Participants.Add(participant);
                context.ParticipantPersons.Add(participantPerson);
                context.People.Add(person);
                context.SevisBatchProcessings.Add(batch);
            });

            Action tester = () =>
            {
                Assert.AreEqual(expectedParticipantSevisId, participantPerson.SevisId);
                Assert.AreEqual(expectedDependentSevisId, personDependent.SevisId);
            };

            context.Revert();
            service.ProcessTransactionLog(user, batchId, transactionXml, fileProvider.Object);
            tester();

            context.Revert();
            await service.ProcessTransactionLogAsync(user, batchId, transactionXml, fileProvider.Object);

            tester();
        }
Ejemplo n.º 14
0
        public bool Update(PersonDependent persondependent, int old_personDependentId)
        {
            PersonDependentDAC persondependentComponent = new PersonDependentDAC();

            return(persondependentComponent.UpdatePersonDependent(persondependent.PersonId, persondependent.DependentName, persondependent.Gender, persondependent.Age, persondependent.DateOfBirth, persondependent.Relation, persondependent.DateModified, old_personDependentId));
        }
Ejemplo n.º 15
0
 private void SetDependentCountriesOfCitizenship(List <CitizenCountryDTO> countriesOfCitizenship, PersonDependent dependent)
 {
     Contract.Requires(dependent != null, "The dependent entity must not be null.");
     dependent.CountriesOfCitizenship.Clear();
     if (countriesOfCitizenship != null)
     {
         countriesOfCitizenship.ForEach(x =>
         {
             dependent.CountriesOfCitizenship.Add(new PersonDependentCitizenCountry {
                 DependentId = dependent.DependentId, LocationId = x.LocationId, IsPrimary = x.IsPrimary
             });
         });
     }
 }
Ejemplo n.º 16
0
        public void TestCreateGetRelatedPersonByDependentFamilyMemberQuery_DependentDoesNotHaveParticipantFamilyMember()
        {
            var spousePersonType = new DependentType
            {
                DependentTypeId = DependentType.Spouse.Id
            };
            var gender = new Gender
            {
                GenderId   = Gender.Female.Id,
                GenderName = Gender.Female.Value
            };
            var dependent = new PersonDependent
            {
                DependentId     = 1,
                PersonId        = 10,
                DependentTypeId = spousePersonType.DependentTypeId,
                FirstName       = "firstName",
                LastName        = "lastName",
                NameSuffix      = "III",
                GenderId        = gender.GenderId
            };

            var person = new Person
            {
                PersonId   = 1,
                Alias      = "alias",
                FamilyName = "family",
                FirstName  = "firstName",
                GivenName  = "givenName",
                LastName   = "lastName",
                MiddleName = "middleName",
                NamePrefix = "Mr.",
                NameSuffix = "III",
                Patronym   = "patronym",
                Gender     = new Gender
                {
                    GenderId   = Gender.Female.Id,
                    GenderName = Gender.Female.Value
                }
            };

            person.Family.Add(dependent);

            var status = new ParticipantStatus
            {
                ParticipantStatusId = 1,
                Status = "status"
            };
            var participant = new Participant
            {
                Status = status,
                Person = person,
            };

            context.ParticipantStatuses.Add(status);
            person.Participations.Add(participant);
            context.People.Add(person);
            context.PersonDependents.Add(dependent);
            context.Genders.Add(person.Gender);
            context.DependentTypes.Add(spousePersonType);

            var result = PersonQueries.CreateGetRelatedPersonByDependentFamilyMemberQuery(context, dependent.DependentId).FirstOrDefault();

            Assert.IsNull(result);
        }