예제 #1
0
    protected void ButtonSalva_Click(object sender, EventArgs e)
    {
        try
        {
            if (FileUploadUtente.HasFile)
            {
                string fileExt            = System.IO.Path.GetExtension(FileUploadUtente.FileName).ToLower();
                string fileNameWithoutExt = System.IO.Path.GetFileNameWithoutExtension(FileUploadUtente.FileName);
                string dirPath            = Page.Request.ServerVariables["APPL_PHYSICAL_PATH"] + @"Web\Utenti\Files\";
                string percorso           = dirPath + fileNameWithoutExt + fileExt;

                //Controllo se esiste già un file con questo nome. Se esiste lo elimino.
                if (File.Exists(percorso))
                {
                    File.Delete(percorso);
                }

                FileUploadUtente.SaveAs(percorso);

                //Chiamo la stored procedure che fa il match degli utenti importati con gli utenti del sistema.
                objUtente.Cli_id_cliente = Convert.ToInt32(txtCliente.SelectedValue);
                objUtente.spUpload_Utenti(Convert.ToInt32(Session["UTE_ID_UTENTE"]));

                if (objUtente.StrReturn.ToString() == "ERR")
                {
                    DataSet DsData;
                    DsData = objUtente.ListError(Convert.ToInt32(Session["UTE_ID_UTENTE"]));

                    StringBuilder sbErr = new StringBuilder();

                    foreach (DataRow ElencoRighe in DsData.Tables["UTENTI_IMPORT_LOG"].Rows)
                    {
                        sbErr.Append(ElencoRighe["COGNOME"].ToString() + " " + ElencoRighe["NOME"].ToString() + " - " + ElencoRighe["ERRORE"].ToString() + "<br />");
                    }
                    LabelResult.InnerHtml           = sbErr.ToString();
                    LabelResult.Attributes["class"] = "col-md-12 alert alert-danger";
                }
                else
                {
                    LabelResult.InnerHtml           = "File <b>'" + fileNameWithoutExt + "'</b> caricato con successo.<br>Dimensione file: " + FileUploadUtente.PostedFile.ContentLength + " byte.";
                    LabelResult.Attributes["class"] = "col-md-12 alert alert-success";
                }

                // Rimuovo il file dal server
                if (File.Exists(percorso))
                {
                    File.Delete(percorso);
                }
            }
        }
        catch (Exception ex)
        {
            if (ex.Message.IndexOf("Riga") != -1)
            {
                LabelResult.InnerHtml           = getDizionarioUI("ERR_MSG_FILE_NOT_IMPORTED") + "<br/><br/>" + ex.Message;
                LabelResult.Attributes["class"] = "col-md-12 alert alert-danger";
            }
            else
            {
                // Gestione messaggistica all'utente e trace in DB dell'errore
                if (!ex.Data.Contains("Class.Method"))
                {
                    ex.Data.Add("Class.Method", "Web_frm_MSU_UTE.ButtonSalva_Click.");
                }
                ExceptionPolicy.HandleException(ex, "Propagate Policy");
            }
        }
    }