diff options
Diffstat (limited to 'Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs')
| -rw-r--r-- | Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs | 244 |
1 files changed, 244 insertions, 0 deletions
diff --git a/Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs b/Gestor.Application/ViewModels/Drawer/MetaVendedorViewModel.cs new file mode 100644 index 0000000..23f8929 --- /dev/null +++ b/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<MetaVendedor> _metasVendedor = new ObservableCollection<MetaVendedor>();
+
+ 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<MetaVendedor> 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>((MetaVendedor x) => x.get_Id() == this.CancelMetaVendedor.get_Id()))
+ {
+ DomainBase.Copy<MetaVendedor, MetaVendedor>(this.MetasVendedor.First<MetaVendedor>((MetaVendedor x) => x.get_Id() == this.CancelMetaVendedor.get_Id()), this.CancelMetaVendedor);
+ this.SelectedMetaVendedor = this.MetasVendedor.First<MetaVendedor>((MetaVendedor x) => x.get_Id() == this.CancelMetaVendedor.get_Id());
+ }
+ base.Alterar(false);
+ this.Carregando = false;
+ }
+
+ private async Task CarregarMetas(Vendedor vendedor)
+ {
+ List<MetaVendedor> metaVendedors = await (new BaseServico()).BuscarMetaVendedorAsync(vendedor);
+ MetaVendedorViewModel observableCollection = this;
+ List<MetaVendedor> metaVendedors1 = metaVendedors;
+ IOrderedEnumerable<MetaVendedor> mes =
+ from x in metaVendedors1
+ orderby x.get_Mes()
+ select x;
+ observableCollection.MetasVendedor = new ObservableCollection<MetaVendedor>(mes.ThenBy<MetaVendedor, decimal>((MetaVendedor x) => x.get_Valor()).ToList<MetaVendedor>());
+ }
+
+ public async Task<bool> 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<MetaVendedor>();
+ }
+ 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<List<KeyValuePair<string, string>>> Salvar()
+ {
+ List<KeyValuePair<string, string>> 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>((MetaVendedor x) => x.get_Id() == metaVendedor.get_Id()))
+ {
+ this.MetasVendedor.Add(metaVendedor);
+ }
+ else
+ {
+ DomainBase.Copy<MetaVendedor, MetaVendedor>(this.MetasVendedor.First<MetaVendedor>((MetaVendedor x) => x.get_Id() == metaVendedor.get_Id()), metaVendedor);
+ }
+ this.MetasVendedor = new ObservableCollection<MetaVendedor>(this.MetasVendedor);
+ this.SelectedMetaVendedor = this.MetasVendedor.First<MetaVendedor>((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<MetaVendedor>());
+ }
+ this.Carregando = false;
+ }
+
+ public void SelecionaMetaVendedor(MetaVendedor metaVendedor)
+ {
+ this.SelectedMetaVendedor = metaVendedor;
+ }
+ }
+}
\ No newline at end of file |