Beispiel #1
0
        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
                });
            }
        }
Beispiel #2
0
        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"));
        }