From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../ViewModels/Drawer/MetaVendedorViewModel.cs | 244 +++++++++++++++++++++ 1 file changed, 244 insertions(+) create mode 100644 Codemerx/Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs (limited to 'Codemerx/Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs') diff --git a/Codemerx/Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs b/Codemerx/Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs new file mode 100644 index 0000000..23f8929 --- /dev/null +++ b/Codemerx/Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs @@ -0,0 +1,244 @@ +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; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; + +namespace Gestor.Application.ViewModels.Drawer +{ + public class MetaVendedorViewModel : BaseSegurosViewModel + { + private readonly MetaVendedorServico _servico; + + private readonly Vendedor _selectedVendedor; + + private MetaVendedor _selectedMetaVendedor = new MetaVendedor(); + + private ObservableCollection _metasVendedor = new ObservableCollection(); + + private bool _carregando; + + public MetaVendedor CancelMetaVendedor; + + public bool Carregando + { + get + { + return this._carregando; + } + set + { + this._carregando = value; + base.IsEnabled = !value; + base.EnableMenu = !value; + base.OnPropertyChanged("Carregando"); + } + } + + public ObservableCollection MetasVendedor + { + get + { + return this._metasVendedor; + } + set + { + this._metasVendedor = value; + base.OnPropertyChanged("MetasVendedor"); + } + } + + public MetaVendedor SelectedMetaVendedor + { + get + { + return this._selectedMetaVendedor; + } + set + { + long? nullable; + this._selectedMetaVendedor = value; + this.CancelMetaVendedor = (value == null || value.get_Id() <= (long)0 ? this.CancelMetaVendedor : value); + if (value != null) + { + nullable = new long?(value.get_Id()); + } + else + { + nullable = null; + } + base.VerificarEnables(nullable); + base.OnPropertyChanged("SelectedMetaVendedor"); + } + } + + public MetaVendedorViewModel(Vendedor vendedor) + { + this._servico = new MetaVendedorServico(); + this.Seleciona(vendedor); + this._selectedVendedor = vendedor; + } + + public void CancelarAlteracao() + { + this.Carregando = true; + if (this.CancelMetaVendedor != null && this.MetasVendedor.Any((MetaVendedor x) => x.get_Id() == this.CancelMetaVendedor.get_Id())) + { + DomainBase.Copy(this.MetasVendedor.First((MetaVendedor x) => x.get_Id() == this.CancelMetaVendedor.get_Id()), this.CancelMetaVendedor); + this.SelectedMetaVendedor = this.MetasVendedor.First((MetaVendedor x) => x.get_Id() == this.CancelMetaVendedor.get_Id()); + } + base.Alterar(false); + this.Carregando = false; + } + + private async Task CarregarMetas(Vendedor vendedor) + { + List metaVendedors = await (new BaseServico()).BuscarMetaVendedorAsync(vendedor); + MetaVendedorViewModel observableCollection = this; + List metaVendedors1 = metaVendedors; + IOrderedEnumerable mes = + from x in metaVendedors1 + orderby x.get_Mes() + select x; + observableCollection.MetasVendedor = new ObservableCollection(mes.ThenBy((MetaVendedor x) => x.get_Valor()).ToList()); + } + + public async Task Excluir() + { + bool flag; + string str; + string str1; + if (this.SelectedMetaVendedor == null || this.SelectedMetaVendedor.get_Id() == 0) + { + flag = false; + } + else if (await base.ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO", false)) + { + this.Carregando = true; + str = string.Concat("EXCLUIU META DO VENDEDOR \"", this._selectedVendedor.get_Nome(), "\""); + long id = this.SelectedMetaVendedor.get_Id(); + object[] objArray = new object[] { this.SelectedMetaVendedor.get_Id(), this.SelectedMetaVendedor.get_Valor(), Functions.GetDescription(this.SelectedMetaVendedor.get_Mes()), this.SelectedMetaVendedor.get_Ano() }; + str1 = string.Format("ID: {0}\nVALOR: {1:C}\nMÊS: {2}\nANO: {3}", objArray); + if (await this._servico.Delete(this.SelectedMetaVendedor)) + { + base.RegistrarAcao(str, id, new TipoTela?(30), str1); + await this.CarregarMetas(this._selectedVendedor); + if (this.MetasVendedor.Count <= 0) + { + this.SelectedMetaVendedor = new MetaVendedor(); + base.Alterar(false); + base.EnableMenu = false; + base.EnableAlterar = false; + base.EnableExcluir = false; + } + else + { + this.SelectedMetaVendedor = this.MetasVendedor.First(); + } + this.Carregando = false; + flag = true; + } + else + { + this.Carregando = false; + base.Alterar(false); + flag = false; + } + } + else + { + flag = false; + } + str = null; + str1 = null; + return flag; + } + + public void Incluir() + { + DateTime date = Funcoes.GetNetworkTime().Date; + MetaVendedor metaVendedor = new MetaVendedor(); + metaVendedor.set_Ano((long)date.Year); + metaVendedor.set_Mes(date.Month); + this.SelectedMetaVendedor = metaVendedor; + base.Alterar(true); + } + + public async Task>> Salvar() + { + List> keyValuePairs; + string str; + this.SelectedMetaVendedor.set_Vendedor(this._selectedVendedor); + this._servico.Sucesso = true; + str = (this.SelectedMetaVendedor.get_Id() == 0 ? "INCLUIU" : "ALTEROU"); + string str1 = str; + MetaVendedor metaVendedor = await this._servico.Save(this.SelectedMetaVendedor); + if (this._servico.Sucesso) + { + string str2 = string.Concat(str1, " META DO VENDEDOR \"", metaVendedor.get_Vendedor().get_Nome(), "\""); + long id = metaVendedor.get_Id(); + TipoTela? nullable = new TipoTela?(30); + object[] objArray = new object[] { metaVendedor.get_Id(), metaVendedor.get_Valor(), Functions.GetDescription(metaVendedor.get_Mes()), metaVendedor.get_Ano() }; + base.RegistrarAcao(str2, id, nullable, string.Format("ID: {0}\nVALOR: {1:C}\nMÊS: {2}\nANO: {3}", objArray)); + if (!this.MetasVendedor.Any((MetaVendedor x) => x.get_Id() == metaVendedor.get_Id())) + { + this.MetasVendedor.Add(metaVendedor); + } + else + { + DomainBase.Copy(this.MetasVendedor.First((MetaVendedor x) => x.get_Id() == metaVendedor.get_Id()), metaVendedor); + } + this.MetasVendedor = new ObservableCollection(this.MetasVendedor); + this.SelectedMetaVendedor = this.MetasVendedor.First((MetaVendedor x) => x.get_Id() == metaVendedor.get_Id()); + base.Alterar(false); + keyValuePairs = null; + } + else + { + keyValuePairs = null; + } + str1 = null; + return keyValuePairs; + } + + private async void Seleciona(Vendedor vendedor) + { + base.Loading(true); + await base.PermissaoTela(30); + await this.SelecionaMetasVendedor(vendedor); + base.Loading(false); + } + + private async Task SelecionaMetasVendedor(Vendedor vendedor) + { + this.Carregando = true; + await this.CarregarMetas(vendedor); + if (this.MetasVendedor.Count <= 0) + { + this.SelectedMetaVendedor = new MetaVendedor(); + base.Alterar(false); + base.EnableMenu = false; + } + else + { + this.SelecionaMetaVendedor(this.MetasVendedor.First()); + } + this.Carregando = false; + } + + public void SelecionaMetaVendedor(MetaVendedor metaVendedor) + { + this.SelectedMetaVendedor = metaVendedor; + } + } +} \ No newline at end of file -- cgit v1.2.3