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/Generic/DialogVinculoViewModel.cs | 257 +++++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 Codemerx/Gestor.Application/ViewModels/Generic/DialogVinculoViewModel.cs (limited to 'Codemerx/Gestor.Application/ViewModels/Generic/DialogVinculoViewModel.cs') diff --git a/Codemerx/Gestor.Application/ViewModels/Generic/DialogVinculoViewModel.cs b/Codemerx/Gestor.Application/ViewModels/Generic/DialogVinculoViewModel.cs new file mode 100644 index 0000000..1d526ea --- /dev/null +++ b/Codemerx/Gestor.Application/ViewModels/Generic/DialogVinculoViewModel.cs @@ -0,0 +1,257 @@ +using Gestor.Application.Helpers; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Runtime.CompilerServices; + +namespace Gestor.Application.ViewModels.Generic +{ + public class DialogVinculoViewModel : BaseViewModel + { + private Gestor.Model.Domain.Seguros.Repasse _repasse; + + private List _tiposVendedor; + + private ObservableCollection _vendedoresAtivos; + + private Vendedor _selectedVendedor; + + private ObservableCollection _repassesVinculo; + + private Gestor.Model.Domain.Seguros.Repasse _selectedRepasse; + + private TipoVendedor _selectedTipo; + + private TipoVendedor _selectedTipoVinculo; + + public Gestor.Model.Domain.Seguros.Repasse Repasse + { + get + { + return this._repasse; + } + set + { + this._repasse = value; + base.OnPropertyChanged("Repasse"); + } + } + + public List Repasses + { + get; + set; + } + + public ObservableCollection RepassesVinculo + { + get + { + return this._repassesVinculo; + } + set + { + this._repassesVinculo = value; + base.OnPropertyChanged("RepassesVinculo"); + } + } + + public Gestor.Model.Domain.Seguros.Repasse SelectedRepasse + { + get + { + return this._selectedRepasse; + } + set + { + this._selectedRepasse = value; + this.Vinculo.set_RepasseVinculo(value); + base.OnPropertyChanged("SelectedRepasse"); + } + } + + public TipoVendedor SelectedTipo + { + get + { + return this._selectedTipo; + } + set + { + this._selectedTipo = value; + this.Vinculo.set_TipoVendedor(value); + base.OnPropertyChanged("SelectedTipo"); + } + } + + public TipoVendedor SelectedTipoVinculo + { + get + { + return this._selectedTipoVinculo; + } + set + { + this._selectedTipoVinculo = value; + this.Vinculo.set_TipoVendedorVinculo(value); + base.OnPropertyChanged("SelectedTipoVinculo"); + } + } + + public Vendedor SelectedVendedor + { + get + { + return this._selectedVendedor; + } + set + { + ObservableCollection observableCollection; + this._selectedVendedor = value; + if (value == null) + { + observableCollection = null; + } + else + { + observableCollection = new ObservableCollection( + from x in this.Repasses + where x.get_Vendedor().get_Id() == value.get_Id() + select x); + } + this.RepassesVinculo = observableCollection; + base.OnPropertyChanged("SelectedVendedor"); + } + } + + public List TiposVendedor + { + get + { + return this._tiposVendedor; + } + set + { + this._tiposVendedor = value; + base.OnPropertyChanged("TiposVendedor"); + } + } + + public List Vendedores + { + get; + set; + } + + public ObservableCollection VendedoresAtivos + { + get + { + return this._vendedoresAtivos; + } + set + { + this._vendedoresAtivos = value; + base.OnPropertyChanged("VendedoresAtivos"); + } + } + + public VinculoRepasse Vinculo + { + get; + set; + } + + public DialogVinculoViewModel(VinculoRepasse vinculo, List repasses, Gestor.Model.Domain.Seguros.Repasse repasse) + { + List tipoVendedor = Recursos.TipoVendedor; + if (tipoVendedor != null) + { + list = tipoVendedor.Where((TipoVendedor x) => { + if (!x.get_Ativo().HasValue) + { + return true; + } + return x.get_Ativo().Value; + }).ToList(); + } + else + { + list = null; + } + this._tiposVendedor = list; + this._vendedoresAtivos = new ObservableCollection(); + this._selectedVendedor = new Vendedor(); + this._repassesVinculo = new ObservableCollection(); + this._selectedRepasse = new Gestor.Model.Domain.Seguros.Repasse(); + this._selectedTipo = new TipoVendedor(); + this._selectedTipoVinculo = new TipoVendedor(); + base(); + List list; + Vendedor vendedor; + Gestor.Model.Domain.Seguros.Repasse repasse1; + TipoVendedor tipoVendedor1; + TipoVendedor tipoVendedor2; + DialogVinculoViewModel dialogVinculoViewModel = this; + this.Repasse = repasse; + this.Repasses = repasses; + VinculoRepasse vinculoRepasse = new VinculoRepasse(); + vinculoRepasse.set_IdRepasse(vinculo.get_IdRepasse()); + vinculoRepasse.set_Id(vinculo.get_Id()); + this.Vinculo = vinculoRepasse; + this.Vendedores = ( + from x in this.Repasses + group x by x.get_Vendedor().get_Id() into x + select x.First().get_Vendedor() into x + orderby x.get_Nome() + select x).ToList(); + long id = this.Repasses.First((Gestor.Model.Domain.Seguros.Repasse x) => x.get_Id() == dialogVinculoViewModel.Vinculo.get_IdRepasse()).get_Vendedor().get_Id(); + this.VendedoresAtivos = new ObservableCollection(this.Vendedores.Where((Vendedor x) => { + if (x.get_IdEmpresa() != Recursos.Usuario.get_IdEmpresa() || !x.get_Ativo() || x.get_Corretora()) + { + return false; + } + return x.get_Id() != id; + })); + if (vinculo.get_RepasseVinculo() != null) + { + vendedor = this.VendedoresAtivos.FirstOrDefault((Vendedor x) => x.get_Id() == vinculo.get_RepasseVinculo().get_Vendedor().get_Id()); + } + else + { + vendedor = null; + } + this.SelectedVendedor = vendedor; + if (vinculo.get_RepasseVinculo() != null) + { + repasse1 = this.RepassesVinculo.FirstOrDefault((Gestor.Model.Domain.Seguros.Repasse x) => x.get_Id() == vinculo.get_RepasseVinculo().get_Id()); + } + else + { + repasse1 = null; + } + this.SelectedRepasse = repasse1; + if (vinculo.get_TipoVendedor() != null) + { + tipoVendedor1 = this.TiposVendedor.FirstOrDefault((TipoVendedor x) => x.get_Id() == vinculo.get_TipoVendedor().get_Id()); + } + else + { + tipoVendedor1 = null; + } + this.SelectedTipo = tipoVendedor1; + if (vinculo.get_TipoVendedorVinculo() != null) + { + tipoVendedor2 = this.TiposVendedor.FirstOrDefault((TipoVendedor x) => x.get_Id() == vinculo.get_TipoVendedorVinculo().get_Id()); + } + else + { + tipoVendedor2 = null; + } + this.SelectedTipoVinculo = tipoVendedor2; + } + } +} \ No newline at end of file -- cgit v1.2.3