protected void btnImport_Click(object sender, System.EventArgs e) { bool error = false; string copiedFileName = ""; string submittedFileName = ""; if (txtFile.PostedFile.ContentLength > 0) { // Check content type - should only be a VBF/XLS file switch (txtFile.PostedFile.ContentType) { case "application/octet-stream" : case "text/plain" : submittedFileName = txtFile.PostedFile.FileName; try { // Confirm the file is the correct size // Copy the file to the server copiedFileName = CopyFile(submittedFileName); // Import the file VBFFile v = new VBFFile(int.Parse(txtVehicleInstID.Text), copiedFileName, User.Identity.Name, int.Parse(cboModule.SelectedItem.Value)); string message = v.Import(out error); // Delete the file from the server DeleteFile(copiedFileName); // Display message or redirect as applicable string redirectUrl = "VehicleInstT.aspx?" + Constants.QueryString.VehicleInstId + "=" + txtVehicleInstID.Text; if (message != "") { lblMessage.Text = message; lnkRedirect.Text = "View Imported Data"; lnkRedirect.NavigateUrl = redirectUrl; } else { // Redirect to the main page Response.Redirect(redirectUrl); } } catch (System.Exception exception) { //Generate error and redirect Context.Items.Add("errorMessage", exception.Message); Context.Server.Transfer("~/Error.aspx"); } break; case "application/vnd.ms-excel" : { //If no language supplied raise an error Context.Items.Add("errorMessage", "Cannot Import. Excel import not yet available!"); Context.Server.Transfer("~/Error.aspx"); break; } default: //If no language supplied raise an error Context.Items.Add("errorMessage", "Cannot Import. Import file format invalid!"); Context.Server.Transfer("~/Error.aspx"); break; } } }
public static string ImportVBF(string fileName, string name, int vehicleLine, string user, int module) { bool flag = false; string result = ""; try { int vehicleInstId = DataAccess.AddVehicleInst(name, vehicleLine, "Imported " + DateTime.get_Now().ToString() + " by " + user, user); VBFFile vBFFile = new VBFFile(vehicleInstId, fileName, user, module); result = vBFFile.Import(out flag); if (!flag) { File.Delete(fileName); } } catch (Exception ex) { result = ex.get_Message(); } return result; }