예제 #1
0
        public ActionResult Create([Bind(Include = "Id,Nome,Promessa,Url_Pg_Vendas,Link_Certificado")] Cursos cursos)
        {
            if (ModelState.IsValid)
            {
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    HttpPostedFileBase arquivo = Request.Files[i];


                    if (arquivo.ContentLength > 0)
                    {
                        if (arquivo.ContentType == "image/png" || arquivo.ContentType == "image/jpg" || arquivo.ContentType == "image/jpge")
                        {
                            var UploadPath = Server.MapPath("~/Arquivos/Cursos");
                            var localsalve = Path.Combine(UploadPath, arquivo.FileName);
                            arquivo.SaveAs(localsalve);

                            ArquivosCursos arquivosCursos = new ArquivosCursos
                            {
                                NomeArquivo = arquivo.FileName,
                                CursosID    = cursos.Id,
                                Extensao    = arquivo.ContentType,
                                Tamanho     = arquivo.ContentLength.ToString()
                            };

                            db.Entry(arquivosCursos).State = EntityState.Added;

                            db.Cursos.Add(cursos);
                            db.SaveChanges();
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            string    extensaoarquivo = arquivo.ContentType;
                            string [] dois            = extensaoarquivo.Split('/');
                            ViewBag.Messagem = $"Você colocou um arquivo do tipo '{dois[1]}'. " +
                                               $"- Por favor, coloque um arquito do tipo Imagem";
                            return(View());
                        }
                    }
                }
            }

            return(View(cursos));
        }
예제 #2
0
        public ActionResult Edit([Bind(Include = "Id,Nome,Promessa")] Cursos cursos)
        {
            ArquivosCursos DBarquivosCursos = new ArquivosCursos();

            if (ModelState.IsValid)
            {
                HttpPostedFileBase arquivo = Request.Files.Get(0);


                if (arquivo.ContentLength > 0)
                {
                    if (arquivo.ContentType == "image/png" || arquivo.ContentType == "image/jpg" || arquivo.ContentType == "image/jpeg")
                    {
                        //Preparação inicial para Salvar novo arquivo
                        var UploadPath     = Server.MapPath("~/Arquivos/Cursos");
                        var localsalve     = Path.Combine(UploadPath, arquivo.FileName);
                        var arquivoscursos = db.ArquivosCursos.FirstOrDefault(c => c.CursosID == cursos.Id);

                        //Verifica se tem Imagem Salva daquele curso no banco Arquivos Cursos
                        if (arquivoscursos != null)
                        {
                            string nomearquivoanterior = arquivoscursos.NomeArquivo;

                            Random r = new Random();

                            string[] NomesAleatorios = { "A", "B", "C", "D", "E", "F", "G", "H",
                                                         "I", "J", "K", "L", "M", "N", "O", "P","Q",
                                                         "R", "S", "T", "U", "V", "X", "W", "Y","Z",
                                                         "a", "b", "c", "d", "e", "f", "g", "h","i", "j",
                                                         "k", "l", "m", "n", "o", "p", "q",
                                                         "r", "s", "t", "u", "v", "x", "w", "y","z",
                                                         "1", "2", "3", "4", "5", "6", "7", "8","9", "0",
                                                         "_", "-", "¨" };


                            for (int i = 0; i < 7; i++)
                            {
                                int    a          = r.Next(NomesAleatorios.Length);
                                string nomegerado = NomesAleatorios[i];
                                string resultado  = a.ToString();
                            }



                            var localsalveanterior = Path.Combine(UploadPath, nomearquivoanterior);
                            //Apagar arquivo antigo
                            FileInfo fileInfo = new FileInfo(localsalveanterior);
                            fileInfo.Delete();

                            arquivo.SaveAs(localsalve);

                            //Atualiza o banco ArquivosCursos
                            //DBarquivosCursos.Id = arquivoscursos.Id;
                            arquivoscursos.NomeArquivo = arquivo.FileName;
                            arquivoscursos.CursosID    = cursos.Id;
                            arquivoscursos.Extensao    = arquivo.ContentType;
                            arquivoscursos.Tamanho     = arquivo.ContentLength.ToString();

                            db.Entry(arquivoscursos).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                        else
                        {
                            arquivo.SaveAs(localsalve);
                            //Cria o registro no Banco ArquivosCursos
                            DBarquivosCursos.NomeArquivo = arquivo.FileName;
                            DBarquivosCursos.CursosID    = cursos.Id;
                            DBarquivosCursos.Extensao    = arquivo.ContentType;
                            DBarquivosCursos.Tamanho     = arquivo.ContentLength.ToString();

                            db.ArquivosCursos.Add(DBarquivosCursos);
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        string   extensaoarquivo = arquivo.ContentType;
                        string[] dois            = extensaoarquivo.Split('/');
                        ViewBag.Messagem = $"Você colocou um arquivo do tipo '{dois[1]}'. " +
                                           $"- Por favor, coloque um arquito do tipo Imagem";
                        return(View());
                    }
                }

                db.Entry(cursos).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(cursos));
        }