private async Task oznaciProcitano(int notifikacijaId)
        {
            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)
                {
                    var search = new PutnikNotifikacijeSearchRequest()
                    {
                        NotifikacijaId = notifikacijaId,
                        PutnikId       = putnik[0].Id
                    };
                    var respn = await _notifikacijePutnikService.Get(search);

                    if (respn.IsSuccessStatusCode)
                    {
                        var result    = respn.Content.ReadAsStringAsync().Result;
                        var notifputn = JsonConvert.DeserializeObject <List <Model.PutnikNotifikacije> >(result);

                        if (notifputn.Count > 0)
                        {
                            foreach (var item in notifputn)
                            {
                                if (item.Pregledana == false)
                                {
                                    var pnu = new PutnikNotifikacijeUpsertRequest()
                                    {
                                        PutnikId       = item.PutnikId,
                                        NotifikacijaId = item.NotifikacijaId,
                                        Pregledana     = true
                                    };

                                    await _notifikacijePutnikService.Update(item.Id, pnu);
                                }
                            }
                        }
                        else
                        {
                            var notifputnik = new PutnikNotifikacijeUpsertRequest()
                            {
                                NotifikacijaId = notifikacijaId,
                                Pregledana     = true,
                                PutnikId       = putnik[0].Id
                            };

                            await _notifikacijePutnikService.Insert(notifputnik);
                        }
                    }
                }
            }
        }
        public async Task <IActionResult> OznaciNeprocitanim(int notifId)
        {
            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)
                {
                    var search = new PutnikNotifikacijeSearchRequest()
                    {
                        NotifikacijaId = notifId,
                        PutnikId       = putnik[0].Id
                    };
                    var respn = await _notifikacijePutnikService.Get(search);

                    if (respn.IsSuccessStatusCode)
                    {
                        var result    = respn.Content.ReadAsStringAsync().Result;
                        var notifputn = JsonConvert.DeserializeObject <List <PutnikNotifikacije> >(result);

                        foreach (var item in notifputn)
                        {
                            if (item.Pregledana == true)
                            {
                                var pnu = new PutnikNotifikacijeUpsertRequest()
                                {
                                    PutnikId       = item.PutnikId,
                                    NotifikacijaId = item.NotifikacijaId,
                                    Pregledana     = false
                                };

                                await _notifikacijePutnikService.Update(item.Id, pnu);
                            }
                        }
                    }
                }
            }
            return(RedirectToAction("PrikaziNotifikacije"));
        }
Ejemplo n.º 3
0
        public async Task Pregled(int novostId)
        {
            var notif = await _notifikacijeService.Get <List <Notifikacije> >(new NotifikacijeSearchRequest()
            {
                NovostId = novostId
            });

            var listaPutnika = await _putnikService.Get <List <Putnici> >(new PutnikSearchRequest()
            {
                userName = APIService.Username
            });

            Putnici putnik = listaPutnika.FirstOrDefault(l => l.KorisnickoIme == APIService.Username);


            var search = new PutnikNotifikacijeSearchRequest()
            {
                PutnikId       = putnik.PutnikId,
                NotifikacijaId = notif[0].NotifikacijeId
            };

            var lista = await _notifikacijePutnikService.Get <List <PutnikNotifikacije> >(search);

            var request = new PutnikNotifikacijeUpsertRequest();

            request.NotifikacijaId = notif[0].NotifikacijeId;
            request.Pregledana     = true;
            request.PutnikId       = putnik.PutnikId;

            // ukoliko je lista prazna tj nema trazenog elementa znaci da putnik nije notificiran
            // pa mu pregled dodajemo preko novosti
            if (lista.Count != 0)
            {
                if (lista[0].Pregledana == false)
                {
                    await _notifikacijePutnikService.Update <PutnikNotifikacije>(lista[0].NotifikacijeId, request);
                }
            }
            else
            {
                await _notifikacijePutnikService.Insert <PutnikNotifikacije>(request);
            }
        }
Ejemplo n.º 4
0
        public async Task OznaciProcitano(Notifikacije n)
        {
            try
            {
                var searchPutnik = new PutnikSearchRequest()
                {
                    userName = APIService.Username
                };

                var listaPutnika = await _putnikService.Get <List <Putnici> >(searchPutnik);

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

                var searchPN = new PutnikNotifikacijeSearchRequest()
                {
                    PutnikId = putnik.PutnikId
                };

                var listaPN = await _putnikNotifikacijeService.Get <List <PutnikNotifikacije> >(searchPN);

                PutnikNotifikacije pn = null;
                foreach (var item in listaPN)
                {
                    if (item.NotifikacijeId == n.NotifikacijeId && item.PutnikId == putnik.PutnikId)
                    {
                        pn = item;
                        break;
                    }
                }

                if (pn != null)
                {
                    var request = new PutnikNotifikacijeUpsertRequest()
                    {
                        NotifikacijaId = n.NotifikacijeId,
                        PutnikId       = putnik.PutnikId,
                        Pregledana     = true
                    };

                    await _putnikNotifikacijeService.Update <PutnikNotifikacije>(pn.NotifikacijeId, request);

                    if (n != null)
                    {
                        NotifikacijeList.Remove(n);

                        await Application.Current.MainPage.DisplayAlert(" ", "Označili ste notifikaciju pročitanom", "OK");
                    }
                }



                //var updateN = new NotifikacijaUpsertRequest()
                //{
                //    DatumSlanja = n.DatumSlanja,
                //    Naslov = n.Naslov,
                //    NovostId = n.NovostId,
                //    Procitano = true
                //};

                //await _notifikacijeService.Update<Notifikacija>(n.Id, updateN);
            }
            catch (Exception)
            {
                throw;
            }
        }