From 0440c722a221b8068bbf388c1c0c51f0faff0451 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 14:17:46 -0300 Subject: some dlls --- .../Gestor.Model.Domain.Seguros/Produto.cs | 92 ++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Gestor.Model/Gestor.Model.Domain.Seguros/Produto.cs (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/Produto.cs') diff --git a/Gestor.Model/Gestor.Model.Domain.Seguros/Produto.cs b/Gestor.Model/Gestor.Model.Domain.Seguros/Produto.cs new file mode 100644 index 0000000..e9c1e78 --- /dev/null +++ b/Gestor.Model/Gestor.Model.Domain.Seguros/Produto.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Runtime.CompilerServices; +using Gestor.Model.Attributes; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Newtonsoft.Json; + +namespace Gestor.Model.Domain.Seguros; + +public class Produto : DomainBase, IDomain, INotifyPropertyChanged +{ + private bool _selecionado; + + private string _nome; + + public bool Selecionado + { + get + { + return _selecionado; + } + set + { + if (value != _selecionado) + { + _selecionado = value; + OnPropertyChanged("Selecionado"); + } + } + } + + [Log(true)] + [Name(true)] + [Description("PRODUTO")] + public string Nome + { + get + { + return _nome?.ToUpper(); + } + set + { + _nome = value; + } + } + + [Log(true)] + public bool Ativo { get; set; } + + [JsonIgnore] + public Func>> ValidationEvent => Validate; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + public List> Validate() + { + List> list = ValidationHelper.AddValue(); + if (string.IsNullOrWhiteSpace(Nome)) + { + list.AddValue("Nome", Messages.Obrigatorio); + } + else if (Nome.Length > 60) + { + list.AddValue("Nome", string.Format(Messages.MaiorQueLimite, 60)); + } + return list; + } + + public List Log() + { + return new List + { + new TupleList + { + Tuples = new ObservableCollection> + { + new Tuple("NOME", string.IsNullOrWhiteSpace(Nome) ? "" : Nome, ""), + new Tuple("ATIVO", Ativo ? "SIM" : "NÃO", "") + } + } + }; + } +} -- cgit v1.2.3