public ActionResult AggiungiDocumento()
        {
            decimal IdEsterna       = decimal.Parse(Request["IdEsterna"]);
            string  TabellaEsterna  = Request["TabellaEsterna"];
            decimal IdTipoDocumento = decimal.Parse(Request["TipoDocumento"]);

            if (Request.Files.Count > 0)
            {
                try
                {
                    HttpFileCollectionBase files = Request.Files;
                    for (int i = 0; i < files.Count; i++)
                    {
                        HttpPostedFileBase file = files[i];
                        string             fname;

                        // Checking for Internet Explorer
                        if (Request.Browser.Browser.ToUpper() == "IE" || Request.Browser.Browser.ToUpper() == "INTERNETEXPLORER")
                        {
                            string[] testfiles = file.FileName.Split(new char[] { '\\' });
                            fname = testfiles[testfiles.Length - 1];
                        }
                        else
                        {
                            fname = file.FileName;
                        }

                        byte[] fileData = null;
                        using (var binaryReader = new BinaryReader(file.InputStream))
                        {
                            fileData = binaryReader.ReadBytes(file.ContentLength);
                        }

                        Documenti d = new Documenti();
                        d.CreaDocumento(IdEsterna, TabellaEsterna, IdTipoDocumento, fname, fileData, ConnectedUser);
                    }
                    // Returns message that successfully uploaded
                    return(Json("File caricato correttamente"));
                }
                catch (Exception ex)
                {
                    return(Json("Errore impossibile caricare il file: " + ex.Message));
                }
            }
            else
            {
                return(Json("Nessun file selezionato."));
            }
        }
        private void btnAggiungi_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                if (string.IsNullOrEmpty(txtNuovoDocumento.Text))
                {
                    lblMessaggio.Text = "Indicare il documento da caricare";
                    return;
                }

                if (ddlTipoDocumento.SelectedIndex == -1)
                {
                    lblMessaggio.Text = "Indicare il tipo documento";
                    return;
                }
                if (!File.Exists(txtNuovoDocumento.Text))
                {
                    lblMessaggio.Text = "Il file non esiste";
                    return;
                }
                decimal idTipoProdotto = ((TipoDocumentoModel)(ddlTipoDocumento.SelectedItem)).IdTipoDocumento;

                FileStream fs    = new FileStream(txtNuovoDocumento.Text, FileMode.Open, FileAccess.Read);
                byte[]     bytes = new byte[fs.Length];
                fs.Read(bytes, 0, (int)fs.Length);
                fs.Close();

                Documenti documenti = new Documenti();
                lblMessaggio.Text = documenti.CreaDocumento(IdProdottoFinito, TabelleEsterne.ProdottiFiniti, idTipoProdotto, txtNuovoDocumento.Text, bytes, _utenteConnesso);
            }
            catch (Exception ex)
            {
                MostraEccezione("Errore in associa documento a prodotto finito", ex);
            }
            finally
            {
                caricaGrigliaDocumenti();
                Cursor.Current = Cursors.Default;
            }
        }