summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.ViewModels.Drawer/MetaVendedorViewModel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Drawer/MetaVendedorViewModel.cs')
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Drawer/MetaVendedorViewModel.cs209
1 files changed, 209 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Drawer/MetaVendedorViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Drawer/MetaVendedorViewModel.cs
new file mode 100644
index 0000000..55f706c
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Drawer/MetaVendedorViewModel.cs
@@ -0,0 +1,209 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Threading.Tasks;
+using Assinador.Infrastructure.Helpers;
+using Gestor.Application.Helpers;
+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;
+
+namespace Gestor.Application.ViewModels.Drawer;
+
+public class MetaVendedorViewModel : BaseSegurosViewModel
+{
+ private readonly MetaVendedorServico _servico;
+
+ private readonly Vendedor _selectedVendedor;
+
+ private MetaVendedor _selectedMetaVendedor = new MetaVendedor();
+
+ private ObservableCollection<MetaVendedor> _metasVendedor = new ObservableCollection<MetaVendedor>();
+
+ private bool _carregando;
+
+ public MetaVendedor CancelMetaVendedor;
+
+ public MetaVendedor SelectedMetaVendedor
+ {
+ get
+ {
+ return _selectedMetaVendedor;
+ }
+ set
+ {
+ _selectedMetaVendedor = value;
+ CancelMetaVendedor = ((value != null && ((DomainBase)value).Id > 0) ? value : CancelMetaVendedor);
+ VerificarEnables((value != null) ? new long?(((DomainBase)value).Id) : null);
+ OnPropertyChanged("SelectedMetaVendedor");
+ }
+ }
+
+ public ObservableCollection<MetaVendedor> MetasVendedor
+ {
+ get
+ {
+ return _metasVendedor;
+ }
+ set
+ {
+ _metasVendedor = value;
+ OnPropertyChanged("MetasVendedor");
+ }
+ }
+
+ public bool Carregando
+ {
+ get
+ {
+ return _carregando;
+ }
+ set
+ {
+ _carregando = value;
+ base.IsEnabled = !value;
+ base.EnableMenu = !value;
+ OnPropertyChanged("Carregando");
+ }
+ }
+
+ public MetaVendedorViewModel(Vendedor vendedor)
+ {
+ //IL_0001: Unknown result type (might be due to invalid IL or missing references)
+ //IL_000b: Expected O, but got Unknown
+ _servico = new MetaVendedorServico();
+ Seleciona(vendedor);
+ _selectedVendedor = vendedor;
+ }
+
+ private async void Seleciona(Vendedor vendedor)
+ {
+ Loading(isLoading: true);
+ await PermissaoTela((TipoTela)30);
+ await SelecionaMetasVendedor(vendedor);
+ Loading(isLoading: false);
+ }
+
+ public void SelecionaMetaVendedor(MetaVendedor metaVendedor)
+ {
+ SelectedMetaVendedor = metaVendedor;
+ }
+
+ private async Task SelecionaMetasVendedor(Vendedor vendedor)
+ {
+ Carregando = true;
+ await CarregarMetas(vendedor);
+ if (MetasVendedor.Count > 0)
+ {
+ SelecionaMetaVendedor(MetasVendedor.First());
+ }
+ else
+ {
+ SelectedMetaVendedor = new MetaVendedor();
+ Alterar(alterar: false);
+ base.EnableMenu = false;
+ }
+ Carregando = false;
+ }
+
+ public void Incluir()
+ {
+ //IL_000f: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0014: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0022: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0034: Expected O, but got Unknown
+ DateTime date = Funcoes.GetNetworkTime().Date;
+ SelectedMetaVendedor = new MetaVendedor
+ {
+ Ano = date.Year,
+ Mes = (Mes)date.Month
+ };
+ Alterar(alterar: true);
+ }
+
+ public async Task<List<KeyValuePair<string, string>>> Salvar()
+ {
+ SelectedMetaVendedor.Vendedor = _selectedVendedor;
+ _servico.Sucesso = true;
+ string acao = ((((DomainBase)SelectedMetaVendedor).Id == 0L) ? "INCLUIU" : "ALTEROU");
+ MetaVendedor value = await _servico.Save(SelectedMetaVendedor);
+ if (!_servico.Sucesso)
+ {
+ return null;
+ }
+ RegistrarAcao(acao + " META DO VENDEDOR \"" + value.Vendedor.Nome + "\"", ((DomainBase)value).Id, (TipoTela)30, $"ID: {((DomainBase)value).Id}\nVALOR: {value.Valor:C}\nMÊS: {Functions.GetDescription((Enum)(object)value.Mes)}\nANO: {value.Ano}");
+ if (MetasVendedor.Any((MetaVendedor x) => ((DomainBase)x).Id == ((DomainBase)value).Id))
+ {
+ DomainBase.Copy<MetaVendedor, MetaVendedor>(MetasVendedor.First((MetaVendedor x) => ((DomainBase)x).Id == ((DomainBase)value).Id), value);
+ }
+ else
+ {
+ MetasVendedor.Add(value);
+ }
+ MetasVendedor = new ObservableCollection<MetaVendedor>(MetasVendedor);
+ SelectedMetaVendedor = MetasVendedor.First((MetaVendedor x) => ((DomainBase)x).Id == ((DomainBase)value).Id);
+ Alterar(alterar: false);
+ return null;
+ }
+
+ public async Task<bool> Excluir()
+ {
+ if (SelectedMetaVendedor == null || ((DomainBase)SelectedMetaVendedor).Id == 0L)
+ {
+ return false;
+ }
+ if (!(await ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO")))
+ {
+ return false;
+ }
+ Carregando = true;
+ string log = "EXCLUIU META DO VENDEDOR \"" + _selectedVendedor.Nome + "\"";
+ long id = ((DomainBase)SelectedMetaVendedor).Id;
+ string descricao = $"ID: {((DomainBase)SelectedMetaVendedor).Id}\nVALOR: {SelectedMetaVendedor.Valor:C}\nMÊS: {Functions.GetDescription((Enum)(object)SelectedMetaVendedor.Mes)}\nANO: {SelectedMetaVendedor.Ano}";
+ if (!(await _servico.Delete(SelectedMetaVendedor)))
+ {
+ Carregando = false;
+ Alterar(alterar: false);
+ return false;
+ }
+ RegistrarAcao(log, id, (TipoTela)30, descricao);
+ await CarregarMetas(_selectedVendedor);
+ if (MetasVendedor.Count > 0)
+ {
+ SelectedMetaVendedor = MetasVendedor.First();
+ }
+ else
+ {
+ SelectedMetaVendedor = new MetaVendedor();
+ Alterar(alterar: false);
+ base.EnableMenu = false;
+ base.EnableAlterar = false;
+ base.EnableExcluir = false;
+ }
+ Carregando = false;
+ return true;
+ }
+
+ public void CancelarAlteracao()
+ {
+ Carregando = true;
+ if (CancelMetaVendedor != null && MetasVendedor.Any((MetaVendedor x) => ((DomainBase)x).Id == ((DomainBase)CancelMetaVendedor).Id))
+ {
+ DomainBase.Copy<MetaVendedor, MetaVendedor>(MetasVendedor.First((MetaVendedor x) => ((DomainBase)x).Id == ((DomainBase)CancelMetaVendedor).Id), CancelMetaVendedor);
+ SelectedMetaVendedor = MetasVendedor.First((MetaVendedor x) => ((DomainBase)x).Id == ((DomainBase)CancelMetaVendedor).Id);
+ }
+ Alterar(alterar: false);
+ Carregando = false;
+ }
+
+ private async Task CarregarMetas(Vendedor vendedor)
+ {
+ MetasVendedor = new ObservableCollection<MetaVendedor>((from x in await new BaseServico().BuscarMetaVendedorAsync(vendedor)
+ orderby x.Mes, x.Valor
+ select x).ToList());
+ }
+}