/// <summary> /// (the specialists rate + TeleConsult mark up) + (virtual consultation cost + TeleConsult mark up) + Sales Tax if applicable /// </summary> /// <param name="specRate"></param> /// <param name="gstOnSpecRate"> = 1 if this specialization doesnot apply gst</param> /// <param name="platformCost"></param> /// <param name="gstOnPlatformCost"></param> /// <returns>customer rate - already has money rounding</returns> public decimal GetCustomerRate(decimal specRate, bool appliedGST) { SystemConfigService systemConfig = new SystemConfigService(UnitOfWork, Repository, Settings); //default tax = 0.1 (10%) decimal tax = systemConfig.GetGST() + 1; // commission = 2% = 0.02 decimal commission = systemConfig.GetValueByKey(ParamatricBusinessRules.COMMISSION_LEVELS.ToString()) / 100; decimal basicFee = systemConfig.GetValueByKey(ParamatricBusinessRules.BASIC_FEE.ToString()); if (!appliedGST) { tax = 1; } decimal rate = (specRate * (1 + commission) + basicFee) * tax; return Utilities.RoundMoney(rate); }