diff options
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Drawer/MetaVendedorViewModel.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.ViewModels.Drawer/MetaVendedorViewModel.cs | 209 |
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()); + } +} |