Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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);
        }
Example #4
0
        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"));
     }
 }
Example #8
0
        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());
        }
Example #10
0
        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());
        }
Example #12
0
        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));
        }
Example #13
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;
            }
        }
Example #14
0
        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));
            }
        }