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"));
        }
Example #3
0
        // 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));
            }
        }