public decimal?rateCostCalculation(string condition = null, int?userDemand = null, decimal?Duration = null)
        {
            decimal?valueResult = null;
            decimal decCostRate = decimal.Parse(CostRate);

            if (CostCalculationMethod.Equals("PerSecond"))
            {
                valueResult = decCostRate * Duration;
            }
            else if (CostCalculationMethod.Equals("PerPacket"))
            {
                if (PacketType.Equals("Data"))
                {
                    valueResult = decimal.Parse(PacketLimit) * decCostRate;
                }
                else
                {
                    valueResult = (decCostRate * Duration) * decCostRate;
                }
            }
            else
            {
                valueResult = 0;
            }

            return(valueResult * (Convert.ToDecimal(110) / Convert.ToDecimal(100)));
        }
        public override decimal calculateProductCost()
        {
            decimal DecCostRate = decimal.Parse(CostRate);
            var     temp        = this.parameter;

            if (CostCalculationMethod.Equals("PerSecond"))
            {
                return(DecCostRate * this.parameter.getNonNullDuration());
            }
            else if (CostCalculationMethod.Equals("PerPacket"))
            {
                if (PacketType.Equals("Data"))
                {
                    return(decimal.Parse(PacketLimit) * DecCostRate);
                }
                else
                {
                    return(DecCostRate * this.parameter.getNonNullDuration());
                }
            }
            else
            {
                return(0);
            }
        }
Пример #3
0
 //can override in other packet
 protected bool Equals(Packet other)
 {
     return(EntityId.Equals(other.EntityId) && SenderId.Equals(other.SenderId) && PType.Equals(other.PType) && MId.Equals(other.MId));
 }