CanTheyMeet.CanTheyMeet.canTheyMeet C# (CSharp) Method

canTheyMeet() private method

private canTheyMeet ( ) : string
return string
        private string canTheyMeet()
        {
            Person pe1 = (Person)comboboxPerson1.SelectedItem;
            Person pe2 = (Person)comboboxPerson2.SelectedItem;
            switchPerson(pe1, pe2);
            int help = 0;
            string returnValue="";
            if (pe1.Birth.Year != 0)
            {
                help += 1;
            }
            if (pe1.Death.Year != 0)
            {
                help += 2;
            }
            if (pe2.Birth.Year != 0)
            {
                help += 4;
            }
            if (pe2.Death.Year != 0)
            {
                help += 8;
            }
            switch (help)
            {
                case 0:
                case 1:
                case 2:
                case 3:
                case 4:
                case 8:
                case 12:
                {
                    returnValue = "Maybe, can not decide !!!";
                    break;
                }
                case 5:
                {
                    if (Math.Abs(pe1.Birth.Year - pe2.Birth.Year) < lifeLong)
                    {
                        returnValue="Yes, they can meet.";
                    }
                    else returnValue="No, they can not meet;";
                    break;
                }
                case 6:
                {
                    if (Math.Abs(pe1.Death.Year - pe2.Birth.Year) < lifeLong)
                    {
                        returnValue = "Yes, they can meet.";
                    }
                    else returnValue = "No, they can not meet;";
                    break;
                }
                case 7:
                {
                    if (((pe1.Birth.Year-lifeLong) <= pe2.Birth.Year) && (pe2.Birth.Year <= pe1.Death.Year))
                        returnValue="Yes, they can meet.";
                    else returnValue="No, they can not meet;";
                    break;
                }
                case 9:
                {
                    if(pe1.Birth.Year+lifeLong <= pe2.Death.Year)
                        returnValue="Yes, they can meet.";
                    else returnValue="No, they can not meet;";
                    break;
                }
                case 10:
                {
                    if (Math.Abs(pe1.Death.Year - pe2.Death.Year) < lifeLong)
                    {
                        returnValue = "Yes, they can meet.";
                    }
                    else returnValue = "No, they can not meet.";
                    break;
                }
                case 11:
                {
                    if ((pe1.Birth.Year <= pe2.Death.Year) && (pe2.Death.Year <= pe1.Death.Year+lifeLong))
                        returnValue = "Yes, they can meet.";
                    else returnValue = "No, they can not meet.";
                    break;
                }
                case 13:
                {
                    if (((pe2.Birth.Year-lifeLong) <= pe1.Birth.Year) && (pe1.Birth.Year <= pe2.Death.Year))
                        returnValue = "Yes, they can meet.";
                    else returnValue = "No, they can not meet.";
                    break;
                }
                case 14:
                {
                    if ((pe2.Birth.Year <= pe1.Death.Year) && (pe1.Death.Year <= (pe2.Death.Year+lifeLong)))
                        returnValue = "Yes, they can meet.";
                    else returnValue = "No, they can not meet.";
                    break;
                }
                case 15:
                {
                    if (calculateMeet(pe1, pe2))
                    {
                        returnValue = "Yes, they can meet.";
                    }
                    else returnValue = "No, they can not meet.";
                    break;
                }
                default:
                {
                    returnValue = "Something went wrong";
                    break;
                }
               
            }
            return returnValue;
        }