public List <CallDetail> ProcessCalls(ref List <CallDetail> callsForProcessing) { var localCallsInstance = new LocalCall(); var externalCallsInstance = new ExternalCall(); var localCalls = callsForProcessing.Where(c => c.CallType == CallType.Local || c.CallType == CallType.LocalPrime); var externalCalls = callsForProcessing.Where(c => c.CallType == CallType.National || c.CallType == CallType.International); foreach (var call in localCalls) { call.Cost = localCallsInstance.MakeLocalCall(call.DurationInMinutes, call.TimeCalled); } foreach (var call in externalCalls) { call.Cost = externalCallsInstance.MakeExternalCall(call.DurationInMinutes, call.Destination); } return(callsForProcessing); }
public LocalCallTest() { this.strategy = new LocalCall(); }