summaryrefslogtreecommitdiff
path: root/Gestor.Model/Gestor.Model.Domain.Seguros/RiscosDiversos.cs
blob: c72eb321c6a008a5c37f41a7c25993c83ae63eff (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
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using Gestor.Model.Domain.Generic;
using Gestor.Model.Helper;
using Gestor.Model.Resources;
using Newtonsoft.Json;

namespace Gestor.Model.Domain.Seguros;

public class RiscosDiversos : DomainBase, IDomain
{
	private string _observacao;

	public Item Item { get; set; }

	public string Observacao
	{
		get
		{
			return _observacao?.ToUpper();
		}
		set
		{
			_observacao = value;
		}
	}

	public decimal? SubsidioEstadual { get; set; }

	public decimal? SubsidioFederal { get; set; }

	public string Area { get; set; }

	[JsonIgnore]
	public Func<List<KeyValuePair<string, string>>> ValidationEvent => Validate;

	public List<KeyValuePair<string, string>> Validate()
	{
		List<KeyValuePair<string, string>> list = ValidationHelper.AddValue();
		if (string.IsNullOrWhiteSpace(Observacao))
		{
			Item item = Item;
			if (item == null || item.Documento.Controle.Ramo.Id != 23)
			{
				list.AddValue("Observacao", Messages.Obrigatorio);
			}
		}
		return list;
	}

	public static List<TupleList> Log(Item item)
	{
		List<TupleList> list = new List<TupleList>
		{
			new TupleList
			{
				Tuples = new ObservableCollection<Tuple<string, string, string>>
				{
					new Tuple<string, string, string>("DESCRIÇÃO", string.IsNullOrWhiteSpace(item.Descricao) ? "" : item.Descricao, ""),
					new Tuple<string, string, string>("OBSERVAÇÕES", string.IsNullOrWhiteSpace(item.RiscosDiversos.Observacao) ? "" : item.RiscosDiversos.Observacao.ToUpper(), "")
				}
			}
		};
		ObservableCollection<Tuple<string, string, string>> observableCollection = new ObservableCollection<Tuple<string, string, string>>
		{
			new Tuple<string, string, string>("COBERTURAS$", "", "")
		};
		foreach (Cobertura cobertura in item.Coberturas)
		{
			observableCollection.Add(new Tuple<string, string, string>($"   COBERTURA {item.Coberturas.IndexOf(cobertura) + 1}$", "", ""));
			observableCollection.Add(new Tuple<string, string, string>("      OBSERVAÇÃO", string.IsNullOrWhiteSpace(cobertura.Observacao) ? "" : cobertura.Observacao.ToUpper(), ""));
			observableCollection.Add(new Tuple<string, string, string>("      PRÊMIO", cobertura.Premio.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), ""));
			observableCollection.Add(new Tuple<string, string, string>("      FRANQUIA", cobertura.Franquia.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), ""));
			observableCollection.Add(new Tuple<string, string, string>("      L.M.I.", cobertura.Lmi.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)), ""));
		}
		list.Add(new TupleList
		{
			Tuples = observableCollection
		});
		return list;
	}
}