public bool IsValid(DeprMethodTypeEnum deprMethod, int percentage) { IbpRuleBase rb = new bpRuleBase(); ErrorCode errorCode; rb.ValidateBusinessUse((short)(deprMethod), (int)percentage, out errorCode); return(errorCode == (short)RuleBase_ErrorCodeEnum.rulebase_Valid); }
public RuleResult IsValid(PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum deprMethod, int deprPct, YrsMosDate estLife, ItcType itcType) { ErrorCode errorCode; IbpRuleBase rb = new bpRuleBase(); rb.ValidateITC((short)propType, pisDate, (short)deprMethod, (short)(estLife.Years * 100 + estLife.Months), (short)itcType, out errorCode); return((RuleResult)errorCode); }
public DeprMethodTypeEnum GetDefaultDeprMethod(PropertyTypeEnum propType, DateTime pisDate) { ErrorCode errorCode; short DeprMethod = -1; IbpRuleBase rb = new bpRuleBase(); rb.GetDefaultDeprMethod((short)propType, pisDate, out DeprMethod, out errorCode); return((DeprMethodTypeEnum)DeprMethod); }
public RuleResult IsValid(PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum deprMethod) { ErrorCode errorCode; bool isShortYr = false; IbpRuleBase rb = new bpRuleBase(); rb.ValidateDeprMethod((short)propType, pisDate, (short)deprMethod, isShortYr, out errorCode); switch ((RuleBase_ErrorCodeEnum)errorCode) { case RuleBase_ErrorCodeEnum.rulebase_ValidateCustomMethodExists: return(RuleResult.Valid); case RuleBase_ErrorCodeEnum.rulebase_Invalid: return(RuleResult.Invalid); case RuleBase_ErrorCodeEnum.rulebase_WarnAfter1986: return(RuleResult.WarnAfter1986); case RuleBase_ErrorCodeEnum.rulebase_WarnNotUnderMACRS: return(RuleResult.WarnNotUnderMACRS); case RuleBase_ErrorCodeEnum.rulebase_WarnNotNormallyUsed: return(RuleResult.WarnNotNormallyUsed); case RuleBase_ErrorCodeEnum.rulebase_InvalModAcrsBeforeAug11986: return(RuleResult.InvalModAcrsBeforeAug11986); case RuleBase_ErrorCodeEnum.rulebase_RuleBaseFailure: return(RuleResult.RuleBaseFailure); case RuleBase_ErrorCodeEnum.rulebase_MethSameAsTax: return(RuleResult.MethSameAsTax); case RuleBase_ErrorCodeEnum.rulebase_MethSameAsTaxMI: return(RuleResult.MethSameAsTaxMI); case RuleBase_ErrorCodeEnum.rulebase_Warn30LeaseholdImprove: return(RuleResult.Warn30LeaseholdImprove); case RuleBase_ErrorCodeEnum.rulebase_WarnOnlyNYLZAllowForNonReal: return(RuleResult.WarnOnlyNYLZAllowForNonReal); case RuleBase_ErrorCodeEnum.rulebase_WarnOnlyNYLZAllowForReal: return(RuleResult.WarnOnlyNYLZAllowForReal); case RuleBase_ErrorCodeEnum.rulebase_WarnOnlyNYLZAllowAfter2006: return(RuleResult.WarnOnlyNYLZAllowAfter2006); case RuleBase_ErrorCodeEnum.rulebase_Valid: return(RuleResult.Valid); } return(RuleResult.RuleBaseFailure); }
public YrsMosDate GetDefaultEstLife(PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum deprMethod, int deprPct) { ErrorCode errorCode; short estLife = -1; IbpRuleBase rb = new bpRuleBase(); rb.GetDefaultEstimatedLife((short)propType, pisDate, (short)deprMethod, (int)deprPct, ref estLife, out errorCode); if (errorCode == (short)RuleBase_ErrorCodeEnum.rulebase_Valid) { return(new YrsMosDate((uint)(estLife / 100), (uint)(estLife % 100))); } return(null); }
public double GetDefaultITCPct(PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum deprMethod, int deprPct, YrsMosDate estLife, ItcType itcType) { ErrorCode errorCode; double percentage = 0.0; IbpRuleBase rb = new bpRuleBase(); rb.GetDefaultITCPercent((short)propType, (pisDate), (short)deprMethod, (short)(estLife.Years * 100 + estLife.Months), (short)itcType, ref percentage, out errorCode); if (errorCode == (short)RuleResult.Valid) { return(percentage); } return(0.0); }
public RuleResult IsValid(BookTypeEnum book, PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum deprMethod, int percentage) { ErrorCode errorCode; bool isShortYr = false; IbpRuleBase rb = new bpRuleBase(); switch (deprMethod) { case DeprMethodTypeEnum.MacrsFormula: case DeprMethodTypeEnum.MacrsTable: case DeprMethodTypeEnum.MACRSIndianReservation: case DeprMethodTypeEnum.DeclBal: case DeprMethodTypeEnum.DeclBalHalfYear: case DeprMethodTypeEnum.DeclBalModHalfYear: case DeprMethodTypeEnum.DeclBalSwitch: case DeprMethodTypeEnum.DeclBalHalfYearSwitch: case DeprMethodTypeEnum.DeclBalModHalfYearSwitch: case DeprMethodTypeEnum.MacrsFormula30: case DeprMethodTypeEnum.MACRSIndianReservation30: // Build list of percentages. List <DeprPct> aList = BuildValidList(propType, pisDate, deprMethod); if (aList != null) { // iterate across all percentages, looking for the one // that matches the one we have. If found, then valid. // if no matches, then invalid. foreach (DeprPct item in aList) { if (item.Percentage == percentage) { return(RuleResult.Valid); } } } break; // Canadian BEGIN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // The percentage must be in the range [1, 100]. case DeprMethodTypeEnum.CdnDeclBal: case DeprMethodTypeEnum.CdnDeclBalHalfYear: case DeprMethodTypeEnum.CdnDeclBalFullMonth: if ((1 <= percentage) && (percentage <= 100)) { return(RuleResult.Valid); } break; // Canadian END ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } return(RuleResult.Invalid); }
public RuleResult IsValid(PropertyTypeEnum propType, DateTime pisDate, DateTime startOfBusinessDate) { ErrorCode errorCode; bool isShortYr = false; IbpRuleBase rb = new bpRuleBase(); rb.ValidatePlaceInService((short)(propType), pisDate, startOfBusinessDate, out errorCode); switch ((RuleBase_ErrorCodeEnum)errorCode) { case RuleBase_ErrorCodeEnum.rulebase_Valid: return(RuleResult.Valid); case RuleBase_ErrorCodeEnum.rulebase_RuleBaseFailure: return(RuleResult.RuleBaseFailure); case RuleBase_ErrorCodeEnum.rulebase_InvalDateValue: return(RuleResult.InvalDateValue); case RuleBase_ErrorCodeEnum.rulebase_LowIncHousingInvalBefore1981: return(RuleResult.LowIncHousingInvalBefore1981); case RuleBase_ErrorCodeEnum.rulebase_ListedPropInvalBeforeJune191984: return(RuleResult.ListedPropInvalBeforeJune191984); case RuleBase_ErrorCodeEnum.rulebase_LowIncHousingInvalAfter1986: return(RuleResult.LowIncHousingInvalAfter1986); case RuleBase_ErrorCodeEnum.rulebase_AutoPropInvalBeforeJune191984: return(RuleResult.AutoPropInvalBeforeJune191984); case RuleBase_ErrorCodeEnum.rulebase_DateInvalBeforeStartBusiness: return(RuleResult.DateInvalBeforeStartBusiness); case RuleBase_ErrorCodeEnum.rulebase_DateInvalBefore1920: return(RuleResult.DateInvalBefore1920); case RuleBase_ErrorCodeEnum.rulebase_DateInvalAfter2999: return(RuleResult.DateInvalAfter2999); case RuleBase_ErrorCodeEnum.rulebase_LtTrucksAndVansPropInvalBefore2003: return(RuleResult.LtTrucksAndVansPropInvalBefore2003); } return(RuleResult.RuleBaseFailure); }
public List <YrsMosDate> BuildValidList(PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum method, int pct) { List <YrsMosDate> estLifeList = new List <YrsMosDate>(); IbpRuleBase rb = new bpRuleBase(); List <int> ei = new List <int>(); rb.BuildEstimatedLifeList((short)propType, pisDate, (short)method, (int)pct, out ei); if (ei == null || ei.Count == 0) { return(null); } for (int posi = 0; posi < ei.Count; posi++) { estLifeList.Add(new YrsMosDate((uint)ei[posi] / 100, (uint)ei[posi] % 100)); } return(estLifeList); }
public RuleResult IsApplicable(PropertyTypeEnum propType, DeprMethodTypeEnum deprMethod) { IbpRuleBase rb = new bpRuleBase(); ErrorCode errorCode; rb.AllowMidQuarter((short)(propType), (short)(deprMethod), true, out errorCode); switch ((RuleBase_ErrorCodeEnum)errorCode) { case RuleBase_ErrorCodeEnum.rulebase_Valid: return(RuleResult.Valid); case RuleBase_ErrorCodeEnum.rulebase_Invalid: return(RuleResult.Invalid); case RuleBase_ErrorCodeEnum.rulebase_RuleBaseFailure: return(RuleResult.RuleBaseFailure); } return(RuleResult.RuleBaseFailure); }
public List <DeprPct> BuildValidList(PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum deprMethod) { List <DeprPct> deprPctList = new List <DeprPct>(); IbpRuleBase rb = new bpRuleBase(); List <int> ei = new List <int>(); rb.BuildDeprPercentList((short)(propType), (pisDate), (short)deprMethod, out ei); if (ei == null || ei.Count == 0) { return(null); } for (int posi = 0; posi < ei.Count; posi++) { deprPctList.Add(new DeprPct(ei[posi])); } return(deprPctList); }
public List <PropertyTypeCode> BuildValidList() { List <PropertyTypeCode> propTypeCodeList = new List <PropertyTypeCode>(); IbpRuleBase rb = new bpRuleBase(); List <int> ei = new List <int>(); rb.BuildPropTypeList(out ei); if (ei == null || ei.Count == 0) { return(null); } for (int posi = 0; posi < ei.Count; posi++) { PropertyType aType = new PropertyType((PropertyTypeEnum)ei[posi]); propTypeCodeList.Add(new PropertyTypeCode(aType)); } return(propTypeCodeList); }
public RuleResult IsValid(BookTypeEnum book, PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum deprMethod, int deprPct, YrsMosDate estLife) { ErrorCode errorCode; IbpRuleBase rb = new bpRuleBase(); rb.ValidateEstimatedLife((short)(propType), pisDate, (short)(deprMethod), (int)deprPct, (short)(estLife.Years * 100 + estLife.Months), out errorCode); switch ((RuleBase_ErrorCodeEnum)errorCode) { case RuleBase_ErrorCodeEnum.rulebase_Valid: return(RuleResult.Valid); case RuleBase_ErrorCodeEnum.rulebase_Invalid: return(RuleResult.Invalid); case RuleBase_ErrorCodeEnum.rulebase_WarnNotUsualRecoveryPd: return(RuleResult.WarnNotUsualRecoveryPd); case RuleBase_ErrorCodeEnum.rulebase_WarnNotUsualRecoveryPeriod: return(RuleResult.WarnNotUsualRecoveryPeriod); case RuleBase_ErrorCodeEnum.rulebase_WarnNotUsualUnlTransProp: return(RuleResult.WarnNotUsualUnlTransProp); case RuleBase_ErrorCodeEnum.rulebase_WarnNotOver20Years: return(RuleResult.WarnNotOver20Years); case RuleBase_ErrorCodeEnum.rulebase_WarnAANotOver20Years: return(RuleResult.WarnAANotOver20Years); case RuleBase_ErrorCodeEnum.rulebase_WarnOnlyNYLZAllowForRMF100EST0500: return(RuleResult.WarnOnlyNYLZAllowForRMF100EST0500); case RuleBase_ErrorCodeEnum.rulebase_RuleBaseFailure: return(RuleResult.RuleBaseFailure); } // section 179 does not apply. return(RuleResult.Invalid); }
public List <ITCCode> BuildValidList(PropertyTypeEnum propType, DateTime pisDate, DeprMethodTypeEnum depMethod, int deprPct) { List <ITCCode> itcList = new List <ITCCode>(); IbpRuleBase rb = new bpRuleBase(); List <int> ei = new List <int>(); rb.BuildITCList(pisDate, Convert.ToInt16(depMethod), out ei); if (ei == null || ei.Count == 0) { return(null); } for (int posi = 0; posi < ei.Count; posi++) { ITCCode aCode = new ITCCode(); aCode.Type = (ItcType)(ei[posi]); itcList.Add(new ITCCode(aCode)); } return(itcList); }
//public List<DeprMethodCode> BuildValidList(string propTypeName, DateTime pisDate) //{ // PropertyTypeEnum propType = PropertyTypeCode.translateShortNameToType(propTypeName); // return BuildValidList(propType, pisDate); //} public List <DeprMethodCode> BuildValidList(PropertyTypeEnum propType, DateTime pisDate) { List <DeprMethodCode> deprMethodCodeList = new List <DeprMethodCode>(); IbpRuleBase rb = new bpRuleBase(); List <int> ei = new List <int>(); bool isShortYr = false; rb.BuildDeprMethodList((short)(propType), (pisDate), isShortYr, out ei); if (ei == null || ei.Count == 0) { return(null); } DeprPctRule deprPctRule = new DeprPctRule(); for (int posi = 0; posi < ei.Count; posi++) { DeprMethod aType = new DeprMethod((DeprMethodTypeEnum)ei[posi]); List <DeprPct> pctList = deprPctRule.BuildValidList(propType, pisDate, aType.Type); if (pctList != null && pctList.Count > 0) { foreach (DeprPct deprPct in pctList) { deprMethodCodeList.Add(new DeprMethodCode(aType) { Percentage = deprPct.Percentage }); } } else { deprMethodCodeList.Add(new DeprMethodCode(aType)); } } return(deprMethodCodeList); }