public StatusCodeResult NotifikacijeIznajmljivanja() { var istekli_termini = db.RezervacijaIznajmljenaBicikla.Where(x => x.Isteklo == false && x.DatumVracanja <= DateTime.Now).ToList(); var zaposlenici = db.Zaposlenik.Where(x => x.Korisnik.Aktivan == true).ToList(); foreach (var termin in istekli_termini) { termin.Isteklo = true; foreach (var zaposlenik in zaposlenici) { var notifikacija = new Notifikacija { RezervacijaIznajmljenaBiciklaId = termin.RezervacijaIznajmljenaBiciklaID, ZaposlenikId = zaposlenik.Id, Tip = TipNotifikacije.Istekao_Termin, DatumVrijeme = DateTime.Now }; db.Notifikacija.Add(notifikacija); } } try { db.SaveChanges(); return(new OkResult()); } catch (Exception) { return(new BadRequestResult()); } }
public IActionResult Detalji(int NotifikacijaID) { Notifikacija x = db.Notifikacije .Include(i => i.Korisnik) .Include(i => i.Obilazak) .Include(i => i.Obilazak.Nekretnina) .Include(i => i.Obilazak.Lokacija) .Include(i => i.Obilazak.Lokacija.Grad) .Where(i => i.NotifikacijaID == NotifikacijaID).FirstOrDefault(); NotifikacijaDetaljiVM model = new NotifikacijaDetaljiVM { NotifikacijaID = x.NotifikacijaID, KupacID = x.KorisnikID, LokacijaID = x.Obilazak.LokacijaID, NekretninaID = x.Obilazak.NekretninaID, ObilazakID = x.ObilazakID, Adresa = x.Obilazak.Adresa, Grad = x.Obilazak.Lokacija.Grad.Naziv, endVrijeme = x.Obilazak.DatumVrijemeEnd, startVrijeme = x.Obilazak.DatumVrijemeStart, KupacNaziv = x.Korisnik.Ime, NekretninaNaziv = x.Obilazak.Nekretnina.Naziv }; return(View(model)); }
public async Task <ActionResult <Notifikacija> > addNotification(Notifikacija notifikacija) { _context.Notifications.Add(notifikacija); await _context.SaveChangesAsync(); return(CreatedAtAction("GetAllDevices", _context.Devices)); }
public async Task <IActionResult> ReadNotification(Notifikacija notifikacija) { var not = _context.Notifications.Where(e => e.Id == notifikacija.Id).FirstOrDefault(); not.Procitana = true; Console.WriteLine("Citanje {0} notifikacije", notifikacija.Id); _context.Entry(not).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!NotifikacijaExists(notifikacija.Id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public HttpResponseMessage UpdateNotifikacija([FromBody] Notifikacija notifikacija) { using (var connection = new SqlConnection(ConnectionString)) { try { using (var sqlCmd = new SqlCommand("UPDATE Poruka.Notifikacija SET SadrzajNotifikacije=@SadrzajNotifikacije, Ucestalost=@Ucestalost WHERE NotifikacijaID=@id")) { connection.Open(); sqlCmd.Connection = connection; sqlCmd.Parameters.AddWithValue("SadrzajNotifikacije", notifikacija.SadrzajNotifikacije); sqlCmd.Parameters.AddWithValue("Ucestalost", notifikacija.Ucestalost); sqlCmd.Parameters.AddWithValue("id", notifikacija.NotifikacijaID); int rowAffected = sqlCmd.ExecuteNonQuery(); if (rowAffected == 0) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error 400 BadRequest")); } } } catch (Exception) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error 400 Bad Request")); } } return(Request.CreateResponse(HttpStatusCode.OK, "Updated Successfully")); }
public void posaljiNotifikacijeKlijentu(int to, int from, NotifikacijaVM message) { var Klijent = _user.getUserById(to.ToString()).Result; var Prijevoznik = _db.Prijevoznik.Where(x => x.PrijevoznikID == from).Select(x => x.User).FirstOrDefault(); var vrijeme = DateTime.Now; message.Slika = Prijevoznik.Slika; message.User = Prijevoznik.Ime + " " + Prijevoznik.Prezime; message.Otvorena = false; message.Vrijeme = vrijeme.ToString("hh:mm:ss"); var temp = new Notifikacija() { Otvorena = message.Otvorena, Poruka = message.Poruka, URL = message.Url, UserFromID = from, UserToID = to, Vrijeme = DateTime.Now }; _db.Notifikacija.Add(temp); _db.SaveChanges(); message.NotifikacijaId = temp.NotifikacijaID; _Hub.Clients.Clients(Klijent.SignalRToken).SendAsync("GetNotification", message); }
public HttpResponseMessage CreateNotifikacija([FromBody] Notifikacija notifikacija) { using (var connection = new SqlConnection(ConnectionString)) { SqlCommand sqlCmd = new SqlCommand("INSERT INTO Poruka.Notifikacija VALUES(@SadrzajNotifikacije, @Ucestalost)", connection); sqlCmd.Parameters.AddWithValue("SadrzajNotifikacije", notifikacija.SadrzajNotifikacije); sqlCmd.Parameters.AddWithValue("Ucestalost", notifikacija.Ucestalost); try { connection.Open(); int i = sqlCmd.ExecuteNonQuery(); SqlCommand sqlNotifikacija = new SqlCommand("SELECT TOP 1 * FROM Poruka.Notifikacija ORDER BY NotifikacijaID DESC", connection); Notifikacija last = new Notifikacija(); using (SqlDataReader notifikacijaRead = sqlNotifikacija.ExecuteReader()) { while (notifikacijaRead.Read()) { last.NotifikacijaID = Convert.ToInt32(notifikacijaRead["NotifikacijaID"]); last.SadrzajNotifikacije = Convert.ToString(notifikacijaRead["SadrzajNotifikacije"]); last.Ucestalost = Convert.ToString(notifikacijaRead["Ucestalost"]); } } var response = Request.CreateResponse(HttpStatusCode.Created, last); response.Headers.Location = new Uri(Request.RequestUri + "/" + last.NotifikacijaID); return(response); } catch (Exception) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Error 404 Bad request")); } } }
public async Task ObrisiKomentar(int kId, int uId, int pId) { pId -= 148; KomentariObjavaClanova k = new KomentariObjavaClanova(); k = _ctx.KomentariObjavaClanova.Find(kId); if (k != null && k.ClanId == uId) { _ctx.KomentariObjavaClanova.Remove(k); _ctx.SaveChanges(); } Notifikacija n = _ctx.Notifikacije.Where(x => x.ObjavaId == pId && x.SourceClanId == uId).FirstOrDefault(); if (n != null) { _ctx.Notifikacije.Remove(n); } await _ctx.SaveChangesAsync(); int brKomentara = _ctx.KomentariObjavaClanova.Where(x => x.ObjaveClanovaId == k.ObjaveClanovaId).Count(); await Clients.All.SendAsync("ReceiveMessageObrisi", kId, uId, pId, brKomentara); }
public static List <Notifikacija> GetNotifikacija(string subscriberid) { ISession session = SessionManager.GetSession(); if (session == null) { return(null); } var messages = session.Execute("select * from \"Notifikacija\" where subscriberid='" + subscriberid + "'"); List <Notifikacija> notifikacije = new List <Notifikacija>(); if (messages != null) { foreach (var item in messages) { Notifikacija poruka = new Notifikacija(); poruka.publisherid = item["publisherid"] != null ? item["publisherid"].ToString() : string.Empty; poruka.subscriberid = item["subscriberid"] != null ? item["subscriberid"].ToString() : string.Empty; poruka.senttime = item["senttime"] != null ? item["senttime"].ToString() : string.Empty; poruka.id = item["id"] != null ? item["id"].ToString() : string.Empty; notifikacije.Add(poruka); } } return(notifikacije); }
public IActionResult PromijeniUProcitano(int NotifikacijaID) { Notifikacija x = db.Notifikacije.Find(NotifikacijaID); x.Status = "Pročitana"; db.SaveChanges(); return(RedirectToAction("Index")); }
private void uiIzbrisiArtikl_Click(object sender, EventArgs e) { if (baza.IzbrisiArtikl(ovajArtikl.id_artikla) == false) { Notifikacija novaNotifikacija = new Notifikacija("Uspjesno obrisano", "Artikl je uspjesno obrisan!", "potvrda"); novaNotifikacija.ShowDialog(); } }
public IActionResult ZavrsiRezervaciju() { string SifraRezervacije = null; try { SifraRezervacije = Request.Cookies["Sesion"]; } catch (Exception) { throw; } if (SifraRezervacije == null) { //redirect na pocetnu str ili ispisati nesto } Rezervacija r = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); r.UspjesnoSpremljena = true; Vozilo v = db.Vozilo.Where(x => x.VoziloID == r.VoziloID).FirstOrDefault(); int x1 = r.PrikolicaID ?? 0; r.SifraRezervacije = DateTime.Now.Day + "" + DateTime.Now.Month + "-" + r.PoslovnicaID + "" + r.VoziloID + "" + r.RezervacijaID + "" + x1 + "/" + DateTime.Now.Year; db.SaveChanges(); Response.Cookies.Delete("Sesion"); TrenutnaPoslovnica tp = db.TrenutnaPoslovnica.Where(TP => TP.VoziloID == r.VoziloID).FirstOrDefault(); tp.VoziloRezervisano = true; db.SaveChanges(); Notifikacija notifikacijaZaKlijenta = new Notifikacija { Vrijeme = DateTime.Now, Otvorena = false, Poruka = "Vasa rezervacija za vozilo " + v.Naziv + " je zaprimljena u poslovnicu i trenutno je na obradi!", PoslovnicaID = null, UserID = r.KlijentID, RezervacijaID = r.RezervacijaID }; Notifikacija notifikacijaZaUposlenika = new Notifikacija { Vrijeme = DateTime.Now, Otvorena = false, Poruka = "Nova rezervacija za vozilo " + v.Naziv + " od " + User.Identity.Name, PoslovnicaID = r.PoslovnicaID, UserID = null, RezervacijaID = r.RezervacijaID }; List <Notifikacija> n = new List <Notifikacija>(); n.Add(notifikacijaZaKlijenta); n.Add(notifikacijaZaUposlenika); db.AddRange(n); db.SaveChanges(); return(RedirectPermanent("/Klijent/Rezervacija/Index")); }
public ActionResult Confirm(PaymentIntentConfirmRequest request) { var service = new PaymentIntentService(); var paymentIntent = service.Get(request.PaymentIntentId); var narudzba = db.Rezervacija .Where(x => x.RezervacijaId == request.RezervacijaId) .Include(x => x.RezervacijaIznajmljenaBicikla) .Include(x => x.RezervacijaServis) .FirstOrDefault(); var narudzba_iznos = (int)narudzba.UkupniIznos * 100; if (paymentIntent.Amount == narudzba_iznos && paymentIntent.Status == "succeeded") { if (narudzba.StanjeRezervacije == StanjeRezervacije.ekanje_uplate) { narudzba.StanjeRezervacije = StanjeRezervacije.U_obradi; if (narudzba.DatumUplate is null) { narudzba.DatumUplate = DateTime.Now; } bool IsServisRezervacija = narudzba.RezervacijaServis.Any(), IsTerminRezervacija = narudzba.RezervacijaIznajmljenaBicikla.Any(); if (IsServisRezervacija || IsTerminRezervacija || narudzba.NacinPlacanja == "online") { var zaposlenici = db.Zaposlenik.Where(x => x.Korisnik.Aktivan == true).ToList(); foreach (var zaposlenik in zaposlenici) { var notifikacija = new Notifikacija { ZaposlenikId = zaposlenik.Id, Rezervacija = narudzba, DatumVrijeme = DateTime.Now }; if (IsServisRezervacija) { notifikacija.Tip = TipNotifikacije.Novi_Servis; } else if (IsTerminRezervacija) { notifikacija.Tip = TipNotifikacije.Novi_Termin; } else { notifikacija.Tip = TipNotifikacije.Nova_Narudzba; } db.Notifikacija.Add(notifikacija); } } db.SaveChanges(); } } return(new JsonResult(new { success = true })); }
private void uiSpremiPromjene_Click(object sender, EventArgs e) { if (ProvjeriIspunjenostPolja()) { baza.AzurirajObicnogKorisnika(prijavljeniKorisnik.IDRacuna, uiUnosAdresa.Text, uiUnosNaziv.Text, uiUnosEmail.Text, uiUnosLozinka.Text, uiUnosBrojTelefona.Text); Notifikacija novaNotifikacija = new Notifikacija("Uspjesno azuriranje", "Podaci su uspjesno azurirani!", "potvrda"); novaNotifikacija.ShowDialog(); } }
public async Task <IActionResult> OznaciKaoProcitano(int NotifikacijaID) { Notifikacija notifikacija = db.Notifikacija.FirstOrDefault(x => x.NotifikacijaID == NotifikacijaID); db.Notifikacija.Update(notifikacija); notifikacija.Status = true; await db.SaveChangesAsync(); return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> OznaciKaoProcitano(int NotifikacijaID) { Notifikacija notifikacija = db.Notifikacija.FirstOrDefault(x => x.NotifikacijaID == NotifikacijaID); db.Notifikacija.Update(notifikacija); notifikacija.Status = true; await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index), new { LogiraniKorisnikID = userManager.GetUserId(HttpContext.User) })); }
private void uiPretplatiKorisnika_Click(object sender, EventArgs e) { if (baza.PretplatiKorisnika(trenutniKorisnik.IDRacuna, trenutniUgoObjekt.IDRacuna) == false) { Notifikacija novaNotifikacija = new Notifikacija("Uspjesna pretplata", "Sada ste pretplaćeni na ovaj objekt!", "potvrda"); novaNotifikacija.ShowDialog(); } else { Notifikacija novaNotifikacija = new Notifikacija("Obavijest", "Već ste pretplaćeni na ovaj objekt!", "obavijest"); novaNotifikacija.ShowDialog(); } }
private void uiSpremiPromjene_Click(object sender, EventArgs e) { if (ProvjeriIspunjenostPolja() == true) { baza.AzurirajUgostiteljskiObjekt(ugostiteljProfil.IDRacuna, uiUnosNaziv.Text, uiUnosEmail.Text, uiUnosLozinka.Text, uiUnosAdresa.Text, uiUnosBrojTelefona.Text, TimeSpan.Parse(uiUnosRadnoVrijemePocetak.Text), TimeSpan.Parse(uiUnosRadnoVrijemeKraj.Text)); string porukaPretplatniku = $"Ugostiteljski objekt {ugostiteljProfil.Naziv} je azurirao informacije o sebi: " + Environment.NewLine + $"Naziv objekta: {uiUnosNaziv.Text}" + Environment.NewLine + $"Email adresa: {uiUnosEmail.Text}" + Environment.NewLine + $"Adresa: {uiUnosAdresa.Text}" + Environment.NewLine + $"Broj telefona: {uiUnosBrojTelefona.Text}" + Environment.NewLine + $"Radno vrijeme pocetak: {uiUnosRadnoVrijemePocetak.Text}" + Environment.NewLine + $"Radno vrijeme kraj: {uiUnosRadnoVrijemeKraj.Text}"; baza.ObavijestiPretplatnike(ugostiteljProfil.IDRacuna, porukaPretplatniku); Notifikacija novaNotifikacija = new Notifikacija("Uspjesno azuriranje", "Podaci su uspjesno azurirani!", "potvrda"); novaNotifikacija.ShowDialog(); } }
private void NapraviNotifikaciju(int rezervacijaID, int klijentID, string poruka) { Notifikacija nova = new Notifikacija { Otvorena = false, Poruka = poruka, RezervacijaID = rezervacijaID, UserID = klijentID, Vrijeme = DateTime.Now }; _context.Add(nova); _context.SaveChanges(); }
private void uiNaruci_Click(object sender, EventArgs e) { novaNarudzba = baza.KreirajNarudzbu(trenutniObjekt.IDRacuna, trenutniKorisnik.IDRacuna, DateTime.Now); foreach (var item in stavkaNarudzbe) { baza.KreirajStavkuNarudzbe(item.IdArtikla, novaNarudzba.id_narudzbe, item.Kolicina); } Notifikacija novaNotifikacija = new Notifikacija("Narudzba kreirana", "Narudzba je uspjesno poslana!", "potvrda"); novaNotifikacija.ShowDialog(); OsvjeziPrikaz(); }
public async Task Procitano(Notifikacija n) { var entity = await _apiNotifikacija.Update <Notifikacija>(n.NotifikacijaId, new NotifikacijaUpsertRequest { DatumSlanja = n.DatumSlanja, Sadrzaj = n.Sadrzaj, IsProcitano = true, ReceptId = n.ReceptId }); if (entity != null) { await Application.Current.MainPage.DisplayAlert(" ", "Notifikacija je oznacena kao procitana!", "OK"); } }
public void AddNotification(int userId, int postId) { ObjaveClanova o = _ctx.ObjaveClanova.Find(postId); Notifikacija n = new Notifikacija(); _ctx.Notifikacije.Add(n); n.Sadrzaj = " je komentarisao vašu objavu "; n.SourceClanId = userId; n.DestClanId = o.ClanId; n.ObjavaId = postId; n.Seen = false; n.Read = false; _ctx.SaveChanges(); }
public async Task Snimi(string datumObilaska, string gradId, string adresa, string nekretninaId, string agentId) { HttpContext httpContext = Context.GetHttpContext(); KorisnickiNalog kn = httpContext.GetLogiraniKorisnik(); Korisnik k = db.Korisnici.Where(x => x.KorisnickiNalogID == kn.KorisnickiNalogID).FirstOrDefault(); Obilazak x = new Obilazak { DatumVrijemeStart = DateTime.Parse(datumObilaska), DatumVrijemeEnd = DateTime.Parse(datumObilaska).AddHours(1), KorisnikID = k.KorisnikID, //ovo je kupac NekretninaID = Int32.Parse(nekretninaId), UposlenikID = Int32.Parse(agentId), Lokacija = new Lokacija { GradID = Int32.Parse(gradId), }, Adresa = adresa, Napomena = null, Otkazano = false, Zavrseno = false }; db.Obilasci.Add(x); db.SaveChanges(); Notifikacija y = new Notifikacija { KorisnikID = x.KorisnikID, UposlenikID = x.UposlenikID, DatumNotifikacije = DateTime.Now, ObilazakID = x.ObilazakID, Status = "Nepročitana", Vidjeno = false, TextNotifikacije = " dobili ste novi zahtjev za obilazak od kupca - " }; db.Add(y); db.SaveChanges(); await Notify("added", Int32.Parse(agentId)); }
public IActionResult UrediAdresu(int ObilazakID, string adresa) { Obilazak x = db.Obilasci .Include(i => i.Lokacija) .Where(i => i.ObilazakID == ObilazakID) .FirstOrDefault(); Notifikacija y = db.Notifikacije .Where(i => i.ObilazakID == x.ObilazakID).FirstOrDefault(); if (!ModelState.IsValid) { return(Redirect("/Notifikacija/Detalji?NotifikacijaID=" + y.NotifikacijaID)); } x.Adresa = adresa; db.SaveChanges(); return(RedirectToAction("/Notifikacija/Detalji?NotifikacijaID=" + y.NotifikacijaID)); }
public IActionResult UrediDatum(int ObilazakID, DateTime datum) { Obilazak x = db.Obilasci .Include(i => i.Lokacija) .Where(i => i.ObilazakID == ObilazakID) .FirstOrDefault(); Notifikacija y = db.Notifikacije .Where(i => i.ObilazakID == x.ObilazakID).FirstOrDefault(); if (!ModelState.IsValid) { return(Redirect("/Notifikacija/Detalji?NotifikacijaID=" + y.NotifikacijaID)); } x.DatumVrijemeStart = datum; db.SaveChanges(); return(RedirectToAction("/Notifikacija/Detalji?NotifikacijaID=" + y.NotifikacijaID)); }
public HttpResponseMessage GetByID(int id) { Notifikacija notifikacija = null; using (var connection = new SqlConnection(ConnectionString)) { SqlCommand sqlCmd = new SqlCommand("select * from Poruka.Notifikacija where NotifikacijaID=" + id, connection) { CommandType = CommandType.Text }; try { connection.Open(); using (SqlDataReader dataReader = sqlCmd.ExecuteReader()) { while (dataReader.Read()) { notifikacija = new Notifikacija { NotifikacijaID = Convert.ToInt32(dataReader["NotifikacijaID"]), SadrzajNotifikacije = Convert.ToString(dataReader["SadrzajNotifikacije"]), Ucestalost = Convert.ToString(dataReader["Ucestalost"]) }; } } if (notifikacija == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Error 404 Found")); } } catch (Exception) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error retrieving data")); } } return(Request.CreateResponse(HttpStatusCode.OK, notifikacija)); }
public HttpResponseMessage GetNotifikacije() { List <Notifikacija> result = new List <Notifikacija>(); using (var connection = new SqlConnection(ConnectionString)) { SqlCommand sqlCmd = new SqlCommand("select * from Poruka.Notifikacija", connection) { CommandType = CommandType.Text }; try { connection.Open(); using (SqlDataReader dataReader = sqlCmd.ExecuteReader()) { while (dataReader.Read()) { var notifikacija = new Notifikacija { NotifikacijaID = Convert.ToInt32(dataReader["NotifikacijaID"]), SadrzajNotifikacije = Convert.ToString(dataReader["SadrzajNotifikacije"]), Ucestalost = Convert.ToString(dataReader["Ucestalost"]) }; result.Add(notifikacija); } } } catch (Exception) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error retrieving data")); } } return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public IActionResult PonistiRezervaciju(int?id) { string SifraRezervacije = null; try { SifraRezervacije = Request.Cookies["Sesion"]; } catch (Exception) { throw; } if (SifraRezervacije == null && id == null) { return(RedirectPermanent("/Klijent/Rezervacija")); } if (id != null) { //redirect na pocetnu str ili ispisati nesto Rezervacija r1 = db.Rezervacija.Where(x => x.RezervacijaID == id).FirstOrDefault(); List <RezervisanaUsluga> ru1 = db.RezervisanaUsluga.Where(x => x.RezervacijaID == r1.RezervacijaID).ToList(); OcjenaRezervacija ocjena1 = db.OcjenaRezervacija.Where(x => x.RezervacijaID == r1.RezervacijaID).FirstOrDefault(); TrenutnaPoslovnica tp1 = db.TrenutnaPoslovnica.Where(x => x.VoziloID == r1.VoziloID && x.PoslovnicaID == r1.PoslovnicaID && x.VoziloRezervisano == true).FirstOrDefault(); Vozilo v = db.Vozilo.Where(x => x.VoziloID == r1.VoziloID).FirstOrDefault(); List <Notifikacija> noti = db.Notifikacija.Where(x => x.RezervacijaID == r1.RezervacijaID).ToList(); if (noti != null) { noti.Select(c => { c.RezervacijaID = null; return(c); }); } if (tp1 != null) { tp1.VoziloRezervisano = false; } if (ocjena1 != null) { db.Remove(ocjena1); } if (ru1 != null) { db.RemoveRange(ru1); } if (r1 != null) { db.Remove(r1); } Notifikacija notifikacijaZaKlijenta = new Notifikacija { Vrijeme = DateTime.Now, Otvorena = false, Poruka = "Vasa rezervacija za vozilo " + v.Naziv + " je uspjesno obrisana!", PoslovnicaID = null, UserID = r1.KlijentID, RezervacijaID = null }; Notifikacija notifikacijaZaUposlenika = new Notifikacija { Vrijeme = DateTime.Now, Otvorena = false, Poruka = User.Identity.Name + " je obrisao svoju rezervaciju za vozilo: " + v.Naziv + " !", PoslovnicaID = r1.PoslovnicaID, UserID = null, RezervacijaID = null }; List <Notifikacija> n = new List <Notifikacija>(); n.Add(notifikacijaZaKlijenta); n.Add(notifikacijaZaUposlenika); db.AddRange(n); db.SaveChanges(); return(RedirectPermanent("/Klijent/Rezervacija")); } Rezervacija r = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault(); List <RezervisanaUsluga> ru = db.RezervisanaUsluga.Where(x => x.RezervacijaID == r.RezervacijaID).ToList(); OcjenaRezervacija ocjena = db.OcjenaRezervacija.Where(x => x.RezervacijaID == r.RezervacijaID).FirstOrDefault(); TrenutnaPoslovnica tp = db.TrenutnaPoslovnica.Where(x => x.VoziloID == r.VoziloID && x.PoslovnicaID == r.PoslovnicaID && x.VoziloRezervisano == true).FirstOrDefault(); if (tp != null) { tp.VoziloRezervisano = false; } if (ocjena != null) { db.Remove(ocjena); } if (ru != null) { db.RemoveRange(ru); } if (r != null) { db.Remove(r); } Response.Cookies.Delete("Sesion"); db.SaveChanges(); return(RedirectPermanent("/Vozilo")); }
public InAppNotification() { _notifikacija = new Notifikacija(); }
public ServiceResult <Nothing> AzurirajStatusZahtjeva(int zahtjevId, AzurirajStatusZahtjevaRequestModel model) { var trenutni = authService.TrenutniKorisnik(); if (!ImaPravo("zahtjev_zahtjev_edit_status")) { return(Error("Nemate pravo izmjene statusa zahtjeva.")); } var zahtjev = context.Zahtjevi.Include(z => z.ZahtjevStatus) .Include(z => z.Projekat).ThenInclude(z => z.ProjekatKonfiguracija) .SingleOrDefault(p => p.Id == zahtjevId && !p.IsDeleted); if (zahtjev == null) { return(NotFound()); } var zahtjevStatus = context.ZahtjevStatusi.SingleOrDefault(z => z.Id == model.ZahtjevStatusId); var zadnjaIzmjenaStatusa = context.IzmjeneZahtjeva.Include(z => z.NoviZahtjevStatus).Where(z => z.ZahtjevId == zahtjevId).OrderByDescending(z => z.DatumKreiranja).FirstOrDefault(); try { IzmjenaZahtjeva izmjenaZahtjeva = new IzmjenaZahtjeva(); if (zahtjev.ProjekatId == zahtjevStatus.ProjekatId) { int prijasnjaOznakaStatusa = zahtjev.ZahtjevStatus.Oznaka; //zahtjev.ZahtjevStatusId = model.ZahtjevStatusId; zahtjev.ZahtjevStatus = zahtjevStatus; izmjenaZahtjeva.ZahtjevId = zahtjevId; izmjenaZahtjeva.NoviZahtjevStatusId = model.ZahtjevStatusId; izmjenaZahtjeva.DodijeljeniKorisnikIme = zahtjev.DodijeljeniKorisnikIme; izmjenaZahtjeva.DatumKreiranja = DateTime.Now; izmjenaZahtjeva.DatumIzmjene = DateTime.Now; context.IzmjeneZahtjeva.Add(izmjenaZahtjeva); string radniDani = zahtjev.Projekat.ProjekatKonfiguracija.RadniDani; var vrijemeOd = zahtjev.Projekat.ProjekatKonfiguracija.RadnoVrijemeOd; var vrijemeDo = zahtjev.Projekat.ProjekatKonfiguracija.RadnoVrijemeDo; //racunanje vremena statusa ako je prijasnji status bio u progresu if (zadnjaIzmjenaStatusa != null) { if (zadnjaIzmjenaStatusa.NoviZahtjevStatus.Oznaka == (int)OznakeStatusa.InProgress) { /*TimeSpan time = (TimeSpan)(izmjenaZahtjeva.DatumKreiranja - zadnjaIzmjenaStatusa.DatumKreiranja); * if (zahtjev.PotrošenoVrijeme != null) * zahtjev.PotrošenoVrijeme += (long)time.TotalSeconds; * else zahtjev.PotrošenoVrijeme = (long)time.TotalSeconds;*/ long totalSeconds = RacunajVrijemeTokomRadnogVremena((DateTime)zadnjaIzmjenaStatusa.DatumKreiranja, (DateTime)izmjenaZahtjeva.DatumKreiranja, radniDani, vrijemeOd, vrijemeDo); if (zahtjev.PotrošenoVrijeme != null) { zahtjev.PotrošenoVrijeme += totalSeconds; } else { zahtjev.PotrošenoVrijeme = totalSeconds; } } } else { if (prijasnjaOznakaStatusa == (int)OznakeStatusa.InProgress) { long totalSeconds = RacunajVrijemeTokomRadnogVremena((DateTime)zahtjev.DatumKreiranja, (DateTime)izmjenaZahtjeva.DatumKreiranja, radniDani, vrijemeOd, vrijemeDo); if (zahtjev.PotrošenoVrijeme != null) { zahtjev.PotrošenoVrijeme += totalSeconds; } else { zahtjev.PotrošenoVrijeme = totalSeconds; } /*TimeSpan time = (TimeSpan)(izmjenaZahtjeva.DatumKreiranja - zahtjev.DatumKreiranja); * if (zahtjev.PotrošenoVrijeme != null) * zahtjev.PotrošenoVrijeme += (long)time.TotalSeconds; * else zahtjev.PotrošenoVrijeme = (long)time.TotalSeconds;*/ } } var naziv = zahtjev.Naziv; //kreiranje notifikacije o promjeni statusa zahtjeva Notifikacija notifikacija = new Notifikacija(); notifikacija.Naslov = "Izmjena statusa zahtjeva"; if (zahtjev.Naziv.Length > 35) { naziv = zahtjev.Naziv.Substring(0, 32) + "..."; } notifikacija.Poruka = "Status zahtjeva pod nazivom: '" + naziv + "', promijenjen u status: " + zahtjev.ZahtjevStatus.Naziv; notifikacija.ZahtjevId = zahtjev.Id; notifikacija.ProjekatId = zahtjev.ProjekatId; notifikacija.DatumKreiranja = DateTime.Now; context.Notifikacije.Add(notifikacija); //kreiranje notifikacije korisniku koji je kreirao zahtjev KorisnikNotifikacija korisnikNotifikacija = new KorisnikNotifikacija(); korisnikNotifikacija.KorisnickoIme = zahtjev.CreatedBy; korisnikNotifikacija.NotifikacijaId = notifikacija.Id; korisnikNotifikacija.Otvorena = false; korisnikNotifikacija.Notifikacija = notifikacija; context.KorisnikNotifikacije.Add(korisnikNotifikacija); SaveChanges(context); } } catch (Exception e) { throw; } return(Ok()); }