Example #1
0
        public AgeDifferenceBetweenTwoPersonsTO FindAgeDifferenceBetweenTwoPersons(AgeDifferenceType ageDiffereceType)
        {
            if (_ageDifferenceBetweenTwoPersonsTOList.Count < 1)
            {
                return(new AgeDifferenceBetweenTwoPersonsTO());
            }

            AgeDifferenceBetweenTwoPersonsTO result = _ageDifferenceBetweenTwoPersonsTOList[0];

            switch (ageDiffereceType)
            {
            case AgeDifferenceType.MinorDifference:
                _ageDifferenceBetweenTwoPersonsTOList.ForEach(x =>
                {
                    if (x.ageDifference < result.ageDifference)
                    {
                        result = x;
                    }
                });
                break;

            case AgeDifferenceType.HigherDifference:
                _ageDifferenceBetweenTwoPersonsTOList.ForEach(ageDifference =>
                {
                    if (ageDifference.ageDifference > result.ageDifference)
                    {
                        result = ageDifference;
                    }
                });
                break;
            }

            return(result);
        }
Example #2
0
        private List <AgeDifferenceBetweenTwoPersonsTO> CreateAgeDifferenceList()
        {
            var list = new List <AgeDifferenceBetweenTwoPersonsTO>();

            for (var i = 0; i < _personList.Count - 1; i++)
            {
                for (var j = i + 1; j < _personList.Count; j++)
                {
                    var r = new AgeDifferenceBetweenTwoPersonsTO();

                    bool isMinor = _personList[i].BirthDate < _personList[j].BirthDate;

                    r.person1 = isMinor ? _personList[i] : _personList[j];
                    r.person2 = isMinor ? _personList[j] : _personList[i];

                    r.ageDifference = r.person2.BirthDate - r.person1.BirthDate;
                    list.Add(r);
                }
            }

            return(list);
        }