мы создали новый класс, его конструктор устанавливает строку электронной почты и список, состоящий из 3 объектов, каждый столбец по умолчанию содержит пустой List<task>
.
Мы попытались сохранить доску в. json файл с помощью функции toJson()
, но файл .json
содержит только строку электронной почты, нам нужен файл .json
для хранения электронной почты и List<column>
.
class Board : DalObject<Board>
{
private readonly log4net.ILog log = log4net.LogManager.GetLogger(
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private string email;
private List<Column> columns;
public Board() { }
public Board(string email, List<Column> columns)
{
this.Email = email;
this.Columns = columns;
}
public string Email { get => email; set => email = value; }
internal List<Column> Columns { get => columns; set => columns = value; }
public string ToJson()
{
var json = new JsonSerializerOptions
{
WriteIndented = true
};
log.Info("Board of user " + this.Email + " saved");
return JsonSerializer.Serialize(this, json);
}
public void Save()
{
base.controller.WriteBoard(this.Email, ToJson());
}
}
class Column : DalObject<Column>
{
private int columnOrdinal;
private string columnName;
private int limit;
private List<Task> tasks;
public Column() { }
public Column(int columnOrdinal, string columnName, int limit, List<Task> tasks)
{
this.ColumnOrdinal = columnOrdinal;
this.ColumnName = columnName;
this.Limit = limit;
this.Tasks = tasks;
}
public int ColumnOrdinal { get => columnOrdinal; set => columnOrdinal = value; }
public string ColumnName { get => columnName; set => columnName = value; }
public int Limit { get => limit; set => limit = value; }
internal List<Task> Tasks { get => tasks; set => tasks = value; }
}
class Task : DalObject<Task>
{
private int taskId;
private string title;
private string description;
private DateTime creationDate;
private DateTime dueDate;
public Task() { }
public Task(int taskId, string title, string description, DateTime dueDate, DateTime creationDate)
{
this.TaskId = taskId;
this.Title = title;
this.Description = description;
this.CreationDate = creationDate;
this.DueDate = dueDate;
}
public int TaskId { get => taskId; set => taskId = value; }
public string Title { get => title; set => title = value; }
public string Description { get => description; set => description = value; }
public DateTime CreationDate { get => creationDate; set => creationDate = value; }
public DateTime DueDate { get => dueDate; set => dueDate = value; }
}
public void WriteBoard(string fileName, string content)
{
File.WriteAllText(BaseBoard + fileName + ".json", content);
log.Info("The new data saved");
}