/// <summary> /// Invoked when the variant button is clicked. /// </summary> private async Task VariantClicked() { if (SelectedSizeIndex < 0 || SelectedSizeIndex >= ProductDetail.SizeVariants.Count) { await Application.Current.MainPage.DisplayAlert("Greška", "Neispravna veličina je odabrana", "OK"); return; } if (ProductDetail.SizeVariants[SelectedSizeIndex] == ProductDetail.Bicikl.VelicinaOkvira.Naziv) { return; } var request = new Model.Requests.BiciklSearchRequest { ModelId = ProductDetail.Bicikl.ModelId, VelicinaOkvira = ProductDetail.SizeVariants[SelectedSizeIndex], Stanje = new List <Model.Stanje> { ProductDetail.Stanje } }; var list = await _serviceBicikl.Get <List <Model.Bicikl> >(request); if (list.Count == 0) { await Application.Current.MainPage.DisplayAlert("Greška", "Nije pronađeno biciklo sa odabranom veličinom okvira", "OK"); return; } var similarity = new List <int>(); for (int i = 0; i < list.Count; i++) { similarity.Add(0); } for (int i = 0; i < list.Count; i++) { if (list[i].BojaId == productDetail.Bicikl.BojaId) { similarity[i]++; } if (list[i].GodinaProizvodnje == productDetail.Bicikl.GodinaProizvodnje) { similarity[i]++; } if (list[i].NoznaKocnica == productDetail.Bicikl.NoznaKocnica) { similarity[i]++; } if (list[i].Stanje == productDetail.Bicikl.Stanje) { similarity[i]++; } if (list[i].StarosnaGrupaId == productDetail.Bicikl.StarosnaGrupaId) { similarity[i]++; } } int najslicnijiIndex = similarity.IndexOf(similarity.Max()); var item = list[najslicnijiIndex]; await Navigation.PushAsync(new DetailPage( new Product { Id = item.BiciklId, ActualPrice = item.Stanje == Model.Stanje.Korišteno ? item.CijenaPoDanu.Value : item.Cijena.Value, Name = item.PuniNaziv, SizeVariants = item.SizeVariants, Stanje = item.Stanje, Slika = item.Slika, Description = item.Opis, OverallRating = item.Ocjena, Bicikl = item }) ); }
public List <Model.Bicikl> Get([FromQuery] Model.Requests.BiciklSearchRequest request) { return(_service.Get(request)); }