示例#1
0
        public ActionResult CadastroTema(TemaViewModel temaViewModel)
        {
            var imageTypes = new string[] {
                "image/gif",
                "image/jpeg",
                "image/pjpeg",
                "image/png"
            };

            if (temaViewModel.ImageUpload == null || temaViewModel.ImageUpload.ContentLength == 0)
            {
                ModelState.AddModelError("ImageUpload.vazio", "Este campo é obrigatório!");
            }
            else if (!imageTypes.Contains(temaViewModel.ImageUpload.ContentType))
            {
                ModelState.AddModelError("ImageUpload.sem", "Escolha uma imagem GIF, JPG ou PNG.");
            }

            if (ModelState.IsValid)
            {
                var tema = new Tema();
                tema.Nome               = temaViewModel.Nome;
                tema.Descricao          = temaViewModel.Descricao;
                tema.LinkSolicitarFesta = temaViewModel.LinkPedirFesta;
                tema.LinkAlbum          = temaViewModel.LinkAlbumFacebook;
                tema.FornecedorId       = temaViewModel.FornecedorId;

                var imagemNome = String.Format("{0:yyyyMMdd-HHmmssfff}", DateTime.Now);
                var extensao   = System.IO.Path.GetExtension(temaViewModel.ImageUpload.FileName).ToLower();

                using (var img = System.Drawing.Image.FromStream(temaViewModel.ImageUpload.InputStream))
                {
                    tema.Imagem = String.Format("/Imagens/{0}{1}", imagemNome, extensao);
                    // Salva imagem
                    SalvarNaPasta(img, tema.Imagem);
                }

                temaDAO.Adicionar(tema);
                return(RedirectToAction("ListarTemasParaFornecedor", "Tema"));
            }
            else
            {
                return(View(temaViewModel));
            }
        }