-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
42 lines (29 loc) · 1.53 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// funções principais para o funcionamento
// no terminal do usuario (cmd, powershell pelo menos), o cara deve escrever o comando "horarios agora, para setar o horario no ? (estou pensando em fazer no sqlite, xlsx, ou txt mexmo)"
using Horarios;
using McMaster.Extensions.CommandLineUtils;
using System.Linq;
var app = new CommandLineApplication();
app.HelpOption();
var descricao = app.Option("--descricao <DESCRICAO>", "descricao do seu apontamento", CommandOptionType.SingleValue);
var nomeArquivo = app.Option("--arquivo <NOME_DO_ARQUIVO>", "nome do arquivo para salvar seus apontamentos", CommandOptionType.SingleValue);
nomeArquivo.DefaultValue = "apontamentos";
app.OnExecute(() =>
{
string nomeArquivoFormatado = nomeArquivo.Value()!;
if (descricao.HasValue())
{
if (!string.IsNullOrEmpty(nomeArquivoFormatado))
{
string caminhoProjeto = string.Join("\\", Directory.GetCurrentDirectory(), !nomeArquivoFormatado.EndsWith(".csv") ? $"{nomeArquivoFormatado}.csv" : nomeArquivoFormatado);
var csv = new Csv(caminhoProjeto);
var apontamento = new Apontamento();
apontamento.Descricao = descricao.Value()!;
apontamento.Data = DateOnly.FromDateTime(DateTime.Now);
apontamento.HorarioInicio = TimeOnly.FromDateTime(DateTime.Now);
csv.EscreverArquivo(apontamento);
Console.WriteLine(csv.LerArquivo<Apontamento>().ToString());
}
}
});
app.Execute(args);