using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using Gestor.Application.Helpers; using Gestor.Application.ViewModels.Generic; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Seguros; namespace Gestor.Application.ViewModels.Ferramentas; public class IncluirSeguradoraViewModel : BaseSegurosViewModel { private Seguradora _selectedSeguradora; private Seguradora _adicionarSeguradora; private List _seguradorasAdicionadas; private ObservableCollection _seguradoras; private string _filtro; public Seguradora SelectedSeguradora { get { return _selectedSeguradora; } set { _selectedSeguradora = value; OnPropertyChanged("SelectedSeguradora"); } } public Seguradora AdicionarSeguradora { get { return _adicionarSeguradora; } set { _adicionarSeguradora = value; OnPropertyChanged("AdicionarSeguradora"); } } public List SeguradorasAdicionadas { get { return _seguradorasAdicionadas; } set { _seguradorasAdicionadas = value; OnPropertyChanged("SeguradorasAdicionadas"); } } public ObservableCollection Seguradoras { get { return _seguradoras; } set { _seguradoras = value; OnPropertyChanged("Seguradoras"); } } public string Filtro { get { return _filtro; } set { _filtro = value; OnPropertyChanged("Filtro"); } } public IncluirSeguradoraViewModel(List seguradoras) { SeguradorasAdicionadas = seguradoras; } public async void Pesquisar() { if (string.IsNullOrWhiteSpace(Filtro) || Filtro.Length < 3) { return; } string text = Uri.EscapeDataString(Filtro); Seguradoras = new ObservableCollection((await Connection.Get>("Seguradoras/search?cia=" + text)).Where((Seguradora x) => SeguradorasAdicionadas.All((Seguradora y) => ((DomainBase)y).Id != ((DomainBase)x).Id))); } }