summaryrefslogtreecommitdiff
path: root/Gestor.Application/ViewModels/Ferramentas/QualificacaoViewModel.cs
blob: c259f93bb31cd42d75fe4456198bac4f1fa2e3f9 (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
using Gestor.Application.Servicos.Ferramentas;
using Gestor.Application.Servicos.Generic;
using Gestor.Application.ViewModels.Generic;
using Gestor.Model.Common;
using Gestor.Model.Domain.Generic;
using Gestor.Model.Domain.Seguros;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;

namespace Gestor.Application.ViewModels.Ferramentas
{
	public class QualificacaoViewModel : BaseSegurosViewModel
	{
		private readonly QualificacaoServico _servico;

		private Qualificacao _selectedQualificacao;

		public Qualificacao CancelQualificacao;

		public Qualificacao SelectedQualificacao
		{
			get
			{
				return this._selectedQualificacao;
			}
			set
			{
				if (value == null || value.get_Id() == 0)
				{
					Qualificacao qualificacao = new Qualificacao();
					qualificacao.set_Liquido1(decimal.Zero);
					qualificacao.set_Liquido2(new decimal(1000));
					qualificacao.set_Liquido3(new decimal(5000));
					qualificacao.set_Comissao1(new decimal(10));
					qualificacao.set_Comissao2(new decimal(15));
					qualificacao.set_Comissao3(new decimal(20));
					qualificacao.set_Resultado1(new decimal(100));
					qualificacao.set_Resultado2(new decimal(200));
					qualificacao.set_Resultado3(new decimal(300));
					qualificacao.set_Id((long)1);
					value = qualificacao;
				}
				this._selectedQualificacao = value;
				base.VerificarEnables(new long?(value.get_Id()));
				base.OnPropertyChanged("SelectedQualificacao");
			}
		}

		public QualificacaoViewModel()
		{
			this._servico = new QualificacaoServico();
			this.Seleciona();
		}

		public void CancelarAlteracao()
		{
			base.Loading(true);
			if (this.SelectedQualificacao.get_Id() != 0)
			{
				this.SelectedQualificacao = this.CancelQualificacao;
			}
			else
			{
				this.SelectedQualificacao = null;
				base.Alterar(false);
				base.EnableMenu = false;
				base.Loading(false);
			}
			base.Alterar(false);
			base.Loading(false);
		}

		public async Task<List<KeyValuePair<string, string>>> Salvar()
		{
			List<KeyValuePair<string, string>> keyValuePairs;
			if (await this._servico.BuscarQualificacaoAsync().get_Id() == 0)
			{
				this.SelectedQualificacao.set_Id((long)0);
			}
			List<KeyValuePair<string, string>> keyValuePairs1 = this.SelectedQualificacao.Validate();
			if (keyValuePairs1.Count <= 0)
			{
				this.SelectedQualificacao = await this._servico.Save(this.SelectedQualificacao);
				if (this._servico.Sucesso)
				{
					base.RegistrarAcao("ALTEROU QUALIFICAÇÃO", (long)0, new TipoTela?(48), null);
					base.Alterar(false);
					base.ToggleSnackBar("QUALIFICACAO SALVA COM SUCESSO", true);
					keyValuePairs = null;
				}
				else
				{
					keyValuePairs = null;
				}
			}
			else
			{
				keyValuePairs = keyValuePairs1;
			}
			return keyValuePairs;
		}

		private async void Seleciona()
		{
			base.Loading(true);
			await base.PermissaoTela(48);
			await this.SelecionaQualificacao();
			base.Loading(false);
		}

		private async Task SelecionaQualificacao()
		{
			base.Loading(true);
			this.SelectedQualificacao = await this._servico.BuscarQualificacaoAsync();
			base.RegistrarAcao("ACESSOU QUALIFICAÇÃO", (long)0, new TipoTela?(48), null);
			base.Loading(false);
		}
	}
}