public double isLocalOrLongDistance(CallDetailRecords call_details) { double originate_number = call_details.getCallingParty(); double recieve_number = call_details.getRecievingParty(); double payment = 0; bool is_local = true; double seconds = call_details.getSeconds(); int time_duration = call_details.getCallDuration(); if ((int)originate_number / 10000000 == (int)recieve_number / 10000000) //local call { payment += isPeakForLocalCalls(call_details.getStartingTime(), time_duration, is_local) + costForSeconds(call_details.getStartingTime(), time_duration, is_local, seconds); } else //long distance call { payment += isPeakForLocalCalls(call_details.getStartingTime(), time_duration, false) + costForSeconds(call_details.getStartingTime(), time_duration, false, seconds); } return(payment); }
public void recordCallDetails(CallDetailRecords cdr_details) { callDetailsRecordMap.Add(unique_call_details, cdr_details); unique_call_details++; }