public Report GetReport(int telephoneNumber) { var calls = GetInfoList(). Where(x => x.CallerNumber == telephoneNumber || x.TargetNumber == telephoneNumber). ToList(); var report = new Report(); foreach (var call in calls) { CallType callType; int number; int cost; if (call.CallerNumber == telephoneNumber) { callType = CallType.OutgoingCall; number = call.TargetNumber; cost = call.GetCost(_billingDictionary.Where(x => x.Key == telephoneNumber).Select(x => x.Value).ElementAt(0) , call.TimeStartCall, call.TimeEndCall); } else { callType = CallType.IncomingСall; number = call.CallerNumber; cost = 0; } var record = new ReportRecord(number, callType, call.TimeStartCall, new DateTime((call.TimeEndCall - call.TimeStartCall).Ticks), cost); report.AddRecord(record); } return(report); }
public void RemoveRecord(ReportRecord record) { _listRecords.Remove(record); }
public void AddRecord(ReportRecord record) { _listRecords.Add(record); }