summaryrefslogtreecommitdiff
path: root/Gestor.Model/Gestor.Model.Domain.Ferramentas/Trilha.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Ferramentas/Trilha.cs')
-rw-r--r--Gestor.Model/Gestor.Model.Domain.Ferramentas/Trilha.cs85
1 files changed, 85 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Ferramentas/Trilha.cs b/Gestor.Model/Gestor.Model.Domain.Ferramentas/Trilha.cs
new file mode 100644
index 0000000..f627dc5
--- /dev/null
+++ b/Gestor.Model/Gestor.Model.Domain.Ferramentas/Trilha.cs
@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Seguros;
+using Gestor.Model.Helper;
+using Gestor.Model.Resources;
+using Gestor.Model.Validation;
+using Newtonsoft.Json;
+
+namespace Gestor.Model.Domain.Ferramentas;
+
+public class Trilha : DomainBase, IDomain
+{
+ public string Titulo { get; set; }
+
+ public string Descricao { get; set; }
+
+ public List<Fase> Fases { get; set; }
+
+ public bool Ativo { get; set; }
+
+ public TipoTrilha Tipo { get; set; }
+
+ [JsonIgnore]
+ public Func<List<KeyValuePair<string, string>>> ValidationEvent => Validate;
+
+ public List<KeyValuePair<string, string>> Validate()
+ {
+ List<KeyValuePair<string, string>> list = ValidationHelper.AddValue();
+ if (string.IsNullOrWhiteSpace(Titulo))
+ {
+ list.AddValue("Titulo", Messages.Obrigatorio);
+ }
+ if (Fases == null || Fases.Count == 0)
+ {
+ list.AddValue("Fases", Messages.Obrigatorio);
+ }
+ return list;
+ }
+
+ public List<TupleList> Log()
+ {
+ List<TupleList> list = new List<TupleList>();
+ list.Add(new TupleList
+ {
+ Tuples = new ObservableCollection<Tuple<string, string, string>>
+ {
+ new Tuple<string, string, string>("TÍTULO DA TRILHA", string.IsNullOrWhiteSpace(Titulo) ? "" : Titulo, ""),
+ new Tuple<string, string, string>("DESCRIÇÃO DA TRILHA", string.IsNullOrWhiteSpace(Descricao) ? "" : Descricao, ""),
+ new Tuple<string, string, string>("ATIVO", Ativo ? "SIM" : "NÃO", "")
+ }
+ });
+ ObservableCollection<Tuple<string, string, string>> observableCollection = new ObservableCollection<Tuple<string, string, string>>
+ {
+ new Tuple<string, string, string>("FASES$", "", "")
+ };
+ if (Fases != null)
+ {
+ foreach (Fase fase in Fases)
+ {
+ observableCollection.Add(new Tuple<string, string, string>($" FASE {Fases.IndexOf(fase) + 1}$", "", ""));
+ observableCollection.Add(new Tuple<string, string, string>(" TÍTULO DA FASE", string.IsNullOrWhiteSpace(fase.Titulo) ? "" : fase.Titulo, ""));
+ observableCollection.Add(new Tuple<string, string, string>(" DESCRIÇÃO DA FASE", string.IsNullOrWhiteSpace(fase.Descricao) ? "" : fase.Descricao, ""));
+ foreach (Tarefa tarefa in fase.Tarefas)
+ {
+ observableCollection.Add(new Tuple<string, string, string>($" TAREFA {fase.Tarefas.IndexOf(tarefa) + 1}$", "", ""));
+ observableCollection.Add(new Tuple<string, string, string>(" TÍTULO DA TAREFA", string.IsNullOrWhiteSpace(tarefa.Titulo) ? "" : tarefa.Titulo, ""));
+ _ = tarefa.Agendamento;
+ observableCollection.Add(new Tuple<string, string, string>(" AGENDAMENTO DA TAREFA", tarefa.Agendamento.ToShortDateString(), ""));
+ _ = tarefa.Agendamento;
+ observableCollection.Add(new Tuple<string, string, string>(" HORA DA TAREFA", tarefa.Agendamento.ToShortTimeString(), ""));
+ observableCollection.Add(new Tuple<string, string, string>(" ANOTAÇÕES DA TAREFA", string.IsNullOrWhiteSpace(tarefa.Anotacoes) ? "" : tarefa.Anotacoes, ""));
+ observableCollection.Add(new Tuple<string, string, string>(" STATUS DA TAREFA", tarefa.Status.GetDescription(), ""));
+ }
+ }
+ list.Add(new TupleList
+ {
+ Tuples = observableCollection
+ });
+ }
+ return list;
+ }
+}