public static void GetIINDeductionsForPerson(CalcRRow2 wt, KlonsADataSet.PERSONS_RRow drpr, KlonsADataSet.RATESRow drl, DateTime dt1, DateTime dt2, int calcver) { wt.ExUntaxedMinimum = 0.0M; wt.ExDependants = 0.0M; wt.ExInvalidity = 0.0M; wt.ExRetaliation = 0.0M; wt.ExNationalMovements = 0.0M; if (!string.IsNullOrEmpty(drpr.TAXDOC_NO)) { wt.ExDependants = drl.APGAD * (decimal)drpr.APGAD_SK; if (drpr.INVALID == 1 || drpr.INVALID == 2) { wt.ExInvalidity = drl.INVALID_12; } else if (drpr.INVALID == 3) { wt.ExInvalidity = drl.INVALID_3; } if (drpr.PRET == 1) { wt.ExNationalMovements = drl.PRET; } if (drpr.REPRES == 1) { wt.ExRetaliation = drl.REPR; } if (drpr.PENSIONER == 1 || drpr.PENSIONER_SP == 1) { wt.ExUntaxedMinimum = 0.0M; } else { if (dt1 < ProgressiveIINStartDate) { wt.ExUntaxedMinimum = drl.NEPLIEK_MIN; } else { if (calcver == KlonsData.VersionRef(0)) { wt.ExUntaxedMinimum = GetIINUntaxedMinimum(drpr.PERSONSRow, dt1); } else { wt.ExUntaxedMinimum = GetIINUntaxedMinimum2(drpr.PERSONSRow, dt1, dt2); } } } } }
public string GetLikmes() { var drs_likmes = MyData.DataSetKlons.RATES.OrderBy(d => d.ONDATE).ToArray(); DR_Likmes = PeriodInfo.FindNearestBefore(drs_likmes, MDT1, d => d.ONDATE); if (DR_Likmes == null) { return("Likmes nav definētas."); } return("OK"); }
public static void GetRatesForPerson(CalcRRow2 wt, KlonsADataSet.PERSONS_RRow drpr, KlonsADataSet.RATESRow drl, DateTime dt) { wt.UseProgresiveIINRate = dt >= ProgressiveIINStartDate; wt.HasTaxDoc = !string.IsNullOrEmpty(drpr.TAXDOC_NO); if (dt < ProgressiveIINStartDate) { wt.RateIIN = drl.IIN_LIKME; wt.RateIIN2 = drl.IIN_LIKME; } else { wt.RateIIN = drl.IIN_LIKME; wt.RateIIN2 = drl.IIN_LIKME_2; int iin_rate_type = GetIINRateType(drpr.PERSONSRow, dt.FirstDayOfMonth()); if (iin_rate_type == 1) { wt.RateIIN = wt.RateIIN2; } } wt.IINMargin = drl.IIN_SLIEKSNIS_1; if (drpr.PENSIONER == 1) { if (drpr.PRISONER == 1) { wt.RateDNSN = drl.SIDN_IESLODZ_PENS; wt.RateDDSN = drl.SIDD_IESLODZ_PENS; } else { wt.RateDNSN = drl.SIDN_PENS; wt.RateDDSN = drl.SIDD_PENS; } } else if (drpr.PENSIONER_SP == 1) { wt.RateDNSN = drl.SIDN_IZDPENS; wt.RateDDSN = drl.SIDD_IZDPENS; } else { if (drpr.PRISONER == 1) { wt.RateDNSN = drl.SIDN_IESLODZ; wt.RateDDSN = drl.SIDD_IESLODZ; } else { wt.RateDNSN = drl.SIDN_PAMATLIKME; wt.RateDDSN = drl.SIDD_PAMATLIKME; } } }