static List <Call> GetCalls(string[] Wildcards, DateTime Start, DateTime End) { var calls = new List <Call>(); var results = new List <TblCallsFull>(); using (var db = new CallAnalyzerContext()) { var query = db.TblCallsFull .Where(c => c.DateTimeDisconnect >= Start && c.DateTimeDisconnect <= End); foreach (var w in Wildcards) { results.AddRange(query.Where(x => x.OrigDeviceName.Contains(w) || x.DestDeviceName.Contains(w)).ToList()); } foreach (var r in results) { calls.Add(new Call { End = (DateTime)r.DateTimeDisconnect, Start = ((DateTime)r.DateTimeDisconnect).AddMinutes(-Convert.ToDouble(r.Duration)) }); } } return(calls); }
public List <TblCallsFull> GetCalls(DateTime start, DateTime end) { var context = new CallAnalyzerContext(); var results = context.TblCallsFull .Where(c => c.DateTimeDisconnect > start) .Where(c => c.DateTimeDisconnect < end) .ToList(); return(results); }
public List <TblCallsFull> GetCallsByNumber(DateTime start, DateTime end, string number) { var context = new CallAnalyzerContext(); var results = context.TblCallsFull .Where(c => c.DateTimeDisconnect > start) .Where(c => c.DateTimeDisconnect < end) .Where(c => c.CallingPartyNumber == number || c.OriginalCalledPartyNumber == number || c.FinalCalledPartyNumber == number) .ToList(); return(results); }
public ProgramSummary Summary(DateTime start, DateTime end) { var context = new CallAnalyzerContext(); ProgramSummary s = new ProgramSummary(); var results = context.TblCallsFull .Where(c => c.DateTimeDisconnect > start) .Where(c => c.DateTimeDisconnect < end); foreach (var c in results) { if (c.CallingPartyNumber == "" || c.CallingPartyNumber.Length > 4) { s.FromOutside.Calls++; s.FromOutside.Minutes += Convert.ToDecimal(c.Duration); if (c.FinalCalledPartyNumber == "8888") { s.FromOutside.Unanswered++; } else { s.FromOutside.Answered++; } } else { switch (c.CallingPartyNumber.Substring(0, 1)) { case "8": s.FromLSNJ.Calls++; s.FromLSNJ.Minutes += Convert.ToDecimal(c.Duration); if (c.FinalCalledPartyNumber == "8888") { s.FromLSNJ.Unanswered++; } else { s.FromLSNJ.Answered++; } break; case "6": s.FromSJLS.Calls++; s.FromSJLS.Minutes += Convert.ToDecimal(c.Duration); if (c.FinalCalledPartyNumber == "8888") { s.FromSJLS.Unanswered++; } else { s.FromSJLS.Answered++; } break; case "5": s.FromLSNWJ.Calls++; s.FromLSNWJ.Minutes += Convert.ToDecimal(c.Duration); if (c.FinalCalledPartyNumber == "8888") { s.FromLSNWJ.Unanswered++; } else { s.FromLSNWJ.Answered++; } break; case "4": s.FromENLS.Calls++; s.FromENLS.Minutes += Convert.ToDecimal(c.Duration); if (c.FinalCalledPartyNumber == "8888") { s.FromENLS.Unanswered++; } else { s.FromENLS.Answered++; } break; case "3": s.FromNNJLS.Calls++; s.FromNNJLS.Minutes += Convert.ToDecimal(c.Duration); if (c.FinalCalledPartyNumber == "8888") { s.FromNNJLS.Unanswered++; } else { s.FromNNJLS.Answered++; } break; case "2": s.FromCJLS.Calls++; s.FromCJLS.Minutes += Convert.ToDecimal(c.Duration); if (c.FinalCalledPartyNumber == "8888") { s.FromCJLS.Unanswered++; } else { s.FromCJLS.Answered++; } break; default: s.FromOutside.Calls++; s.FromOutside.Minutes += Convert.ToDecimal(c.Duration); if (c.FinalCalledPartyNumber == "8888") { s.FromOutside.Unanswered++; } else { s.FromOutside.Answered++; } break; } } } return(s); }
public CallsController(CallAnalyzerContext context) { _context = context; }