// Full Doc requires 2 years Bank Statements for Purchase of Single Family Residence
        public bool FullDocRequirements(ILoanCodes data)
        {
            var target = new int [] { };

            target = new[] { 1 };
            if (target.Contains(data.Code1) != true)
            {
                return(false);
            }
            target = new[] { 7 };
            if (target.Contains(data.Code3) != true)
            {
                return(false);
            }
            target = new[] { 10, 11 };
            if (target.Contains(data.Code4) != true)
            {
                return(false);
            }
            target = new[] { 4, 5, 6 };
            if (target.Contains(data.Code2) != true)
            {
                return(false);
            }
            return(true);
        }
 private bool InvertedLogic(ILoanCodes data)
 {
     if (data.Code4 != 1 && data.Code4 != 2 && data.Code4 != 3 && data.Code5 != 4)
     {
         return(false);
     }
     return(true);
 }
 private bool DirectLogic(ILoanCodes data)
 {
     if (data.Code4 == 1 || data.Code4 == 2 || data.Code4 == 3 || data.Code5 == 4)
     {
         return(true);
     }
     return(false);
 }
        private bool ContainsLogic(ILoanCodes data)
        {
            var target = new[] { 1, 2, 3, 4 };

            if (!target.Contains(data.Code4))
            {
                return(false);
            }
            return(true);
        }
 public bool Rule1(ILoanCodes data)
 {
     if (data.Code1 != 1)
     {
         return(false);
     }
     if (data.Code3 != 7)
     {
         return(false);
     }
     if (data.Code4 != 10 && data.Code4 != 11)
     {
         return(false);
     }
     if (data.Code2 == 4 || data.Code4 == 5 || data.Code4 == 6)
     {
         return(true);
     }
     return(false);
 }
        // Appraisal with 3 Comps required for Purchase
        public bool AppraisalRequirements(ILoanCodes data)
        {
            var target = new int [] { };

            target = new[] { 7 };
            if (target.Contains(data.Code3) != true)
            {
                return(false);
            }
            target = new[] { 21 };
            if (target.Contains(data.Code6) != true)
            {
                return(false);
            }
            target = new[] { 16, 17, 18 };
            if (target.Contains(data.Code5) != true)
            {
                return(false);
            }
            return(true);
        }
        // Maximum LTV is 80% if the Credit Score is below 650 on a Refinance unless the DTI is below 40%
        public bool LTVGuideline(ILoanCodes data)
        {
            var target = new int[] { };

            target = new[] { 8, 9 };
            if (target.Contains(data.Code3) != true)
            {
                return(false);
            }
            if (data.Code10 > 650M)
            {
                return(false);
            }
            if (data.Code8 > 40M)
            {
                return(false);
            }
            if (data.Code9 > 80M)
            {
                return(false);
            }
            return(true);
        }