public async Task <IActionResult> Reservar([Bind("Id_anuncio, Id_reserva, Utilizador.Id_utilizador, Data_inicio, Data_fim")] ReservasAnuncios reservasAnuncios, string Preco) { var claimsidentity = User.Identity as ClaimsIdentity; if (User.Identity.IsAuthenticated) { if (!_context.Reservas.Where(a => a.Utilizador.Email == claimsidentity.Name && a.Anuncio.Id_anuncio == reservasAnuncios.Id_anuncio && a.Data_inicio == reservasAnuncios.Data_inicio && a.Data_fim == reservasAnuncios.Data_fim).Any()) { var claimsIdentity = User.Identity as ClaimsIdentity; var utilizador = _context.Utilizador.FirstOrDefault(a => a.Email == User.Identity.Name); var anuncio = _context.Anuncios.FirstOrDefault(a => a.Id_anuncio == reservasAnuncios.Id_anuncio); ViewBag.mensagem = ""; double Total = double.Parse(Preco, CultureInfo.InvariantCulture.NumberFormat); if (reservasAnuncios.Data_fim > reservasAnuncios.Data_inicio) { Reservas novaReserva = new Reservas { Anuncio = anuncio, Utilizador = utilizador, Data_inicio = reservasAnuncios.Data_inicio, Data_fim = reservasAnuncios.Data_fim, Preco = Total, Cancelado = false, Aceite = false }; await _context.Reservas.AddAsync(novaReserva); await _context.SaveChangesAsync(); return(RedirectToAction("Anuncio", new { id = reservasAnuncios.Id_anuncio })); } else { ViewBag.mensagem = "Data inválida."; return(RedirectToAction("Anuncio", new { id = reservasAnuncios.Id_anuncio })); } } else { ViewBag.mensagem = "Já tens uma reserva para esta data"; return(RedirectToAction("Anuncio", new { id = reservasAnuncios.Id_anuncio })); } } else { string url = "../Identity/Account/Login"; return(Redirect(url)); } }
public async Task <IActionResult> Aceitar(int id) { var reserva = await _context.Reservas.FindAsync(id); reserva.Aceite = true; reserva.Cancelado = false; await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Painel", new { area = "" })); }
public async Task <IActionResult> EditarFoto(UtilizadorModel model) { var claimsidentity = User.Identity as ClaimsIdentity; var utilizador = _context.Utilizador.FirstOrDefault(a => a.Email == User.Identity.Name); if (ModelState.IsValid) { if (model.ImagemPerfil != null) { string folder = "DBImages/perfil/"; folder += Guid.NewGuid().ToString() + "_" + model.ImagemPerfil.FileName; model.UrlImagemPerfil = "/" + folder; string serverFolder = Path.Combine(_hostEnvironment.WebRootPath, folder); await model.ImagemPerfil.CopyToAsync(new FileStream(serverFolder, FileMode.Create)); utilizador.UrlImagemPerfil = model.UrlImagemPerfil; _context.Utilizador.Update(utilizador); await _context.SaveChangesAsync(); } } if (ViewBag.Title == "Faturacao") { return(RedirectToAction("GerirFaturacao")); } else if (ViewBag.Title == "Verificacao") { return(RedirectToAction("GerirVerificacao")); } return(RedirectToAction("GerirConta")); }