public ActionResult DownloadFile(string matchCriteria, string toggleCheck, string time, string[] columns) { var outputStream = new MemoryStream(); var match = new Helpers.DeduplicateHelper(); string userName = User.Identity.Name; var results = match.ExactMatch(matchCriteria, toggleCheck, time, 2, userName); MemoryStream output = new MemoryStream(); if (results.Count() > 0) { results.RemoveAt(0); StreamWriter write = new StreamWriter(output, Encoding.UTF8); StringBuilder sb = new StringBuilder(); foreach (var item in columns) { sb.Append(item + ","); } write.Write(sb); write.Write(Environment.NewLine); sb.Clear(); foreach (var list in results) { foreach (var item in list) { sb.Append(item.ToString() + ","); } write.Write(sb); write.Write(Environment.NewLine); sb.Clear(); } write.Flush(); output.Position = 0; } else { Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(404, JsonRequestBehavior.AllowGet); } return File(output, "text/coma-separated-values", User.Identity.Name + "_" + DateTime.Now.Ticks + ".csv"); }
//Deduplicate#/deduplicate public JsonResult GetDataTemp(string matchCriteria, string toggleCheck, string time) { var match = new Helpers.DeduplicateHelper(); string userName = ""; if (User.Identity.IsAuthenticated) { userName = User.Identity.Name; } else { userName = "******"; } var results = match.ExactMatch(matchCriteria, toggleCheck, time, 2, userName); if (results.Count == 0) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(404, JsonRequestBehavior.AllowGet); } return Json(results, JsonRequestBehavior.AllowGet); }