diff options
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Ferramentas/Trilha.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Ferramentas/Trilha.cs | 85 |
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; + } +} |