public IActionResult Detail(string id) { TextClassificationRepository repository = new TextClassificationRepository(); ObjectId objectId = new ObjectId(id); var result = repository.FirstOrDefault(m => m.Id == objectId); if (result == null) { return(View(new TextClassificationResultDetail())); } TextClassificationResultDetail detail = new TextClassificationResultDetail() { Title = result.Title, Content = result.Content, Ctime = result.Ctime.ToLocalTime(), }; if (result?.ResultItems != null) { foreach (var item in result.ResultItems) { if (!string.IsNullOrEmpty(item?.VendorLabel) && item.VendorLabel.IsCaseInsensitiveEqual("A")) { detail.AResult = item.VendorResult; } if (!string.IsNullOrEmpty(item?.VendorLabel) && item.VendorLabel.IsCaseInsensitiveEqual("B")) { detail.BResult = item.VendorResult; } if (!string.IsNullOrEmpty(item?.VendorLabel) && item.VendorLabel.IsCaseInsensitiveEqual("C")) { detail.CResult = item.VendorResult; } } } return(View(detail)); }
public IActionResult TextClassifications_Read([DataSourceRequest] DataSourceRequest request) { TextClassificationRepository repository = new TextClassificationRepository(); IQueryable <TextClassificationResult> results = repository.Results; return(Json(results.ToDataSourceResult(request, (item) => { return new TextClassificationResultDto() { Id = item.Id.ToString(), Title = item.Title, AResult = item.ResultItems.Any(m => m.VendorLabel.Equals( "A", StringComparison.InvariantCultureIgnoreCase)) ? item.ResultItems.Single(m => m.VendorLabel.Equals( "A", StringComparison.InvariantCultureIgnoreCase)) .VendorResult : string.Empty, BResult = item.ResultItems.Any(m => m.VendorLabel.Equals( "B", StringComparison.InvariantCultureIgnoreCase)) ? item.ResultItems.Single(m => m.VendorLabel.Equals( "B", StringComparison.InvariantCultureIgnoreCase)) .VendorResult : string.Empty, CResult = item.ResultItems.Any(m => m.VendorLabel.Equals( "C", StringComparison.InvariantCultureIgnoreCase)) ? item.ResultItems.Single(m => m.VendorLabel.Equals( "C", StringComparison.InvariantCultureIgnoreCase)) .VendorResult : string.Empty, Ctime = item.Ctime }; }))); }
public IActionResult AddNew(TextClassificationModel model) { if (model != null && ModelState.IsValid) { TextClassificationRepository repository = new TextClassificationRepository(); List <TextClassificationResultItem> resultItems = new List <TextClassificationResultItem>(); Task task1 = Task.Run(() => { try { Task <TextClassificationResultItem> taskA = this.GetItemAResult(model); taskA.Wait(); TextClassificationResultItem itemA = taskA.Result; if (itemA != null) { resultItems.Add(itemA); } } catch (Exception ex1) { System.Diagnostics.Trace.WriteLine("GetA: " + ex1.Message + "," + ex1.StackTrace); } }); Task task2 = Task.Run(() => { try { Task <TextClassificationResultItem> taskB = this.GetItemBResult(model); taskB.Wait(); TextClassificationResultItem itemB = taskB.Result; if (itemB != null) { resultItems.Add(itemB); } } catch (Exception ex1) { System.Diagnostics.Trace.WriteLine("GetB: " + ex1.Message + "," + ex1.StackTrace); } }); Task task3 = Task.Run(() => { try { Task <TextClassificationResultItem> taskC = this.GetItemCResult(model); taskC.Wait(); TextClassificationResultItem itemC = taskC.Result; if (itemC != null) { resultItems.Add(itemC); } } catch (Exception ex1) { System.Diagnostics.Trace.WriteLine("GetC: " + ex1.Message + "," + ex1.StackTrace); } }); Task.WaitAll(task1, task2, task3); TextClassificationResult newResult = new TextClassificationResult() { Ctime = DateTime.Now, Title = model.Title, Content = model.Content, ResultItems = resultItems }; repository.Add(newResult); return(RedirectToAction("TextClassification", "Home")); } return(View("AddNew", model)); }