public async Task <IActionResult> Edit(int id, [Bind("Id,OcjenaPrijevoznika,OcjenaNarucitelja,OpisUslugePrijevoznika,OpisUslugeNarucitelja,IdPonudaPrijevoza")] Prijevoz prijevoz) { if (id != prijevoz.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(prijevoz); await _context.SaveChangesAsync(); TempData[Constants.Message] = "Ažuriranje uspješno obavljeno"; TempData[Constants.ErrorOccurred] = false; } catch (DbUpdateConcurrencyException) { if (!PrijevozExists(prijevoz.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["IdPonudaPrijevoza"] = new SelectList(_context.PonudaPrijevoza, "Id", "Id", prijevoz.IdPonudaPrijevoza); return(View(prijevoz)); }
// POST: Otkaži zahtjev za rezervacijom public async Task <IActionResult> PrihvatiRezervaciju(int IdPonuda) { PonudaPrijevoza ponuda = _context.PonudaPrijevoza.Where(p => p.Id == IdPonuda) .Include(p => p.IdPrijevoznikNavigation.IdKorisnikNavigation) .Include(p => p.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation) .Include(p => p.IdStatusPonudeNavigation).FirstOrDefault(); StatusPonude status = _context.StatusPonude.Where(s => s.Status == "Rezervirano").FirstOrDefault(); ponuda.IdStatusPonude = status.Id; _context.PonudaPrijevoza.Update(ponuda); Zahtjev zahtjev = _context.Zahtjev.Where(z => z.Id == ponuda.IdZahtjev).FirstOrDefault(); StatusZahtjeva rezervirano = _context.StatusZahtjeva.Where(s => s.Status == "Rezervirano").FirstOrDefault(); zahtjev.IdStatusZahtjeva = rezervirano.Id; _context.Zahtjev.Update(zahtjev); Prijevoz prijevoz = new Prijevoz { IdPonudaPrijevoza = IdPonuda }; _context.Prijevoz.Add(prijevoz); await _context.SaveChangesAsync(); TempData[Constants.Message] = $"Rezervacija ponude uspješna"; TempData[Constants.ErrorOccurred] = false; if (ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.PrimaEmail) { var smtpClient = new SmtpClient { Host = "smtp.gmail.com", // set your SMTP server name here Port = 587, // Port EnableSsl = true, Credentials = new NetworkCredential("*****@*****.**", "carryon1") }; using (var message = new MailMessage("*****@*****.**", ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.Email) { Subject = "Uspješna rezervacija prijevoza", Body = "Poštovani korisniče " + ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.Ime + " " + ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.Prezime + ", Vaš zahtjev za rezervacijom ponude prijevoza od korisnika " + ponuda.IdPrijevoznikNavigation.IdKorisnikNavigation.Ime + " " + ponuda.IdPrijevoznikNavigation.IdKorisnikNavigation.Prezime + " je uspješna. Rezervacija se odnosila na zahtjev s opisom: " + ponuda.IdZahtjevNavigation.Opis + "." }) { await smtpClient.SendMailAsync(message); } } string urlString = "Details/" + ponuda.IdZahtjev.ToString(); return(RedirectToAction(urlString, "ProsireniZahtjevi")); }
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { UkljuciGumb(); TabKontrola.SelectedIndex += 1; CmbPrirez.ItemsSource = Prirezi.ListaPrireza(); CmbPrirez.SelectedIndex = 0; CmbPrijevoz.ItemsSource = Prijevoz.ListaStanica(); CmbPrijevoz.SelectedIndex = 0; }
private void CmbPrijevoz_SelectionChanged(object sender, SelectionChangedEventArgs e) { IznosPrijevoza = Math.Round(Prijevoz.VratiIznosPrijevoza(CmbPrijevoz.SelectedItem.ToString()), 2); var prijevoz = IznosPrijevoza; prijevoz += GetNeto(); LblPrijevoz.Content = prijevoz.ToString("C", new CultureInfo("hr-HR")); var odbitak = decimal.Parse(TxtBoxOdbici.Value.ToString()); VratiTotal(prijevoz, odbitak); }
public async Task <IActionResult> Create([Bind("Id,OcjenaPrijevoznika,OcjenaNarucitelja,OpisUslugePrijevoznika,OpisUslugeNarucitelja,IdPonudaPrijevoza")] Prijevoz prijevoz) { if (ModelState.IsValid) { _context.Add(prijevoz); await _context.SaveChangesAsync(); TempData[Constants.Message] = $"Prijevoz dodan."; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(Index))); } ViewData["IdPonudaPrijevoza"] = new SelectList(_context.PonudaPrijevoza, "Id", "Id", prijevoz.IdPonudaPrijevoza); return(View(prijevoz)); }
public IActionResult Ukloni(int id) { int to, from; TeretRezervacija teret = _db.TeretRezervacija.Where(x => x.TeretRezervacijaID == id).FirstOrDefault(); Prijevoz prijevoz = _db.Prijevoz.Where(x => x.PrijevozID == teret.PrijevozID).FirstOrDefault(); to = teret.UserID; from = teret.Prijevoz.PrijevoznikID; if (prijevoz != null) { _db.Prijevoz.Remove(prijevoz); teret.PrijevozID = null; teret.Prihvaceno = false; _db.SaveChanges(); } _notifikacijaService.posaljiNotifikacijeKlijentu(to, from, new NotifikacijaVM() { Poruka = "Prijevoznik je otkazao vasu rezervaciju!", Url = "#" }); return(RedirectToActionPermanent(nameof(Index))); }
public async Task <IActionResult> NoviPrijevozSnimiAsync(PrijevozNoviVM model) { if (!ModelState.IsValid) { return(View(nameof(NoviPrijevoz), model)); } //kreiranje klijenta string username = model.Email; await _signInManager.CreateAsync(new ApplicationUser { UserName = username, Email = username, Ime = model.Ime, Prezime = model.Prezime, Adresa = model.Adresa, Grad = _context.Grad.Where(g => g.GradID == 1).SingleOrDefault(), JMBG = model.jmbg, DatumRodjenja = DateTime.Parse(model.DatumRodjenja), DatumRegistracije = System.DateTime.Now, Spol = model.Spol, Slika = "nema", }); var klijent = await _signInManager.FindByEmailAsync(username); //pravljenje novog prijevoza Prijevoz novi = new Prijevoz(); novi.DatumRezervacije = DateTime.Now; novi.DatumPrijevoza = DateTime.Parse(model.DatumPrijevoza); novi.NacinPlacanja = model.NacinPlacanja; novi.TipPrijevoza = model.TipPrijevoza; novi.Klijent = klijent; //na osnovu tipa prijevoza se generise cijene if (model.TipPrijevoza == 1) { novi.CijenaCekanjaPoSatu = 10; novi.CijenaPoKilometru = 2; novi.CijenaPoVozacu = 50; } else if (model.TipPrijevoza == 2) { novi.CijenaCekanjaPoSatu = 8; novi.CijenaPoKilometru = 1; novi.CijenaPoVozacu = 30; } else { novi.CijenaCekanjaPoSatu = 5; novi.CijenaPoKilometru = 0.8; novi.CijenaPoVozacu = 20; } //postavljanje broj vozaca i vozila na 0 novi.BrojVozaca = 0; novi.BrojVozila = 0; _context.Add(novi); _context.SaveChanges(); int pID = _context.Prijevoz.Where(p => p.Klijent.Email == klijent.Email).Select(s => s.PrijevozID).SingleOrDefault(); return(RedirectToAction(nameof(DodajVozilaPrijevoz), new { id = pID })); }
public IActionResult Dodaj(PrijevozDodajVM model, int id) { string _id = User.FindFirstValue(ClaimTypes.NameIdentifier); int _PrijevoznikID = _db.Prijevoznik.Where(x => x.UserID == int.Parse(_id)).Select(x => x.PrijevoznikID).FirstOrDefault(); bool trigger = false; List <Prijevoz> prijevozi = _db.Prijevoz.ToList(); List <TeretRezervacija> teretRezervacija = _db.TeretRezervacija.ToList(); foreach (var item in teretRezervacija) { foreach (var item2 in prijevozi) { if (item.PrijevozID == item2.PrijevozID && item2.DatumPotvrde == null && item.Prijevoz.PrijevoznikID == _PrijevoznikID) { Prijevoz prijevoz = _db.Prijevoz.Where(x => x.PrijevozID == item2.PrijevozID).FirstOrDefault(); if (prijevoz != null) { prijevoz.DatumPotvrde = DateTime.Now; prijevoz.DatumPrijevoza = model.DatumPrijevoza; prijevoz.Kilometraza = model.Kilometraza; prijevoz.Cijena = model.Cijena; prijevoz.TipPrijevoza = model.TipPrijevoza; prijevoz.VoziloID = model.VoziloID; TeretRezervacija temp = _db.TeretRezervacija.Where(x => x.TeretRezervacijaID == id).FirstOrDefault(); temp.Prihvaceno = true; _db.SaveChanges(); _notifikacijaService.posaljiNotifikacijeKlijentu(temp.UserID, temp.Prijevoz.PrijevoznikID, new NotifikacijaVM() { Poruka = "Prijevoznik je prihvatio vasu rezervaciju!", Url = "#" }); } trigger = true; } } } if (!trigger) { Prijevoz p = new Prijevoz() { PrijevoznikID = _PrijevoznikID, Cijena = model.Cijena, DatumPotvrde = DateTime.Now, DatumPrijevoza = model.DatumPrijevoza, Kilometraza = model.Kilometraza, TipPrijevoza = model.TipPrijevoza, VoziloID = model.VoziloID }; _db.Prijevoz.Add(p); _db.SaveChanges(); TeretRezervacija temp = _db.TeretRezervacija.Where(x => x.TeretRezervacijaID == id).FirstOrDefault(); if (temp != null) { temp.PrijevozID = p.PrijevozID; temp.Prihvaceno = true; _db.SaveChanges(); } _notifikacijaService.posaljiNotifikacijeKlijentu(temp.UserID, temp.Prijevoz.PrijevoznikID, new NotifikacijaVM() { Poruka = "Prijevoznik je prihvatio vasu rezervaciju!", Url = "#" }); } return(RedirectToActionPermanent(nameof(Index))); }
public async Task <IActionResult> MojZahtjev(int id) { if (id == null) { return(NotFound()); } var zahtjev = _context.Zahtjev.Where(m => m.Id == id).Include(m => m.IdStatusZahtjevaNavigation) .Include(m => m.IdNaruciteljNavigation) .Include(m => m.IdNaruciteljNavigation.IdKorisnikNavigation).FirstOrDefault(); if (id != zahtjev.Id) { return(NotFound()); } var lokacijeZahtjeva = _context.ZahtjevLokacija.Where(m => m.IdZahtjev == id) .Include(z => z.IdLokacijaNavigation) .Include(z => z.IdLokacijaNavigation.IdVrstaLokacijeNavigation) .Include(z => z.IdLokacijaNavigation.IdMjestoNavigation); Lokacija pocetnaLokacija = null; Lokacija odredisnaLokacija = null; foreach (var lokacija in lokacijeZahtjeva) { if (lokacija.IdLokacijaNavigation.IdVrstaLokacijeNavigation.Vrsta == "po?etna") { pocetnaLokacija = lokacija.IdLokacijaNavigation; } else { odredisnaLokacija = lokacija.IdLokacijaNavigation; } } Mjesto pocetnoMjesto = pocetnaLokacija.IdMjestoNavigation; Mjesto odredisnoMjesto = odredisnaLokacija.IdMjestoNavigation; ProsireniZahtjevViewModel prosireniZahtjev = new ProsireniZahtjevViewModel(); prosireniZahtjev.Id = zahtjev.Id; prosireniZahtjev.VrijemePocetka = zahtjev.VrijemePocetka; prosireniZahtjev.VrijemeZavrsetka = zahtjev.VrijemeZavrsetka; prosireniZahtjev.CijenaNeizvrsenja = zahtjev.CijenaNeizvrsenja; prosireniZahtjev.Sirina = zahtjev.Sirina; prosireniZahtjev.Visina = zahtjev.Visina; prosireniZahtjev.Duiljina = zahtjev.Duiljina; prosireniZahtjev.Masa = zahtjev.Masa; prosireniZahtjev.Opis = zahtjev.Opis; prosireniZahtjev.IdNarucitelj = zahtjev.IdNarucitelj; prosireniZahtjev.IdNaruciteljNavigation = zahtjev.IdNaruciteljNavigation; prosireniZahtjev.IdStatusZahtjeva = zahtjev.IdStatusZahtjeva; prosireniZahtjev.IdStatusZahtjevaNavigation = zahtjev.IdStatusZahtjevaNavigation; prosireniZahtjev.PocetnaLokacijaUlica = pocetnaLokacija.Ulica; prosireniZahtjev.PocetnaLokacijaKucniBroj = pocetnaLokacija.KucniBroj; prosireniZahtjev.PocetnoMjesto = pocetnoMjesto.Naziv; prosireniZahtjev.PocetnoMjestoPbr = pocetnoMjesto.PostanskiBroj; prosireniZahtjev.OdredisnaLokacijaUlica = odredisnaLokacija.Ulica; prosireniZahtjev.OdredisnaLokacijaKucniBroj = odredisnaLokacija.KucniBroj; prosireniZahtjev.OdredisnoMjesto = odredisnoMjesto.Naziv; prosireniZahtjev.OdredisnoMjestoPbr = odredisnoMjesto.PostanskiBroj; var ponudePrijevoza = _context.PonudaPrijevoza.Where(p => p.IdZahtjev == zahtjev.Id) .Include(p => p.IdPrijevoznikNavigation) .Include(p => p.IdPrijevoznikNavigation.IdKorisnikNavigation) .Include(p => p.IdStatusPonudeNavigation).ToList(); var vozila = _context.Vozilo.Include(z => z.IdPrijevoznikNavigation).ToList(); ZahtjevPonudeViewModel zahtjevPonude = new ZahtjevPonudeViewModel(); zahtjevPonude.ProsireniZahtjev = prosireniZahtjev; zahtjevPonude.PonudePrijevoza = ponudePrijevoza; zahtjevPonude.Vozila = vozila; //vrati ID prijevoza ako postoji if (_context.Prijevoz.Any(p => p.IdPonudaPrijevozaNavigation.IdZahtjev == zahtjev.Id)) { Prijevoz prijevoz = _context.Prijevoz.Where(p => p.IdPonudaPrijevozaNavigation.IdZahtjev == zahtjev.Id).FirstOrDefault(); ViewData["IdPrijevoz"] = prijevoz.Id; } else { ViewData["IdPrijevoz"] = null; } return(View(zahtjevPonude)); }