diff options
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Ferramentas/NotaFiscal.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Ferramentas/NotaFiscal.cs | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Ferramentas/NotaFiscal.cs b/Gestor.Model/Gestor.Model.Domain.Ferramentas/NotaFiscal.cs new file mode 100644 index 0000000..93a2749 --- /dev/null +++ b/Gestor.Model/Gestor.Model.Domain.Ferramentas/NotaFiscal.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Globalization; +using System.Runtime.CompilerServices; +using Gestor.Model.Attributes; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Newtonsoft.Json; + +namespace Gestor.Model.Domain.Ferramentas; + +public class NotaFiscal : DomainBase +{ + private bool _selecionado; + + public bool Selecionado + { + get + { + return _selecionado; + } + set + { + if (value != _selecionado) + { + _selecionado = value; + OnPropertyChanged("Selecionado"); + } + } + } + + [Log(true)] + public long? IdExtrato { get; set; } + + [Log(true)] + public Seguradora Seguradora { get; set; } + + [Log(true)] + [Description("ISS")] + public decimal Iss { get; set; } + + [Log(true)] + [Description("VALOR LÍQUIDO")] + public decimal ValorLiquido { get; set; } + + [Log(true)] + [Description("VALOR BRUTO")] + public decimal ValorBruto { get; set; } + + [Log(true)] + [Description("DATA")] + public DateTime? Data { get; set; } + + [Log(true)] + [Description("OBS")] + public string Obs { get; set; } + + [Log(true)] + [Description("ESTIPULANTE")] + public Estipulante Estipulante { get; set; } + + [Log(true)] + [Description("EXTRATO")] + public string Extrato { get; set; } + + [Log(true)] + [Description("IR")] + public decimal Ir { get; set; } + + [JsonIgnore] + public Func<List<KeyValuePair<string, string>>> ValidationEvent => Validate; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + public List<KeyValuePair<string, string>> Validate() + { + List<KeyValuePair<string, string>> list = ValidationHelper.AddValue(); + if (Seguradora == null || string.IsNullOrEmpty(Seguradora.Nome)) + { + list.AddValue("Seguradora", Messages.Obrigatorio); + } + return list; + } + + public List<TupleList> Log() + { + return new List<TupleList> + { + new TupleList + { + Tuples = new ObservableCollection<Tuple<string, string, string>> + { + new Tuple<string, string, string>("SEGURADORA", string.IsNullOrWhiteSpace(Seguradora.Nome) ? "" : Seguradora.Nome, ""), + new Tuple<string, string, string>("ESTIPULANTE", string.IsNullOrWhiteSpace(Estipulante?.Nome) ? "" : Estipulante?.Nome, ""), + new Tuple<string, string, string>("ISS", Iss.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), ""), + new Tuple<string, string, string>("VALOR LÍQUIDO", ValorLiquido.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), ""), + new Tuple<string, string, string>("VALOR BRUTO", ValorBruto.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), ""), + new Tuple<string, string, string>("DATA", (!Data.HasValue) ? "" : Data?.ToShortDateString(), "") + } + } + }; + } +} |