public ActionResult UpdateEquivalencies(IFormFile equivalencies) { try { using (var stream = equivalencies.OpenReadStream()) using (var reader = new StreamReader(stream, Encoding.UTF8)) { var(errors, unitSets) = EquivalenceUnitSetsReader.LoadEquivalencies(reader); if (errors != null && errors.Count > 0) { return(new JsonResult(errors.Select(e => $"Line {e.line}: {e.error}")) { StatusCode = (int)HttpStatusCode.BadRequest }); } EquivalenceUnitSetsReader.UpdateEquivalenciesInDatabase(this._db, unitSets); return(new StatusCodeResult((int)HttpStatusCode.NoContent)); } } catch (Exception ex) { return(new JsonResult(new string[] { "Unkown Server Error" }) { StatusCode = (int)HttpStatusCode.InternalServerError }); } }
public FileStreamResult GetEquivalencies() { var equivalencies = EquivalenceUnitSetsReader.DumpEquivalencies(this._db); var memory = new MemoryStream(); var writer = new StreamWriter(memory, Encoding.UTF8); var csv = new CsvHelper.CsvWriter(writer); csv.WriteHeader <EquivalenceUnitSetRow>(); csv.NextRecord(); csv.WriteRecords(equivalencies); csv.Flush(); writer.Flush(); memory.Seek(0, SeekOrigin.Begin); return(new FileStreamResult(memory, "text/csv")); }