Esempio n. 1
0
        public IActionResult Cadastrar(IFormCollection form)
        {
            Noticia noticia = new Noticia();

            noticia.IdNoticia = Int32.Parse(form["idNoticia"]);
            noticia.Titulo    = form["Titulo"];
            noticia.Texto     = form["Texto"];
            // Upload Imagem
            var file   = form.Files[0];
            var folder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias");

            if (file != null)
            {
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }

                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folder, file.FileName);
                using (var stream = new FileStream(path, FileMode.Create))
                {
                    file.CopyTo(stream);
                }
                noticia.Imagem = file.FileName;
            }
            else
            {
                noticia.Imagem = "padrao.png";
            }
            // Upload Final

            noticiaModel.Create(noticia);

            return(LocalRedirect("~/Noticia"));
        }
Esempio n. 2
0
        /// <summary>
        ///     Cadastra no bd a partir de um form no front.
        /// </summary>
        /// <param name="form">Form do front.</param>
        /// <returns>Retorna para a mesma página após concluir a ação.</returns>
        public IActionResult Cadastrar(IFormCollection form)
        {
            Noticia noticia = new Noticia();

            noticia.IdNoticia = Convert.ToInt32(form["IdNoticia"]);
            noticia.Titulo    = form["Titulo"];
            noticia.Texto     = form["Texto"];

            //Aqui começa upload de imagens
            noticia.Imagem = form["Imagem"];
            var file   = form.Files[0];                                                         //Esta variável guarda o nome do arquivo da imagem.
            var folder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias"); //Esta variável combina o caminho do diretório atual com o "wwwroot/img/Noticias", onde ficará a imagem.

            //Se o usuário enviou alguma imagem..
            if (file != null)
            {
                //Vai verificar se existe a pasta, se não existir, cria.
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }

                //Esta variável vai criar e guardar o caminho completo. Note que o Path.Combine ele faz mais do que unir duas variáveis. Por exemplo, se um parâmetro for temp e outro for temp.txt, o path combine será temp.txt.
                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folder, file.FileName);

                //Usando FileStream, passa-se o caminho onde ficará a imagem e cria o arquivo.
                using (var stream = new FileStream(path, FileMode.Create))
                {
                    //Copia o arquivo guardado em "file" para o "stream".
                    file.CopyTo(stream);
                }

                //Guarda-se o caminho da imagem no banco de dados.
                noticia.Imagem = file.FileName;
            }
            else //<- Se o usuário não mandar um arquivo, salva-se o seguindo no bd:
            {
                noticia.Imagem = "padrao.png";
            }
            //Fim

            noticiaModel.Create(noticia);              //Insere o objeto criado no bd.

            ViewBag.Noticias = noticiaModel.ReadAll(); //Lê tudo do csv e guarda em uma lista. A ViewBag recebe esta lista. A viewbag é criada aqui.
            return(LocalRedirect("~/Noticia"));        //Está pagina, Noticia, é criada na view, pela sintaxe Razor.
        }
Esempio n. 3
0
        public IActionResult Cadastrar(IFormCollection _formulario)
        {
            // Criando uma nova noticia via formulário
            Noticia _novaNoticia = new Noticia();

            // Passando os dados do formulário para a nova notícia
            _novaNoticia.IdNoticia    = Int32.Parse(_formulario["IdNoticia"]);
            _novaNoticia.Titulo       = _formulario["Titulo"];
            _novaNoticia.TextoNoticia = _formulario["TextoNoticia"];

            // Tratamento de foto
            var _filePicture   = _formulario.Files[0];                                                 //pegando as imagens passadas no formulário
            var _folderPicture = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticia"); //Pegando o diretório atual da aplicação e combinar com a foto informada

            if (_filePicture != null)
            {
                // Verificando se o diretório existe
                if (!Directory.Exists(_folderPicture))
                {
                    Directory.CreateDirectory(_folderPicture);
                }

                // Combinando o diretório com a foto inserida
                var _pathPicture = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", _folderPicture, _filePicture.FileName);

                // Copiando o arquivo presente no computador para o nosso diretório da aplicação
                using (var _stream = new FileStream(_pathPicture, FileMode.Create))
                {
                    _filePicture.CopyTo(_stream);
                }

                _novaNoticia.Imagem = _filePicture.FileName;
            }
            else
            {
                _novaNoticia.Imagem = "padrao.png";
            }

            // Passando a notícia cadastrada pelo formulário para o arquivo .csv
            _noticiaModel.Create(_novaNoticia);

            ViewBag.Noticia = _noticiaModel.ReadAll();

            // Criando uma rota de acesso para as notícias
            return(LocalRedirect("~/Noticia"));
        }
        public IActionResult Cadastrar(IFormCollection form)
        {
            ViewBag.UserName = HttpContext.Session.GetString("_UserName");
            Noticia novaNoticia = new Noticia();

            novaNoticia.IdNoticia = Int32.Parse(form["IdNoticia"]);
            novaNoticia.Titulo    = form["Titulo"];
            novaNoticia.Texto     = form["Texto"];

            if (form.Files.Count > 0)
            {
                // Upload Início
                var file   = form.Files[0];
                var folder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias");

                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }

                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folder, file.FileName);
                using (var stream = new FileStream(path, FileMode.Create))
                {
                    file.CopyTo(stream);
                }
                novaNoticia.Imagem = file.FileName;
            }
            else
            {
                novaNoticia.Imagem = "padrao.png";
            }
            // Upload Final

            noticiaModel.Create(novaNoticia);

            ViewBag.Noticias = noticiaModel.ReadAll();
            return(LocalRedirect("~/"));
        }
        /// <summary>
        /// Cadastra notícia no arquivo CSV
        /// </summary>
        /// <param name="forms">Arquivo onde serão cadastradas as informações</param>
        /// <returns>Notícia cadastrada na Página Notícias</returns>
        public IActionResult CadastrarNoticia(IFormCollection forms)
        {
            Noticia novaNoticia = new Noticia();

            novaNoticia.IdNoticia = Int32.Parse(forms["IdNoticia"]);
            novaNoticia.Titulo    = forms["Titulo"];
            novaNoticia.Texto     = forms["Texto"];

            // Upload Início
            var fileN   = forms.Files[0];
            var folderN = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias");

            if (fileN != null)
            {
                if (!Directory.Exists(folderN))
                {
                    Directory.CreateDirectory(folderN);
                }

                var pathN = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folderN, fileN.FileName);
                using (var streamN = new FileStream(pathN, FileMode.Create))
                {
                    fileN.CopyTo(streamN);
                }
                novaNoticia.ImagemN = fileN.FileName;
            }
            else
            {
                novaNoticia.ImagemN = "padrao.png";
            }
            // Upload Final

            noticiaModel.Create(novaNoticia);

            ViewBag.Noticias = noticiaModel.ReadAll();

            return(LocalRedirect("~/Noticia"));
        }