public async Task <IActionResult> OtkaziPrijevoz(int IdPrijevoz) { var prijevoz = _context.Prijevoz.Where(p => p.Id == IdPrijevoz) .Include(p => p.IdPonudaPrijevozaNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdZahtjevNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdZahtjevNavigation.IdStatusZahtjevaNavigation) .FirstOrDefault(); var zahtjev = _context.Zahtjev.Where(m => m.Id == prijevoz.IdPonudaPrijevozaNavigation.IdZahtjev).FirstOrDefault(); StatusZahtjeva noviStatus = _context.StatusZahtjeva.Where(s => s.Status == "PristiglePonude").FirstOrDefault(); zahtjev.IdStatusZahtjeva = noviStatus.Id; _context.Zahtjev.Update(zahtjev); var ponudaPrijevoza = _context.PonudaPrijevoza.Where(m => m.Id == prijevoz.IdPonudaPrijevoza).FirstOrDefault(); StatusPonude statusGotovo = _context.StatusPonude.Where(s => s.Status == "Otvoreno").FirstOrDefault(); ponudaPrijevoza.IdStatusPonude = statusGotovo.Id; _context.PonudaPrijevoza.Update(ponudaPrijevoza); _context.Prijevoz.Remove(prijevoz); string urlString = "Details/" + zahtjev.Id.ToString(); await _context.SaveChangesAsync(); return(RedirectToAction(urlString, "ProsireniZahtjevi")); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Status")] StatusPonude statusPonude) { if (id != statusPonude.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(statusPonude); await _context.SaveChangesAsync(); TempData[Constants.Message] = "Ažuriranje uspješno obavljeno"; TempData[Constants.ErrorOccurred] = false; } catch (DbUpdateConcurrencyException) { if (!StatusPonudeExists(statusPonude.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(statusPonude)); }
// 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")); }
public async Task <IActionResult> Create([Bind("Id,Status")] StatusPonude statusPonude) { if (ModelState.IsValid) { _context.Add(statusPonude); await _context.SaveChangesAsync(); TempData[Constants.Message] = $"Status ponude {statusPonude.Status} uspješno dodan"; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(Index))); } return(View(statusPonude)); }
public async Task <IActionResult> GotovPrijevozPrijevoznik(string StatusPonude, int IdPrijevoz) { var prijevoz = _context.Prijevoz.Where(p => p.Id == IdPrijevoz) .Include(p => p.IdPonudaPrijevozaNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdStatusPonudeNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdPrijevoznikNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdPrijevoznikNavigation.IdKorisnikNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdZahtjevNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdZahtjevNavigation.IdStatusZahtjevaNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdZahtjevNavigation.IdNaruciteljNavigation) .Include(p => p.IdPonudaPrijevozaNavigation.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation) .FirstOrDefault(); StatusPonude noviStatus = _context.StatusPonude.Where(s => s.Status == StatusPonude).FirstOrDefault(); PonudaPrijevoza ponuda = _context.PonudaPrijevoza.Where(p => p.Id == prijevoz.IdPonudaPrijevoza).FirstOrDefault(); prijevoz.IdPonudaPrijevozaNavigation.IdStatusPonude = noviStatus.Id; _context.PonudaPrijevoza.Update(ponuda); /*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 = "Informacije o prijevozu", * Body = "Poštovani korisniče " + ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.Ime + " " + * ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.Prezime + ", Vaš prijevoz je korisnik " + * ponuda.IdPrijevoznikNavigation.IdKorisnikNavigation.Ime + " " + ponuda.IdPrijevoznikNavigation.IdKorisnikNavigation.Prezime + * " označio kao " + noviStatus.Status + "." * }) * { * await smtpClient.SendMailAsync(message); * } * }*/ await _context.SaveChangesAsync(); string urlString = "Details/" + prijevoz.Id.ToString(); return(RedirectToAction(urlString)); }
public PonudaPrijevoza Rezervacije(int IdPonuda, string noviStatus) { PonudaPrijevoza ponuda = _context.PonudaPrijevoza.Where(p => p.Id == IdPonuda) .Include(p => p.IdStatusPonudeNavigation) .Include(p => p.IdPrijevoznikNavigation.IdKorisnikNavigation) .Include(p => p.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation) .FirstOrDefault(); StatusPonude status = _context.StatusPonude.Where(s => s.Status == noviStatus).FirstOrDefault(); ponuda.IdStatusPonude = status.Id; _context.PonudaPrijevoza.Update(ponuda); return(ponuda); }