// //////////////////////////////////////////////////////////////////////// // INITIAL EVENTS // protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // Validate query string if (((string)Request.QueryString["source_page"] == null) || ((string)Request.QueryString["client_id"] == null) || ((string)Request.QueryString["project_id"] == null)) { Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in wincap_bulk_upload.aspx"); } // Tag Page TagPage(); // Prepare initial data Session.Remove("wincapBulkUpload"); // Initialize viewstate variables ViewState["StepFrom"] = "Out"; // ... Initialize tables wincapBulkUpload = new WincapBulkUploadTDS.WincapBulkUploadDataTable(); // ... Store tables Session["wincapBulkUpload"] = wincapBulkUpload; // StepSection1In wzBulkUpload.ActiveStepIndex = 0; StepBeginIn(); } else { // Restore tables wincapBulkUpload = (WincapBulkUploadTDS.WincapBulkUploadDataTable)Session["wincapBulkUpload"]; } // control for postback hdfTag.Value = DateTime.Now.ToLongTimeString(); }
// ///////////////////////////////////////////////////////////////////////////////////////////////////// // // STEP1 - BEGIN // // //////////////////////////////////////////////////////////////////////// // STEP1 - BEGIN - METHODS // private void StepBeginIn() { // Set instruction Label instruction = (Label)this.Master.FindControl("lblInstruction"); instruction.Text = "Please select a Microsoft Excel file"; //--- Initialize WincapBulkUploadTDS dataSet = new WincapBulkUploadTDS(); dataSet.WincapBulkUpload.Merge(wincapBulkUpload, true); WincapBulkUpload model = new WincapBulkUpload(dataSet); model.Table.Rows.Clear(); wincapBulkUpload = dataSet.WincapBulkUpload; Session["wincapBulkUpload"] = dataSet.WincapBulkUpload; }
private bool ProcessBulkUpload(string fName, out string wincapBulkUploadResultMessage) { bool wincapBulkUploadProccessed = true; wincapBulkUploadResultMessage = ""; AssetSewerSectionGateway assetSewerSectionGateway = new AssetSewerSectionGateway(); AppSettingsReader appSettingReader = new AppSettingsReader(); string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=YES;IMEX=1';Data Source=" + fName + ";"; OleDbConnection connection = new OleDbConnection(excelConnectionString); OleDbCommand command = null; OleDbDataReader dataReader = null; try { ArrayList validatedIds = new ArrayList(); connection.Open(); command = new OleDbCommand("select * from [sections]", connection); dataReader = command.ExecuteReader(); int id = 0; while (dataReader.Read()) { if (!IsEmptyRow(dataReader)) { string sectionId = ""; string state = ""; string distance = ""; string direction = ""; string videoDistance = ""; string clockPosition = ""; string distanceToCentre = ""; string reverseSetup = ""; string comments = ""; string dataCell = null; string dataCellToUpper = null; //--- ... fill section row for (int i = 0; i < dataReader.FieldCount; i++) { dataCell = dataReader.GetValue(i).ToString().Trim(); dataCellToUpper = dataReader.GetValue(i).ToString().Trim().ToUpper(); switch (dataReader.GetName(i).Trim()) { case "SectionID": if (dataCellToUpper != "NULL") { sectionId = dataCell; } else { sectionId = ""; } break; case "State": if (dataCellToUpper != "NULL") { state = dataCell; } else { state = ""; } break; case "Direction": if (dataCellToUpper != "NULL") { direction = dataCell; } else { direction = ""; } break; case "Distance": if (dataCellToUpper != "NULL") { if (Distance.IsValidDistance(dataCell)) { distance = dataCell; } else { wincapBulkUploadResultMessage = "Invalid value in 'Distance' column (" + id + "). Wincan Bulk Upload ABORTED."; wincapBulkUploadProccessed = false; } } else { distance = ""; } break; case "VideoDistance": if (dataCellToUpper != "NULL") { if (Distance.IsValidDistance(dataCell)) { videoDistance = dataCell; } else { wincapBulkUploadResultMessage = "Invalid value in 'VideoDistance' column (" + id + "). Wincan Bulk Upload ABORTED."; wincapBulkUploadProccessed = false; } } else { videoDistance = ""; } break; case "ClockPosition": if (dataCellToUpper != "NULL") { clockPosition = dataCell; } else { clockPosition = ""; } break; case "DistanceToCentre": if (dataCellToUpper != "NULL") { if (Distance.IsValidDistance(dataCell)) { distanceToCentre = dataCell; } else { wincapBulkUploadResultMessage = "Invalid value in 'DistanceToCentre' column (" + id + "). Wincan Bulk Upload ABORTED."; wincapBulkUploadProccessed = false; } } else { distanceToCentre = ""; } break; case "ReverseSetup": if (dataCellToUpper != "NULL") { if (Distance.IsValidDistance(dataCell)) { reverseSetup = dataCell; } else { wincapBulkUploadResultMessage = "Invalid value in 'ReverseSetup' column (" + id + "). Wincan Bulk Upload ABORTED."; wincapBulkUploadProccessed = false; } } else { reverseSetup = ""; } break; case "Comments": if (dataCellToUpper != "NULL") { comments = dataCell; } else { comments = ""; } break; default: wincapBulkUploadResultMessage = "Invalid column name '" + dataReader.GetName(i) + "' in section data range."; wincapBulkUploadProccessed = false; break; } if (!wincapBulkUploadProccessed) { break; } } if (wincapBulkUploadProccessed) { //--- Initialize WincapBulkUploadTDS dataSet = new WincapBulkUploadTDS(); dataSet.WincapBulkUpload.Merge(wincapBulkUpload, true); WincapBulkUpload model = new WincapBulkUpload(dataSet); id = id + 1; model.Insert(id.ToString(), sectionId, state, direction, distance, videoDistance, clockPosition, distanceToCentre, reverseSetup, comments); wincapBulkUpload = dataSet.WincapBulkUpload; Session["wincapBulkUpload"] = dataSet.WincapBulkUpload; } } } dataReader.Close(); connection.Close(); } catch (Exception ex) { if (!dataReader.IsClosed) { dataReader.Close(); } if (connection.State == ConnectionState.Open) { connection.Close(); } throw ex; } return (wincapBulkUploadProccessed) ? true : false; }