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")); }
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); } }
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; } }