private IEnumerable <CompressedError> Compressed(IEnumerable <ErrorDisplay> data) { var errors = new List <CompressedError>(); try { foreach (var err in (from d in data select new { Message = d.Message, Class = d.ClassName }).Distinct()) { var item = new CompressedError() { Class = err.Class, Message = err.Message, Count = (from d in data where d.Message == err.Message && d.ClassName == err.Class select d).Count(), }; errors.Add(item); } } catch (Exception ex) { logCore.Log(ex, EventTypes.Critical, 99999); } return(errors); }
public ActionResult ErrorsCompressed(Guid?application) { using (new PerformanceMonitor()) { if (Guid.Empty == application || null == application) { return(this.Json(WebResponse.Bind((int)Fault.InvalidApplicationIdentifier, "Application Identifier not specified."), JsonRequestBehavior.AllowGet)); } else { var query = new LogQuery() { ApplicationIdentifier = application.Value, From = DateTime.UtcNow.AddDays(-1), To = DateTime.UtcNow, }; try { var data = logCore.SelectErrors(query); var items = new List <CompressedError>(); foreach (var err in (from d in data select new{ Message = d.Message, Class = d.ClassName }).Distinct()) { var item = new CompressedError() { Class = err.Class, Message = err.Message, Count = (from d in data where d.Message == err.Message && d.ClassName == err.Class select d).Count(), }; items.Add(item); } return(this.Json(items, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { logCore.Log(ex, EventTypes.Error, (int)Fault.Unknown); return(this.Json(WebResponse.Bind((int)Fault.Unknown, ex.Message), JsonRequestBehavior.AllowGet)); } } } }