public IActionResult EditarAnuncio(int id) { if (_context.Anuncios.Where(a => a.Id_anuncio == id).Any()) { var anuncio = _context.Anuncios.FirstOrDefault(a => a.Id_anuncio == id); var newAnuncio = new AnunciosModel() { Título = anuncio.Título, Descricao = anuncio.Descricao, Categoria = anuncio.Categoria, Preco_dia = anuncio.Preco_dia, UrlImagem = anuncio.UrlImagem, Id_anuncio = anuncio.Id_anuncio, Localizacao = anuncio.Localizacao }; return(View(newAnuncio)); } else { var model = new AnunciosModel(); return(View(model)); } }
public async Task <IActionResult> EditarAnuncio(AnunciosModel anuncio, int id) { if (ModelState.IsValid) { var anuncios = _context.Anuncios.FirstOrDefault(a => a.Id_anuncio == id); if (anuncio.Imagem != null) { // Adicionar Nova Imagem string folder = "DBImages/anuncios/"; folder += Guid.NewGuid().ToString() + "_" + anuncio.Imagem.FileName; string serverFolder = Path.Combine(_hostEnvironment.WebRootPath, folder); await anuncio.Imagem.CopyToAsync(new FileStream(serverFolder, FileMode.Create)); anuncio.UrlImagem = "/" + folder; //Remover Imagem Atual if (System.IO.File.Exists(anuncios.UrlImagem)) { System.IO.File.Delete(anuncios.UrlImagem); } } anuncios.Título = anuncio.Título; anuncios.Descricao = anuncio.Descricao; anuncios.Categoria = anuncio.Categoria; anuncios.Localizacao = anuncio.Localizacao; anuncios.Preco_dia = anuncio.Preco_dia; if (anuncio.UrlImagem != null) { anuncios.UrlImagem = anuncio.UrlImagem; } _context.SaveChanges(); } return(RedirectToAction("MeusAnuncios")); }
// ERRO public async Task <IActionResult> Guardados() { var claimsidentity = User.Identity as ClaimsIdentity; var utilizador = _context.Utilizador.FirstOrDefault(a => a.Email == claimsidentity.Name); var GuardadosModel = new List <GuardadosModel>(); var Guardados = await _context.Guardados.Include(p => p.Anuncios).Where(a => a.Utilizador.Id_utilizador == utilizador.Id_utilizador).ToListAsync(); if (_context.Guardados.Where(a => a.Utilizador == utilizador).Any()) { foreach (var Guardado in Guardados) { if (Guardado.Anuncios.Ativo) { var anuncio = new AnunciosModel() { Título = Guardado.Anuncios.Título, Descricao = Guardado.Anuncios.Descricao, Categoria = Guardado.Anuncios.Categoria, Localizacao = Guardado.Anuncios.Localizacao, Preco_dia = Guardado.Anuncios.Preco_dia, UrlImagem = Guardado.Anuncios.UrlImagem, Data_publicacao = Guardado.Anuncios.Data_publicacao, Id_anuncio = Guardado.Anuncios.Id_anuncio }; GuardadosModel.Add(new GuardadosModel() { Anuncios = anuncio }); } } return(View(GuardadosModel)); } return(RedirectToAction("Guardados", "Perfil", new { area = "" })); }
public async Task <IActionResult> AdicionarAnuncio(AnunciosModel model) { if (ModelState.IsValid) { if (model.Imagem != null) { string folder = "DBImages/anuncios/"; folder += Guid.NewGuid().ToString() + "_" + model.Imagem.FileName; string serverFolder = Path.Combine(_hostEnvironment.WebRootPath, folder); await model.Imagem.CopyToAsync(new FileStream(serverFolder, FileMode.Create)); model.UrlImagem = "/" + folder; Anuncios novoAnuncio = new Anuncios { Utilizador = _context.Utilizador.FirstOrDefault(a => a.Email == User.Identity.Name), Título = model.Título, Descricao = model.Descricao, Categoria = model.Categoria, Preco_dia = model.Preco_dia, Data_publicacao = DateTime.UtcNow, UrlImagem = model.UrlImagem, Localizacao = model.Localizacao, Ativo = true }; await _context.Anuncios.AddAsync(novoAnuncio); await _context.SaveChangesAsync(); } } return(RedirectToAction("MeusAnuncios")); }
public async Task <IActionResult> Index() // ENTRAR NO PAINEL { if (User.Identity.IsAuthenticated) { var claimsIdentity = User.Identity as ClaimsIdentity; var utilizador = _context.Utilizador.FirstOrDefault(a => a.Email == User.Identity.Name); var reservas = await _context.Reservas.Include(p => p.Anuncio).Where(a => a.Anuncio.Utilizador == utilizador).ToListAsync(); var verificacao = _context.Verificacao.FirstOrDefault(a => a.Utilizador == utilizador); var utilizadorModel = new UtilizadorModel() { Nome = utilizador.Nome, Email = utilizador.Email, Id_utilizador = utilizador.Id_utilizador, UrlImagemPerfil = utilizador.UrlImagemPerfil }; Areas.Identity.Pages.Account.LoginModel.imagemSource = utilizadorModel.UrlImagemPerfil; var verificacaoModel = new VerificacaoModel() { Id_verificacao = verificacao.Id_verificacao, Telemovel = verificacao.Telemovel, Num_cc = verificacao.Num_cc, Email = verificacao.Email }; var anuncioModel = new AnunciosModel(); List <ReservasModel> reservasModel = new List <ReservasModel>(); foreach (var reserva in reservas) { var utilizadorReserva = new UtilizadorModel() { Id_utilizador = reserva.Utilizador.Id_utilizador, Nome = reserva.Utilizador.Nome }; anuncioModel = new AnunciosModel() { Id_anuncio = reserva.Anuncio.Id_anuncio, Título = reserva.Anuncio.Título, Categoria = reserva.Anuncio.Categoria, Descricao = reserva.Anuncio.Descricao, Preco_dia = reserva.Anuncio.Preco_dia, UrlImagem = reserva.Anuncio.UrlImagem, Ativo = reserva.Anuncio.Ativo, Localizacao = reserva.Anuncio.Localizacao }; reservasModel.Add(new ReservasModel() { Id_reserva = reserva.Id_reserva, Utilizador = utilizadorReserva, Anuncio = anuncioModel, Data_inicio = reserva.Data_inicio, Data_fim = reserva.Data_fim, Preco = reserva.Preco, Aceite = reserva.Aceite, Cancelado = reserva.Cancelado }); } Painel painelData = new Painel() { Utilizador = utilizadorModel, Reservas = reservasModel, Verificacao = verificacaoModel }; return(View(painelData)); } else { string url = "../Identity/Account/Login"; return(Redirect(url)); } }