public ActionResult ContactReport(ContactReportViewModel model) { var mgr = new ReportManager(); var items = mgr.FetchContactReport(model).AsQueryable(); MemoryStream output = new MemoryStream(); StreamWriter writer = new StreamWriter(output, Encoding.UTF8); writer.Write("ContactId,Region,Fund,OrgCode,BA,Name,Phone,Fax,Email"); writer.WriteLine(); writer.WriteLine(); foreach (var item in items) { var format = "{0},\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\""; var formatted = string.Format(format, item.ContactId, item.Region, item.Fund, item.OrgCode, item.BA, item.Name, item.Phone, item.Fax, item.Email); writer.Write(formatted); writer.WriteLine(); } writer.Flush(); output.Position = 0; return(File(output, "text/comma-separated-values", "ContactReport.csv")); }
public ActionResult ContactReport() { if (Session[SessionKey.RoleModel] == null) { // No role model created yet. Redirect to the login page. return(RedirectToAction("Index", "Login")); } var mgr = new ReportManager(); var model = new ContactReportViewModel(); return(View(model)); }
public ActionResult ContactReportRecords([DataSourceRequest] DataSourceRequest request, ContactReportViewModel search) { var mgr = new ReportManager(); var items = mgr.FetchContactReport(search).AsQueryable(); var result = items.ToDataSourceResult(request); return(Json(result, JsonRequestBehavior.AllowGet)); }