Example #1
0
        private static List <OrganisationPersonnel> ExtractTabularAnswerOrganisationPersonnel(List <SubmittedApplicationAnswer> answers, Guid organisationId, string questionId, PersonnelType personnelType)
        {
            var submittedAnswersOrganisationPersonnel = answers.Where(answer => answer.QuestionId == questionId).GroupBy(a => a.RowNumber).ToList();
            var organisationPersonnel = new List <OrganisationPersonnel>();

            foreach (var person in submittedAnswersOrganisationPersonnel)
            {
                var orgPersonnel = new OrganisationPersonnel
                {
                    OrganisationId = organisationId,
                    PersonnelType  = personnelType,
                };
                foreach (var record in person)
                {
                    switch (record.ColumnHeading)
                    {
                    case "Name":
                        orgPersonnel.Name = record.Answer;
                        break;

                    case "Date of birth":
                        var dob = Convert.ToDateTime(record.Answer);
                        orgPersonnel.DateOfBirthMonth = dob.Month;
                        orgPersonnel.DateOfBirthYear  = dob.Year;
                        break;
                    }
                }
                organisationPersonnel.Add(orgPersonnel);
            }
            return(organisationPersonnel);
        }
Example #2
0
        private static List <OrganisationPersonnel> ExtractSoleTraderOrganisationPersonnel(List <SubmittedApplicationAnswer> answers, Guid organisationId, string questionId, PersonnelType personnelType)
        {
            var submittedAnswersOrganisationPersonnel = answers.Where(answer => answer.QuestionId == questionId).GroupBy(a => a.RowNumber).ToList();
            var organisationPersonnel = new List <OrganisationPersonnel>();

            var submittedAnswersOrganisationSoleTrader = answers.Where(answer => answer.QuestionId == QuestionIdOrganisationNameSoleTrade);
            var submittedAnswersOrganisationTypeSoleTraderOrPartnership = answers.Where(answer => answer.QuestionId == QuestionIdSoleTraderOrPartnership);

            if (submittedAnswersOrganisationPersonnel.Count > 0 && submittedAnswersOrganisationTypeSoleTraderOrPartnership.Any())
            {
                foreach (var person in submittedAnswersOrganisationPersonnel)
                {
                    var orgPersonnel = new OrganisationPersonnel
                    {
                        OrganisationId = organisationId,
                        PersonnelType  = personnelType,
                        Name           = submittedAnswersOrganisationSoleTrader.FirstOrDefault()?.Answer
                    };
                    foreach (var record in person)
                    {
                        if (record.Answer == null)
                        {
                            continue;
                        }
                        var dobArray = record.Answer.Split(",");
                        if (dobArray.Length != 2)
                        {
                            continue;
                        }
                        orgPersonnel.DateOfBirthMonth = int.Parse(dobArray[0]);
                        orgPersonnel.DateOfBirthYear  = int.Parse(dobArray[1]);
                    }
                    organisationPersonnel.Add(orgPersonnel);
                }
            }
            else if (submittedAnswersOrganisationTypeSoleTraderOrPartnership.Any() &&
                     submittedAnswersOrganisationTypeSoleTraderOrPartnership.FirstOrDefault()?.Answer == SoleTraderType)
            {
                var orgPersonnel = new OrganisationPersonnel
                {
                    OrganisationId = organisationId,
                    PersonnelType  = personnelType,
                    Name           = submittedAnswersOrganisationSoleTrader.FirstOrDefault()?.Answer
                };
                organisationPersonnel.Add(orgPersonnel);
            }
            return(organisationPersonnel);
        }