// write this ticket to the git database
public void SaveNew()
{
var dir = Base.CreateDirectory(TicketName);
Base.AddFile(dir, "TICKET_ID", TicketName);
Base.AddFile(dir, "ASSIGNED_" + CleanString(Assigned), Assigned);
Debug.Assert(!string.IsNullOrEmpty(State));
Base.AddFile(dir, "STATE_" + State, State);
foreach (var comment in Comments)
{
Base.AddFile(dir, CommentName(Email), comment.Text as string);
}
var tags = Tags.Select(t => t.Trim()).ToArray();
if (tags != null && tags.Length > 0)
{
foreach (var tag in tags)
{
if (tag.Length == 0)
{
continue;
}
var tag_filename = "TAG_" + Ticket.CleanString(tag);
Base.AddFileIfNotExists(Path.Combine(TicketName, tag_filename), tag_filename);
}
}
Base.Git.Commit("added ticket " + TicketName, new Author(User, Email));
}