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 CoberturaGranizo : DomainBase, IDomain { private string _variedade; private string _quadra; public decimal? Area { get; set; } public Gestor.Model.Domain.Seguros.Granizo Granizo { get; set; } public Gestor.Model.Domain.Seguros.Item Item { get; set; } public decimal? Lmi { get; set; } public DateTime? Plantio { get; set; } public decimal? Premio { get; set; } public decimal? Produtividade { get; set; } public string Quadra { get { string str = this._quadra; if (str != null) { return str.ToUpper(); } return null; } set { this._quadra = value; } } [JsonIgnore] public Func>> ValidationEvent { get { CoberturaGranizo coberturaGranizo = this; return new Func>>(coberturaGranizo.Validate); } } public string Variedade { get { string str = this._variedade; if (str != null) { return str.ToUpper(); } return null; } set { this._variedade = value; } } public CoberturaGranizo() { } public List> Validate() { List> keyValuePairs = ValidationHelper.AddValue(); if (this.Plantio.HasValue && (DateTime.Compare(this.Plantio.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(this.Plantio.Value, new DateTime(9999, 12, 31)) > 0)) { keyValuePairs.AddValue("Plantio", string.Format(Messages.DataInvalida, Array.Empty()), true); } if (string.IsNullOrWhiteSpace(this.Variedade) && this.Variedade.Length > 60) { keyValuePairs.AddValue("Variedade", string.Format(Messages.MaiorQueLimite, 60), true); } if (string.IsNullOrWhiteSpace(this.Quadra) && this.Quadra.Length > 30) { keyValuePairs.AddValue("Quadra", string.Format(Messages.MaiorQueLimite, 30), true); } return keyValuePairs; } } }