using Gestor.Model.Domain.Generic; using Gestor.Model.Helper; using Gestor.Model.Resources; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Runtime.CompilerServices; namespace Gestor.Model.Domain.Seguros { public class Cobertura : DomainBase, IDomain { private string _observacao; public Gestor.Model.Domain.Seguros.CoberturaPadrao CoberturaPadrao { get; set; } public decimal Franquia { get; set; } public Gestor.Model.Domain.Seguros.Item Item { get; set; } public decimal Lmi { get; set; } public string Observacao { get { string str = this._observacao; if (str != null) { return str.ToUpper(); } return null; } set { this._observacao = (!string.IsNullOrWhiteSpace(value) || this.CoberturaPadrao == null ? value : this.CoberturaPadrao.Descricao); } } public decimal Premio { get; set; } [JsonIgnore] public Func>> ValidationEvent { get { Cobertura cobertura = this; return new Func>>(cobertura.Validate); } } public Cobertura() { } public List> Validate() { List> keyValuePairs = ValidationHelper.AddValue(); if ((this.Lmi != decimal.Zero || this.Premio != decimal.Zero || this.Franquia != decimal.Zero) && string.IsNullOrWhiteSpace(this.Observacao)) { keyValuePairs.AddValue("Observacao", Messages.Obrigatorio, true); } return keyValuePairs; } } }