コード例 #1
0
        public DutyFcaBilled DutyChargesCalculation1(int units)
        {
            DutyFcaBilled     dutyModel = new DutyFcaBilled();
            DutyChargesBilled dtySlab   = GetDutySlabCharges();
            FCAChargesBilled  fcaSlab   = GetFcaSlabCharges();

            dutyModel.DutyChargesBilled = new DutyChargesBilled();
            dutyModel.FCAChargesBilled  = new FCAChargesBilled();

            if (units == 0)
            {
                dutyModel.DutyChargesBilled.SlabDutyCharges  = 0;
                dutyModel.DutyChargesBilled.FcaDutyCharges   = 0;
                dutyModel.DutyChargesBilled.TotalDutyCharges = 0;
            }
            else if (units >= (int)slab1range.min && units <= (int)slab1range.max)
            {
                dutyModel.DutyChargesBilled.SlabDutyCharges = units * dtySlab.Slab1Rate;
                dutyModel.DutyChargesBilled.FcaDutyCharges  =
                    Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges * fcaSlab.Slab1Rate), 3);
            }
            else if (units >= (int)slab2range.min && units <= (int)slab2range.max)
            {
                dutyModel.DutyChargesBilled.SlabDutyCharges = (50 * dtySlab.Slab1Rate)
                                                              + ((units - 50) * dtySlab.Slab2Rate);
                dutyModel.DutyChargesBilled.FcaDutyCharges =
                    Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges * fcaSlab.Slab2Rate), 3);
            }
            else if (units >= (int)slab3range.min && units <= (int)slab3range.max)
            {
                dutyModel.DutyChargesBilled.SlabDutyCharges = (50 * dtySlab.Slab1Rate)
                                                              + (100 * dtySlab.Slab2Rate) + ((units - 150) * dtySlab.Slab3Rate);
                dutyModel.DutyChargesBilled.FcaDutyCharges =
                    Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges * fcaSlab.Slab3Rate), 3);
            }
            else if (units >= (int)slab4range.min)
            {
                dutyModel.DutyChargesBilled.SlabDutyCharges =
                    (50 * dtySlab.Slab1Rate) + (100 * dtySlab.Slab2Rate)
                    + (150 * dtySlab.Slab3Rate) + (units - 300) * dtySlab.Slab1Rate;
                dutyModel.DutyChargesBilled.FcaDutyCharges =
                    Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges * fcaSlab.Slab4Rate), 3);
            }
            dutyModel.DutyChargesBilled.SlabDutyCharges  = Math.Round(dutyModel.DutyChargesBilled.SlabDutyCharges, 3);
            dutyModel.DutyChargesBilled.TotalDutyCharges = Math.Round((dutyModel.DutyChargesBilled.SlabDutyCharges + dutyModel.DutyChargesBilled.FcaDutyCharges), 3);
            return(dutyModel);
        }
コード例 #2
0
        public void Setup()
        {
            dcController = new DutyChargesController();
            dfBilled     = new DutyFcaBilled();
            dfBilled.DutyChargesBilled = new DutyChargesBilled();
            dfBilled.FCAChargesBilled  = new FCAChargesBilled();

            dfBilled.DutyChargesBilled.Slab1Rate = 0.09;
            dfBilled.DutyChargesBilled.Slab2Rate = 0.12;
            dfBilled.DutyChargesBilled.Slab3Rate = 0.12;
            dfBilled.DutyChargesBilled.Slab4Rate = 0.12;

            dfBilled.FCAChargesBilled.Slab1Rate = 0.13;
            dfBilled.FCAChargesBilled.Slab2Rate = 0.13;
            dfBilled.FCAChargesBilled.Slab3Rate = 0.13;
            dfBilled.FCAChargesBilled.Slab4Rate = 0.13;
        }