summaryrefslogtreecommitdiff
path: root/Codemerx/Gestor.Application/ViewModels/Seguros/Itens/BuscarModeloViewModel.cs
blob: b97c9ea2162f239dc73b3eb600757b948db2ae12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
using CsQuery.ExtensionMethods.Internal;
using Gestor.Application.Servicos.Seguros.Itens;
using Gestor.Application.ViewModels.Generic;
using Gestor.Common.Validation;
using Gestor.Model.Domain.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.Seguros.Itens
{
	public class BuscarModeloViewModel : BaseSegurosViewModel
	{
		private Auto _selectedBuscaModelo = new Auto();

		private ObservableCollection<Fipe> _modelosAutos = new ObservableCollection<Fipe>();

		private Fipe _resultado = new Fipe();

		public ObservableCollection<Fipe> ModelosAutos
		{
			get
			{
				return this._modelosAutos;
			}
			set
			{
				this._modelosAutos = value;
				base.OnPropertyChanged("ModelosAutos");
			}
		}

		public Fipe Resultado
		{
			get
			{
				return this._resultado;
			}
			set
			{
				this._resultado = value;
				base.OnPropertyChanged("Resultado");
			}
		}

		public Auto SelectedBuscaModelo
		{
			get
			{
				return this._selectedBuscaModelo;
			}
			set
			{
				this._selectedBuscaModelo = value;
				base.OnPropertyChanged("SelectedBuscaModelo");
			}
		}

		public BuscarModeloViewModel(string modelo, string ano)
		{
			Auto auto = new Auto();
			auto.set_AnoModelo(ano);
			auto.set_Modelo(modelo);
			this.SelectedBuscaModelo = auto;
		}

		public async void Pesquisar()
		{
			string modelo = this.SelectedBuscaModelo.get_Modelo();
			int num = ValidationHelper.ToInt(this.SelectedBuscaModelo.get_AnoModelo());
			List<Fipe> list = await (new ItemServico()).BuscarPorModelo(modelo);
			if ((this.SelectedBuscaModelo.get_AnoModelo() != null || ExtensionMethods.IsNullOrEmpty<Fipe>(list)) && this.SelectedBuscaModelo.get_Id() != 0)
			{
				list = list.Where<Fipe>((Fipe x) => {
					if (x.get_AnoMinimo() > num)
					{
						return false;
					}
					return x.get_AnoMaximo() >= num;
				}).ToList<Fipe>();
				this.ModelosAutos = new ObservableCollection<Fipe>(list);
			}
			else
			{
				this.ModelosAutos = new ObservableCollection<Fipe>(list);
			}
		}
	}
}