Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public LocalCallTest()
 {
     this.strategy = new LocalCall();
 }