public bool Record(string description, AccountType usage, out ServiceItem item) { bool status = true; double numberOfRecordUsage = DEFAULT_USAGE; item = null; if (usage is CallAccountUsage) { CallAccountUsage Usage = usage as CallAccountUsage; numberOfRecordUsage = Math.Ceiling(Usage.Usage); } else if (usage is MessageAccountUsage) { MessageAccountUsage Usage = usage as MessageAccountUsage; numberOfRecordUsage = Convert.ToDouble(Usage.Usage); } _UsedUnit += numberOfRecordUsage; _UsedCredit += (numberOfRecordUsage * _UsagePerUnit); item = new ServiceItem(numberOfRecordUsage, description, _UsagePerUnit); Console.WriteLine(description); Console.WriteLine("NRU: "+numberOfRecordUsage); Console.WriteLine("Av: {0}, UU: {1}, UC: {2}, UPU:{3}", _AvaliableUnit, _UsedUnit, _UsedCredit, _UsagePerUnit); if (_AvaliableUnit - _UsedUnit >= numberOfRecordUsage) { Console.WriteLine("1"); _UsedUnit += numberOfRecordUsage; _UsedCredit += _UsedUnit * _UsagePerUnit; item = null; } if (numberOfRecordUsage > _AvaliableUnit - _UsedUnit) { Console.WriteLine("2"); numberOfRecordUsage = _AvaliableUnit - _UsedUnit; item = null; } if (numberOfRecordUsage < 0) { Console.WriteLine("3"); status = false; item = null; } Console.WriteLine("NRU: "+numberOfRecordUsage); Console.WriteLine("Av: {0}, UU: {1}, UC: {2}, UPU:{3}", _AvaliableUnit, _UsedUnit, _UsedCredit, _UsagePerUnit); Console.WriteLine("\n\n"); return status; }
public override bool Record(string description, AccountType usage, out ServiceItem item) { bool status = true; double numberOfRecordUsage = DEFAULT_USAGE; item = null; if (usage is CallAccountUsage) { CallAccountUsage callUsage = usage as CallAccountUsage; Console.WriteLine(callUsage.Usage); numberOfRecordUsage = Math.Ceiling(callUsage.Usage); Console.Write("Num of record usage" + numberOfRecordUsage); _UsedUnit = _UsedUnit + numberOfRecordUsage; _UsedCredit = _UsedCredit + (numberOfRecordUsage * _UsagePerUnit); item = new ServiceItem(numberOfRecordUsage, description, _UsagePerUnit); if (_AvaliableUnits - _UsedUnit >= callUsage.Usage) { Console.Write(" 1 "); _UsedUnit = _UsedUnit + callUsage.Usage; _UsedCredit = _UsedCredit + _UsedUnit * _UsagePerUnit; item = null; } if (numberOfRecordUsage > _AvaliableUnits - _UsedUnit) { Console.Write(" 2 "); numberOfRecordUsage = _AvaliableUnits - _UsedUnit; item = null; } if (numberOfRecordUsage <= 0) { Console.Write(" 3\n"); status = false; item = null; } } return(status); }
public override bool Record(string description, AccountType usage, out ServiceItem item) { bool status = true; int numberOfRecordUsage = DEFAULT_USAGE; item = null; if (usage is MessageAccountUsage) { MessageAccountUsage messageUsage = usage as MessageAccountUsage; _UsedUnit = _UsedUnit + numberOfRecordUsage; _UsedCredit = _UsedCredit + (numberOfRecordUsage * _UsagePerUnit); if (_AvaliableUnits - _UsedUnit >= messageUsage.Usage) { _UsedUnit = _UsedUnit + messageUsage.Usage; _UsedCredit = _UsedCredit + _UsedUnit * _UsagePerUnit; //item = null; } else if (numberOfRecordUsage > _AvaliableUnits - _UsedUnit) { numberOfRecordUsage = _AvaliableUnits - _UsedUnit; // item = null; } else if (numberOfRecordUsage <= 0) { status = false; item = null; } } item = new ServiceItem(numberOfRecordUsage, description, _UsagePerUnit); return(status); }
//Service method to record new ServiceItem for the _PhoneAccount attribute public bool Record(string description, AccountType usage, out ServiceItem items) { return(_PhoneAccount.Record(description, usage, out items)); }
public abstract bool Record(string description, AccountType usage, out ServiceItem item);