private async void Button_Clicked(object sender, EventArgs e)
        {
            if (!decimal.TryParse(this.Ocjena.Text, out decimal Ocjena) || Ocjena < 1 || Ocjena > 10 || this.Ocjena.Text == null)
            {
                await DisplayAlert("Greška", "Ocjena mora biti između 1 i 10.", "OK");

                return;
            }

            Model.Pacijent        pacijent        = new Model.Pacijent();
            var                   username        = APIService.Username;
            List <Model.Pacijent> listaPacijenata = await _pacijent.Get <List <Model.Pacijent> >(null);

            foreach (var item in listaPacijenata)
            {
                if (item.KorisnickoIme == username)
                {
                    pacijent = item;
                    break;
                }
            }

            var listaOcjena = await _ocjene.Get <List <Ocjena> >(null);

            foreach (var item in listaOcjena)
            {
                if (item.ClanakId == clanak.ClanakId && item.PacijentId == pacijent.PacijentId)
                {
                    OcjenaUpsertRequest request = new OcjenaUpsertRequest()
                    {
                        Ocjena1    = Ocjena,
                        PacijentId = pacijent.PacijentId,
                        ClanakId   = clanak.ClanakId
                    };
                    await _ocjene.Update <dynamic>(model.Ocjena.OcjenaId, request);
                    await DisplayAlert("OK", "Uspješno izmjenjeno!", "OK");

                    await Navigation.PushAsync(new ClanakPage());

                    return;
                }
            }
            model.Ocjena1    = Ocjena;
            model.ClanakId   = clanak.ClanakId;
            model.PacijentId = pacijent.PacijentId;
            await model.DodajOcjenu();

            await DisplayAlert("OK", "Uspješno ocijenjeno!", "OK");

            await Navigation.PushAsync(new ClanakPage());
        }
        private async Task Ocjena()
        {
            if (Validate())
            {
                var r = await _rezervacija.GetById <Rezervacija>(rezervacijaID);

                var v = await _voznja.GetById <Voznja>(r.VoznjaID);

                OcjenaUpsertRequest req = new OcjenaUpsertRequest
                {
                    Komentar    = Komentar,
                    KorisnikID  = APIService.UserID,
                    TipOcjeneID = SelectedTip.TipOcjeneID,
                    VoznjaID    = v.VoznjaID
                };

                try
                {
                    if (!_provjeraOcjene)
                    {
                        var o = await _ocjena.Insert <Ocjene>(req);

                        if (o != null)
                        {
                            await Application.Current.MainPage.DisplayAlert("Carpool", "Uspješno ste ocijenili vožnju", "OK");

                            await Application.Current.MainPage.Navigation.PopAsync();
                        }
                    }
                    else
                    {
                        var o = await _ocjena.Update <Ocjene>(ocjenaID, req);

                        if (o != null)
                        {
                            await Application.Current.MainPage.DisplayAlert("Carpool", "Uspješno ste promijenili ocjenu", "OK");

                            await Application.Current.MainPage.Navigation.PopAsync();
                        }
                    }
                }
                catch (Exception)
                {
                }
            }
        }
Beispiel #3
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            if (!Regex.IsMatch(model.Ocjena.ToString(), @"[1-5]"))
            {
                await Application.Current.MainPage.DisplayAlert(" ", "Ocjena mora biti izmedju 1 i 5", "OK");
            }

            try
            {
                var search = new PutnikSearchRequest()
                {
                    KorisnickoIme = APIService.KorisnickoIme
                };
                var listaPutnika = await _putnikService.Get <List <Putnik> >(search);

                Putnik putnik = null;
                foreach (var item in listaPutnika)
                {
                    if (item.KorisnickoIme == APIService.KorisnickoIme)
                    {
                        putnik = item;
                        break;
                    }
                }

                var ocjena = new OcjenaUpsertRequest();

                ocjena.PutnikId     = putnik.Id;
                ocjena.KompanijaId  = model.Kompanija.Id;
                ocjena.OcjenaUsluge = model.Ocjena;
                ocjena.Komentar     = model.Komentar;

                await _ocjenaService.Insert <Ocjena>(ocjena);

                await Application.Current.MainPage.DisplayAlert(" ", "Uspješno ste ocjenili kompaniju", "OK");
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #4
0
        public async Task <IActionResult> Ocjeni(int id, int ocjena)
        {
            var resPutnik = await _putnikService.Get(new PutnikSearchRequest()
            {
                KorisnickoIme = APIService.Username
            });

            if (resPutnik.IsSuccessStatusCode)
            {
                var putnik = JsonConvert.DeserializeObject <List <Model.Putnik> >(resPutnik.Content.ReadAsStringAsync().Result);

                if (putnik.Count > 0)
                {
                    if (await ProvjeriOcjenu(id, putnik[0].Id))
                    {
                        var newOcjena = new OcjenaUpsertRequest()
                        {
                            Komentar     = "",
                            OcjenaUsluge = ocjena,
                            KompanijaId  = id,
                            PutnikId     = putnik[0].Id
                        };

                        TempData["poruka"] = $"Uspješno ste ocjenili kompaniju";
                        await _ocjeneService.Insert(newOcjena);

                        return(RedirectToAction("Prikaz"));
                    }
                    else
                    {
                        TempData["poruka"] = $"Već ste ocjenili ovu kompaniju";

                        return(RedirectToAction("Prikaz"));
                    }
                }
            }

            return(RedirectToAction("Prikaz"));
        }