Exemplo n.º 1
0
        /// <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
            })
                                       );
        }
Exemplo n.º 2
0
 public List <Model.Bicikl> Get([FromQuery] Model.Requests.BiciklSearchRequest request)
 {
     return(_service.Get(request));
 }