summaryrefslogtreecommitdiff
path: root/Gestor.Model/Model.Domain.Seguros/Controle.cs
blob: 3ae91c6b945c1a5559032aebff66c3ed9d326dd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
using Gestor.Model.Attributes;
using Gestor.Model.Domain.Generic;
using Gestor.Model.Helper;
using Gestor.Model.Resources;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;

namespace Gestor.Model.Domain.Seguros
{
	public class Controle : DomainBase, IDomain
	{
		private long _idEmpresa;

		public string AssistenciaId
		{
			get;
			set;
		}

		[Log(false)]
		public Gestor.Model.Domain.Seguros.Cliente Cliente
		{
			get;
			set;
		}

		[Log(false)]
		public IList<Documento> Documentos
		{
			get;
			set;
		}

		public long IdEmpresa
		{
			get
			{
				return this._idEmpresa;
			}
			set
			{
				this._idEmpresa = (value == 0 ? (long)1 : value);
			}
		}

		[Log(false)]
		public Gestor.Model.Domain.Seguros.Item Item
		{
			get;
			set;
		}

		[Description("PRODUTO")]
		[Log(true)]
		[Name(true)]
		public Gestor.Model.Domain.Seguros.Produto Produto
		{
			get;
			set;
		}

		[Description("RAMO")]
		[Log(true)]
		[Name(true)]
		public Gestor.Model.Domain.Seguros.Ramo Ramo
		{
			get;
			set;
		}

		[Description("SEGURADORA")]
		[Log(true)]
		[Name(true)]
		public Gestor.Model.Domain.Seguros.Seguradora Seguradora
		{
			get;
			set;
		}

		[Description("SEGURADORA ANTERIOR")]
		[Log(true)]
		[Name(true)]
		public Gestor.Model.Domain.Seguros.Seguradora SeguradoraAnterior
		{
			get;
			set;
		}

		[JsonIgnore]
		public Func<List<KeyValuePair<string, string>>> ValidationEvent
		{
			get
			{
				Controle controle = this;
				return new Func<List<KeyValuePair<string, string>>>(controle.Validate);
			}
		}

		public Controle()
		{
		}

		public List<KeyValuePair<string, string>> Validate()
		{
			List<KeyValuePair<string, string>> keyValuePairs = ValidationHelper.AddValue();
			if (this.Cliente == null || this.Cliente.Id == 0)
			{
				keyValuePairs.AddValue<string, string>("Cliente", Messages.Obrigatorio, true);
			}
			if (this.Seguradora == null || this.Seguradora.Id == 0)
			{
				keyValuePairs.AddValue<string, string>("Seguradora", Messages.Obrigatorio, true);
			}
			if (this.Ramo == null || this.Ramo.Id == 0)
			{
				keyValuePairs.AddValue<string, string>("Ramo", Messages.Obrigatorio, true);
			}
			if (this.IdEmpresa == 0)
			{
				keyValuePairs.AddValue<string, string>("Empresa", Messages.Obrigatorio, true);
			}
			return keyValuePairs;
		}
	}
}