public async Task <ActionResult> Similar(string group, string log, Guid id, ExceptionSorts?sort = null, bool byTime = false) { // Defaults sort = sort ?? ExceptionSorts.TimeDesc; FixNames(ref group, ref log); var e = await GetError(log, id).ConfigureAwait(false); if (e == null) { return(View("Exceptions.Detail", null)); } var errors = await GetSimilarErrorsAsync(e, byTime, sort : sort.Value).ConfigureAwait(false); var vd = new ExceptionsModel { Sort = sort.Value, Exception = e, SelectedGroup = group, SelectedLog = log, ShowingWindow = byTime, Groups = ApplicationGroups, ClearLinkForVisibleOnly = true, Errors = errors }; return(View("Exceptions.Similar", vd)); }
public async Task <ExceptionsModel> GetExceptionsModel(string group, string log, ExceptionSorts sort, int?count = null, Guid?prevLast = null, int?loadAsync = null) { FixNames(ref group, ref log); var errors = await GetAllErrors(group, log, sort : sort).ConfigureAwait(false); var startIndex = 0; if (prevLast.HasValue) { startIndex = errors.FindIndex(e => e.GUID == prevLast.Value); if (startIndex > 0 && startIndex < errors.Count) { startIndex++; } } errors = errors.Skip(startIndex).Take(count ?? 500).ToList(); var vd = new ExceptionsModel { Sort = sort, SelectedGroup = group, SelectedLog = log, LoadAsyncSize = loadAsync.GetValueOrDefault(), Groups = ApplicationGroups, Errors = errors.ToList() }; return(vd); }
public async Task <ActionResult> Search(string q, string group, string log, ExceptionSorts?sort = null, bool showDeleted = false) { // Defaults sort = sort ?? ExceptionSorts.TimeDesc; FixNames(ref group, ref log); // empty searches go back to the main log if (q.IsNullOrEmpty()) { return(RedirectToAction(nameof(Exceptions), new { group, log })); } var errors = await FindErrorsAsync(q, group, log, max : 10000, includeDeleted : showDeleted, sort : sort.Value).ConfigureAwait(false); if (errors.Count == 0 && !showDeleted) { // If we didn't find any current errors, go ahead and search deleted as well return(RedirectToAction(nameof(Search), new { q, group, log, showDeleted = true })); } var vd = new ExceptionsModel { Sort = sort.Value, Search = q, SelectedGroup = group, SelectedLog = log, ShowDeleted = showDeleted, Groups = ApplicationGroups, ClearLinkForVisibleOnly = true, Errors = errors }; return(View("Exceptions.Search", vd)); }
public ActionResult ExceptionsSimilar(string app, Guid id, ExceptionSorts?sort = null, bool truncate = true, bool byTime = false) { // Defaults sort = sort ?? ExceptionSorts.TimeDesc; var e = ExceptionStores.GetError(app, id); if (e == null) { return(View("Exceptions.Detail", null)); } var errors = ExceptionStores.GetSimilarErrors(e, byTime, sort: sort.Value); var vd = new ExceptionsModel { Sort = sort.Value, Exception = e, SelectedLog = app, ShowingWindow = byTime, Applications = ExceptionStores.Applications, ClearLinkForVisibleOnly = true, Errors = errors }; return(View("Exceptions.Similar", vd)); }
public ExceptionsModel GetExceptionsModel(string log, ExceptionSorts sort, int?count = null, Guid?prevLast = null, int?loadAsync = null) { var errors = ExceptionStores.GetAllErrors(log, sort: sort); var startIndex = 0; if (prevLast.HasValue) { startIndex = errors.FindIndex(e => e.GUID == prevLast.Value); if (startIndex > 0 && startIndex < errors.Count) { startIndex++; } } errors = errors.Skip(startIndex).Take(count ?? 500).ToList(); var vd = new ExceptionsModel { Sort = sort, SelectedLog = log, LoadAsyncSize = loadAsync.GetValueOrDefault(), Applications = ExceptionStores.Applications, Errors = errors.ToList() }; return(vd); }
public ActionResult ExceptionsSearch(string q, string log, ExceptionSorts?sort = null, bool showDeleted = false) { // Defaults sort = sort ?? ExceptionSorts.TimeDesc; // empty searches go back to the main log if (q.IsNullOrEmpty()) { return(RedirectToAction("Exceptions", new { log })); } var errors = ExceptionStores.FindErrors(q, log, includeDeleted: showDeleted, max: 2000, sort: sort.Value); if (!errors.Any() && !showDeleted) { // If we didn't find any current errors, go ahead and search deleted as well return(RedirectToAction("ExceptionsSearch", new { q, log, showDeleted = true })); } var vd = new ExceptionsModel { Sort = sort.Value, Search = q, SelectedLog = log, ShowDeleted = showDeleted, Applications = ExceptionStores.Applications, ClearLinkForVisibleOnly = true, Errors = errors }; return(View("Exceptions.Search", vd)); }
public ActionResult ExceptionsSearch(string q, string log, bool showDeleted = false) { // empty searches go back to the main log if (q.IsNullOrEmpty()) { return(RedirectToAction("Exceptions", new { log })); } var errors = ExceptionStores.FindErrors(q, log, includeDeleted: showDeleted, max: 2000); if (!errors.Any() && !showDeleted) { // If we didn't find any current errors, go ahead and search deleted as well return(RedirectToAction("ExceptionsSearch", new { q, log, showDeleted = true })); } var vd = new ExceptionsModel { Search = q, SelectedLog = log, ShowDeleted = showDeleted, TruncateErrors = true, Applications = ExceptionStores.Applications, Errors = errors }; return(View("Exceptions.Search", vd)); }
public void Delete(int id) { ExceptionsModel.TodoIsNullCheck(Todos); ExceptionsModel.TodoExistsCheck(Todos, id); Todos.Remove(id); }
public ToDoItem Put(int id, [FromBody] ToDoItem value) { ExceptionsModel.TodoIsNullCheck(Todos); ExceptionsModel.TodoIdCheck(id, value); ExceptionsModel.TodoExistsCheck(Todos, id); Todos.Remove(id); Todos.Add(id, value); return(Todos[id]); }
public async Task <ActionResult> Preview(string group, string log, Guid id) { var e = await GetError(log, id).ConfigureAwait(false); var vd = new ExceptionsModel { Exception = e, SelectedGroup = group, SelectedLog = log }; return(View("Exceptions.Preview", vd)); }
public ActionResult Exceptions(string log, bool truncate = true) { var errors = ExceptionStores.GetAllErrors(log, log.HasValue() ? 1000 : 200); var vd = new ExceptionsModel { SelectedLog = log, TruncateErrors = truncate, Applications = ExceptionStores.Applications, Errors = errors }; return(View(vd)); }
public ToDoItem Post([FromBody] ToDoItem value) { ExceptionsModel.TodoIsNullCheck(Todos); ToDoItem todo = new ToDoItem { Id = TodoCount.Value, IsComplete = value.IsComplete, Title = value.Title }; if (Todos.TryAdd(TodoCount.Value, todo) == false) { throw new Exception("Todo already exists."); } TodoCount++; return(todo); }
public ActionResult ExceptionsSimilar(string app, Guid id, bool truncate = true, bool byTime = false) { var e = ExceptionStores.GetError(app, id); if (e == null) { return(View("Exceptions.Detail", null)); } var errors = ExceptionStores.GetSimilarErrors(e, byTime); var vd = new ExceptionsModel { Exception = e, SelectedLog = app, TruncateErrors = truncate, ShowingWindow = byTime, Applications = ExceptionStores.Applications, Errors = errors }; return(View("Exceptions.Similar", vd)); }