49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
using System;
|
|
|
|
namespace Txt2Bib.Records
|
|
{
|
|
public interface IBib { }
|
|
|
|
public record class ArticleBib : IBib
|
|
{
|
|
public string Type { get; init; } = "article";
|
|
public string[] Author { get; init; } = { "Gianni e Pinotto" };
|
|
public string Title { get; init; } = "";
|
|
public string Journal { get; init; } = "";
|
|
public ushort Year { get; init; } = 1950;
|
|
public ushort Volume { get; init; } = 1;
|
|
public byte Issue { get; init; } = 1;
|
|
public ushort FirstPage { get; init; } = 1;
|
|
public ushort LastPage { get; init; } = 1;
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"@{Type}" + "{" +$"{Author[0][..5]}_{Year},\n" +
|
|
$"\ttitle = \"{Title}\",\n" +
|
|
$"\tjournal = \"{Journal}\",\n" +
|
|
$"\tyear = \"{Year}\",\n" +
|
|
$"\tvolume = \"{Volume}\",\n" +
|
|
$"\tnumber = \"{Issue}\",\n" +
|
|
$"\tpages = \"{FirstPage}--{LastPage}\",\n" +
|
|
"}\n";
|
|
}
|
|
}
|
|
|
|
public record class BookBib : IBib
|
|
{
|
|
public string Type { get; init; } = "book";
|
|
public string[] Author { get; init; } = { "Gianni e Pinotto" };
|
|
public string Title { get; init; } = "";
|
|
public string Publisher { get; init; } = "";
|
|
public ushort Year { get; init; } = 1950;
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"@{Type}" + "{" +$"{Author[0][..5]}_{Year},\n" +
|
|
$"\ttitle = \"{Title}\",\n" +
|
|
$"\tpublisher = \"{Publisher}\",\n" +
|
|
$"\tyear = \"{Year}\",\n" +
|
|
"}\n";
|
|
}
|
|
}
|
|
} |