Beispiel #1
0
        public ActionResult Create([Bind(Prefix = "Documento")] Documento doc)
        {
            bool success = false;

            if (Request.Files.Count == 0)
            {
                ModelState.AddModelError("File", "Devi selezionare il file da caricare");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    HttpPostedFileBase currentFile = Request.Files[0];
                    if (currentFile.ContentLength == 0)
                    {
                        ModelState.AddModelError("File", "Devi selezionare il file da caricare");
                    }
                    else
                    {
                        //TODO Altre regole di validazione se necessarie
                        byte[] fileContent = new byte[currentFile.ContentLength];
                        currentFile.InputStream.Read(fileContent, 0, fileContent.Length);
                        doc.Contenuto     = fileContent;
                        doc.DataCreazione = DateTime.Now;
                        doc.NomeFile      = currentFile.FileName;
                        doc.ContentType   = currentFile.ContentType;
                        doc.Attivo        = true;
                        Context.Documenti.Add(doc);
                        Context.SaveChanges();
                        success = true;
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("Errore", "Errore Generico : " + ex.Message);
                }
            }

            if (success)
            {
                return(RedirectToAction("Index"));
            }

            DocumentiCreateViewModel vm = DocumentiCreateViewModel.Load(Context, doc.IdDocumento, doc);

            return(View(vm));
        }
Beispiel #2
0
        public ActionResult Create(int id)
        {
            DocumentiCreateViewModel vm = DocumentiCreateViewModel.Load(Context, id);

            return(View(vm));
        }