У меня проблема с добавлением некоторого текста в CSV-файл, мой текст добавляется, но он добавляется к предыдущей строке, а не к новой. Я также получаю сообщение об ошибке типа System.FormatException: входная строка была в неправильном формате. Это, очевидно, связано с проблемой добавления, но я не могу понять, что я делаю здесь неправильно. Любые идеи?
вот вывод в файле CSV
Университет, 0
Продовольственные товары, 1
Другие, 2
Gaming, 3Pets, 4
Заранее спасибо :)
Контроллер
// GET: Category/Create
public ActionResult Create()
{
return View();
}
// POST: Category/Create
[HttpPost]
public ActionResult Create(Category category)
{
try
{
TodolistRepository.AddCategory(category.Name);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
.cs file
public static bool AddCategory(string category, int catId = 0)
{
int newIdentifier = catId;
if (newIdentifier == 0)
{
int maxIdentifier = _listOfCategories.Max(x => x.Identifier);
newIdentifier = ++maxIdentifier;
}
try
{
using (FileStream fs = new FileStream(_categoriesfile, FileMode.Append, FileAccess.Write))
{
using (var writer = new StreamWriter(fs))
{
var line = $"{category},{newIdentifier.ToString()}";
writer.WriteLine(line);
writer.Flush();
}
}
return true;
}
catch (Exception)
{
return false;
}
}
public static void ReadCategoriesFromFile()
{
using (StreamReader reader = new StreamReader(_categoriesfile))
{
while (!reader.EndOfStream)
{
string[] fields = reader.ReadLine().Split(',');
_listOfCategories.Add(new Category
{
Name = fields[0],
Identifier = Int32.Parse(fields[1])
});
}
}
}
//Gets all the categories in the List
public static List<Category> GetCategories()
{
ReadCategoriesFromFile();
_listOfCategories = _listOfCategories.OrderBy(x => x.Identifier).ToList();
return _listOfCategories;
}