public async Task <IHttpActionResult> PutNotifikacije(string id, Notifikacije notifikacije) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != notifikacije.id) { return(BadRequest()); } db.Entry(notifikacije).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!NotifikacijeExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> PostNotifikacije(Notifikacije notifikacije) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Notifikacije.Add(notifikacije); try { await db.SaveChangesAsync(); } catch (DbUpdateException) { if (NotifikacijeExists(notifikacije.id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = notifikacije.id }, notifikacije)); }
public async void posaljiNotifikacijeAdminu(int from, NotifikacijaVM message) { List <string> admins = _db.LoginInfo.Where(x => x.TipKorisnika == 3).Select(x => x.SignalRToken).ToList(); var userFrom = await _myUser.getUserById(from); var vrijeme = DateTime.Now; message.User = userFrom.Ime + " " + userFrom.Prezime; message.Vrijeme = vrijeme.ToString("hh:mm:ss"); var temp = new Notifikacije() { Poruka = message.Poruka, URL = message.Url, UserFromID = from, UserToID = null, Vrijeme = vrijeme }; _db.Notifikacija.Add(temp); _db.SaveChanges(); //message.NotifikacijaId = temp.NotifikacijaID; await _hub.Clients.Clients(admins).SendAsync("GetNotification", message); }
public async void posaljiNotifikacije(int to, int from, NotifikacijaVM message) { var userTo = await _myUser.getUserById(to); var userFrom = await _myUser.getUserById(from); var vrijeme = DateTime.Now; message.User = userFrom.Ime + " " + userFrom.Prezime; message.Vrijeme = vrijeme.ToString("hh:mm:ss"); var temp = new Notifikacije() { Poruka = message.Poruka, URL = message.Url, UserFromID = from, UserToID = to, Vrijeme = vrijeme }; _db.Notifikacija.Add(temp); _db.SaveChanges(); message.NotifikacijaId = temp.NotifikacijaID; await _hub.Clients.Clients(userTo.SignalRToken).SendAsync("GetNotification", message); }
public IActionResult NalogPonisti(int id) { try { var nalog = _context.Nalogs.Where(n => n.Id == id).FirstOrDefault(); var uplate = _context.Uplates.Where(u => u.NalogID == id).ToList(); _context.Uplates.RemoveRange(uplate); _context.Nalogs.Remove(nalog); _context.SaveChanges(); var obavijest = new Notifikacije(); obavijest.Datum_i_vrijeme_objave = DateTime.Now.ToString(); obavijest.Naslov = "Nalog Ponisten"; obavijest.Sadrzaj = "Vas nalog je ponisten! Pregledajte listu trenutnih naloga na: <a href='/Iznajmljivanje/NaloziList'>Moji Nalozi</a>"; obavijest.KorisnikId = _context.Korisnicki_nalogs.Where(k => k.KorisnikId == nalog.KorisnikID).FirstOrDefault().Id; _context.Notifikacijes.Add(obavijest); _context.SaveChanges(); var nalozi = _context.Nalogs.Include(v => v.Vozilo).AsNoTracking().ToList(); return(View("NaloziListPotvrda", nalozi)); } catch (Exception ex) { var nalozi = _context.Nalogs.Include(v => v.Vozilo).AsNoTracking().ToList(); return(View("NaloziListPotvrda", nalozi)); } }
public IActionResult NalogUnesiPredjenuKm([Bind("Predjenja_Kilometraza, Id")] Nalog nalog) { if (ModelState.IsValid) { try { var nalogDb = _context.Nalogs.Where(n => n.Id == nalog.Id).FirstOrDefault(); nalogDb.Predjenja_Kilometraza = nalog.Predjenja_Kilometraza; _context.Nalogs.Update(nalogDb); _context.SaveChanges(); var obavijest = new Notifikacije(); obavijest.Datum_i_vrijeme_objave = DateTime.Now.ToString(); obavijest.Naslov = "Nalog Zavrsen"; obavijest.Sadrzaj = "Vas nalog je zavrsen, zahvaljujemo na koristenju usluga Rent-a-car, nadamo se buducoj saradnji! Pregledajte listu trenutnih naloga na: <a href='/Iznajmljivanje/NaloziList' >Moji Nalozi</a>"; obavijest.KorisnikId = _context.Korisnicki_nalogs.Where(k => k.KorisnikId == nalogDb.KorisnikID).FirstOrDefault().Id; _context.Notifikacijes.Add(obavijest); _context.SaveChanges(); var nalozi = _context.Nalogs.Include(v => v.Vozilo).AsNoTracking().ToList(); return(View("NaloziListPotvrda", nalozi)); } catch { var nalozi = _context.Nalogs.Include(v => v.Vozilo).AsNoTracking().ToList(); return(View("NaloziListPotvrda", nalozi)); } } var nalogReturn = _context.Nalogs.Where(n => n.Id == nalog.Id).FirstOrDefault(); return(View("NalogZavrsi", nalogReturn)); }
public IActionResult NalogOdobri(int id) { try { var nalog = _context.Nalogs.Where(n => n.Id == id).FirstOrDefault(); var korisnickiNalogId = _context.Korisnicki_nalogs.Where(k => k.UserName == this.User.Identity.Name).FirstOrDefault().Id; var zaposlenikId = _context.Zaposlenicis.Where(z => z.KorisnickiNalogId == korisnickiNalogId).FirstOrDefault().Id; nalog.ZaposlenikID = zaposlenikId; nalog.Datum_I_Vrijeme_Odobrenja = DateTime.Now; var uplata = new Uplate(); uplata.Datum_Uplate = DateTime.Now; uplata.Iznos_U_KM = nalog.Iznos_U_KM; uplata.KorisnikID = nalog.KorisnikID; uplata.NalogID = nalog.Id; uplata.VoziloID = nalog.VoziloID; _context.Uplates.Add(uplata); _context.SaveChanges(); _context.Nalogs.Update(nalog); _context.SaveChanges(); var obavijest = new Notifikacije(); obavijest.Datum_i_vrijeme_objave = DateTime.Now.ToString(); obavijest.Naslov = "Nalog Odobren"; obavijest.Sadrzaj = "Vas nalog je odobren! Pregledajte listu trenutnih naloga na: " + "<a href='/Iznajmljivanje/NaloziList'>Moji Nalozi</a>"; obavijest.KorisnikId = _context.Korisnicki_nalogs.Where(k => k.KorisnikId == nalog.KorisnikID).FirstOrDefault().Id; _context.Notifikacijes.Add(obavijest); _context.SaveChanges(); var nalozi = _context.Nalogs.Include(v => v.Vozilo).AsNoTracking().ToList(); return(View("NaloziListPotvrda", nalozi)); } catch (Exception ex) { return(View("Index", "Home")); } }
public async Task <IHttpActionResult> GetNotifikacije(string id) { Notifikacije notifikacije = await db.Notifikacije.FindAsync(id); if (notifikacije == null) { return(NotFound()); } return(Ok(notifikacije)); }
public async Task <ActionResult> SendToSpecificUser(Notifikacije model) { var connections = _userConnectionManager.GetUserConnections(model.userId); if (connections != null && connections.Count > 0) { foreach (var connectionId in connections) { await _notificationUserHubContext.Clients.Client(connectionId).SendAsync("sendToUser", model.Naslov, model.Sadrzaj); } } return(View()); }
public async Task <IHttpActionResult> DeleteNotifikacije(string id) { Notifikacije notifikacije = await db.Notifikacije.FindAsync(id); if (notifikacije == null) { return(NotFound()); } db.Notifikacije.Remove(notifikacije); await db.SaveChangesAsync(); return(Ok(notifikacije)); }
public async Task <IActionResult> SendAll(Notifikacije model) { await _notificationHubContext.Clients.All.SendAsync("sendToUser", model.Naslov, model.Sadrzaj); //Notification n = new Notification //{ // FromUserId = _userManager.GetUserId(User), // ToUserId = reciverId, // NotiBody = "Commented profile", // FromUserName = _userManager.GetUserName(User), // Message = comment, // IsRead = false, // CreatedDate = DateTime.Now //}; return(View()); }
public async Task <ActionResult> Add([Bind("Naslov, Slika, URL, Sadrzaj")] Vijesti model, IFormFile file) { var filePath = UploadImage(file).Result; if (filePath == "") { ModelState.AddModelError("Slika", "Niste dodali sliku za upload"); } try { if (ModelState.IsValid) { model.Ukupno_pregleda = 0; model.Datum_i_vrijeme_objave = DateTime.Now; var kNalog = _context.Korisnicki_nalogs.Where(k => k.UserName == this.User.Identity.Name).FirstOrDefault(); model.AutorId = kNalog.Id; model.Slika = filePath; _context.Add(model); _context.SaveChanges(); var korisnici = _context.Korisnicki_nalogs.ToList(); List <Notifikacije> notifikacije = new List <Notifikacije>(); korisnici.ForEach(k => { var obavijest = new Notifikacije(); obavijest.Datum_i_vrijeme_objave = DateTime.Now.ToString(); obavijest.Naslov = "Nova Vijest"; obavijest.Sadrzaj = "Procitajte objavljenu vijest: " + "<a href='/Vijesti/Details/" + model.Id + "'>" + model.Naslov + "</a>"; obavijest.KorisnikId = k.Id; notifikacije.Add(obavijest); }); _context.Notifikacijes.AddRange(notifikacije); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id = model.Id })); } } catch (DbUpdateException /* ex */) { //Log the error (uncomment ex variable name and write a log. ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists " + "see your system administrator."); } return(View("VijestiAddEdit", model)); }
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; } }
public async Task <IActionResult> RegisterAsync(RegisterVM registerUser) { try { var usernameExists = _context.Korisnicki_nalogs.FirstOrDefault(u => u.Korsnicko_ime == registerUser.Username); if (usernameExists != null) { ModelState.AddModelError("Username", "Korisnik sa ovim korisnickim imenom vec postoji"); } var emailExists = _context.Korisnicis.FirstOrDefault(u => u.Email == registerUser.Email); if (emailExists != null) { ModelState.AddModelError("Email", "Korisnik sa ovim Email-om vec postoji"); } if (ModelState.IsValid) { Korisnicki_nalog nalog = new Korisnicki_nalog(); Korisnici korisnik = new Korisnici(); korisnik.Email = registerUser.Email; korisnik.Ime = registerUser.Ime; korisnik.Prezime = registerUser.Prezime; korisnik.OpcinaId = registerUser.Opstina; korisnik.Ostvareni_popust = 10; nalog.Korisnik = korisnik; nalog.Datum_prijave = DateTime.Now.ToString(); nalog.Korsnicko_ime = registerUser.Username; nalog.UserName = registerUser.Username; nalog.Email = registerUser.Email; //_context.Korisnicki_nalogs.Add(nalog); //_context.SaveChanges(); var result = await _userManager.CreateAsync(nalog, registerUser.Password); if (result != IdentityResult.Success) { throw new InvalidOperationException("Could not create new user with Identity"); } //Default new user is "Kupac" await _userManager.AddToRoleAsync(nalog, "Kupac"); var obavijest = new Notifikacije(); obavijest.Datum_i_vrijeme_objave = DateTime.Now.ToString(); obavijest.Naslov = "Dobro Došli!"; obavijest.Sadrzaj = "Dobro došli na portal Rent-a-car! Uživajte u popustu od 10% za sve usluge."; obavijest.KorisnikId = _context.Korisnicki_nalogs.Where(k => k.KorisnikId == nalog.KorisnikId).FirstOrDefault().Id; _context.Notifikacijes.Add(obavijest); _context.SaveChanges(); return(RedirectToAction("Login", "Korisnik", new { tekRegistrovan = true })); } registerUser.Password = ""; registerUser.ConfirmPassword = ""; registerUser.Opstine = _context.Opcines.ToListAsync().Result; return(View("RegisterUser", registerUser)); } catch (Exception ex) { registerUser.Password = ""; registerUser.ConfirmPassword = ""; registerUser.Opstine = _context.Opcines.ToListAsync().Result; return(View("RegisterUser", registerUser)); } }