private bool ProcessBulkUpload(string fName, out string bulkUploadResultMessage) { bool bulkUploadProccessed = true; bulkUploadResultMessage = ""; 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 { try { connection.Open(); command = new OleDbCommand("select * from [sections]", connection); dataReader = command.ExecuteReader(); dataReader.Close(); connection.Close(); } catch (Exception ex) { bulkUploadResultMessage = "You did not define the 'sections' data range. Bulk upload ABORTED. Original message: " + ex.Message; bulkUploadProccessed = false; if (connection.State == ConnectionState.Open) { connection.Close(); } } //--- Process bulk upload if (bulkUploadProccessed) { connection.Open(); command = new OleDbCommand("select * from [sections]", connection); dataReader = command.ExecuteReader(); int id = 0; while (dataReader.Read()) { if (!IsEmptyRow(dataReader)) { string clientId = ""; int companiesId = 0; string client = ""; string subArea = ""; string street = ""; string usmh = ""; string dsmh = ""; string mapSize = ""; //Size_ string mapLength = ""; //ScaledLength DateTime? p1Date = null; string actualLength = ""; // string cxisRemoved = ""; DateTime? m1Date = null; DateTime? m2Date = null; DateTime? installDate = null; DateTime? finalVideo = null; bool issueIdentified = false; bool issueResolved = false; bool fllWork = false; // FLL Work bool issueGivenToBayCity = false; string confirmedSize = ""; DateTime? deadLineDate = null; DateTime? proposedLiningDate = null; bool salesIssue = false; bool lfsIssue = false; bool clientIssue = false; bool investigationIssue = false; bool jlWork = false; // JL work bool raWork = false; // RA Work DateTime? preFlushDate = null; DateTime? preVideoDate = null; string usmhMn = ""; string dsmhMn = ""; string usmhDepth = ""; string dsmhDepth = ""; string measurementsTakenBy = ""; string steelTapeThruPipe = ""; string usmhAtMouth1200 = ""; string usmhAtMouth100 = ""; string usmhAtMouth200 = ""; string usmhAtMouth300 = ""; string usmhAtMouth400 = ""; string usmhAtMouth500 = ""; string dsmhAtMouth1200 = ""; string dsmhAtMouth100 = ""; string dsmhAtMouth200 = ""; string dsmhAtMouth300 = ""; string dsmhAtMouth400 = ""; string dsmhAtMouth500 = ""; string hydrantAdrress = ""; string distanceToInversionMh = ""; bool rampsRequired = false; string degreeOfTrafficControl = ""; bool standarBypass = false; string hydroWireDetails = ""; string pipeMaterialType = ""; int? capedLaterals = null; bool roboticPrepRequired = false; bool pipeSizeChange = false; string videoDoneFrom = ""; string ToManhole = ""; string cutterDescriptionDuringMeasuring = ""; string lineWidthId = ""; bool schoolZone = false; bool restaurantArea = false; bool carswashLaundromat = false; bool hydroPulley = false; bool fridgeCart = false; bool twoInchPump = false; bool sixInchBypass = false; bool scaffolding = false; bool winchExtension = false; bool extraGenerator = false; bool greyCableExtension = false; bool easementMats = false; string measurementType = ""; bool dropPipe = false; string dropPipeInvertDepth = ""; string measurementFromManhole = ""; string dataCell = null; string dataCellToUpper = null; //--- ... fill section row string originalSectionId = dataReader.GetValue(dataReader.GetOrdinal("ID")).ToString().Trim(); 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 "ID": originalSectionId = dataCell; break; case "ClientID": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { clientId = dataCell; } break; case "COMPANIES_ID": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { companiesId = int.Parse(dataCell); } else { string aux = dataReader.GetFieldType(2).ToString(); string aux2 = dataReader.GetDouble(dataReader.GetOrdinal("COMPANIES_ID")).ToString(); string aux3 = dataReader.GetString(dataReader.GetOrdinal("COMPANIES_ID")).ToString(); } break; case "Client": if (dataCellToUpper != "NULL") { client = dataCell; } break; case "SubArea": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { subArea = dataCell; } break; case "Street": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { street = dataCell; } break; case "USMH": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmh = dataCell; } break; case "DSMH": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmh = dataCell; } break; case "Size_": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { if (Distance.IsValidDistance(dataCell)) { mapSize = dataCell; } } break; case "ScaledLength": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { if (Distance.IsValidDistance(dataCell)) { mapLength = dataCell; } } break; case "P1Date": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { p1Date = Convert.ToDateTime(dataCell); } break; case "ActualLength": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { if (Distance.IsValidDistance(dataCell)) { actualLength = dataCell; } } break; case "CXIsRemoved": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { cxisRemoved = dataCell; } break; case "M1Date": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { m1Date = Convert.ToDateTime(dataCell); } break; case "M2Date": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { m2Date = Convert.ToDateTime(dataCell); } break; case "InstallDate": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { installDate = Convert.ToDateTime(dataCell); } break; case "FinalVideo": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { finalVideo = Convert.ToDateTime(dataCell); } break; case "IssueIdentified": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { issueIdentified = (dataCellToUpper == "YES") ? true : false; } break; case "IssueResolved": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { issueResolved = (dataCellToUpper == "YES") ? true : false; } break; case "FullLengthLining": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { fllWork = (dataCellToUpper == "YES") ? true : false; } break; case "IssueGivenToBayCity": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { issueGivenToBayCity = (dataCellToUpper == "YES") ? true : false; } break; case "ConfirmedSize": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { if (Distance.IsValidDistance(dataCell)) { confirmedSize = dataCell; } } break; case "DeadlineDate": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { deadLineDate = Convert.ToDateTime(dataCell); } break; case "ProposedLiningDate": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { proposedLiningDate = Convert.ToDateTime(dataCell); } break; case "SalesIssue": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { salesIssue = (dataCellToUpper == "YES") ? true : false; } break; case "LFSIssue": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { lfsIssue = (dataCellToUpper == "YES") ? true : false; } break; case "ClientIssue": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { clientIssue = (dataCellToUpper == "YES") ? true : false; } break; case "InvestigationIssue": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { investigationIssue = (dataCellToUpper == "YES") ? true : false; } break; case "JLiner": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { jlWork = (dataCellToUpper == "YES") ? true : false; } break; case "RehabAssessment": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { raWork = (dataCellToUpper == "YES") ? true : false; } break; case "PreFlushDate": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { preFlushDate = Convert.ToDateTime(dataCell); } break; case "PreVideoDate": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { preVideoDate = Convert.ToDateTime(dataCell); } break; case "USMHMN": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmhMn = dataCell; } break; case "DSMHMN": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmhMn = dataCell; } break; case "USMHDepth": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmhDepth = dataCell; } break; case "DSMHDepth": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmhDepth = dataCell; } break; case "MeasurementsTakenBy": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { measurementsTakenBy = dataCell; } break; case "SteelTapeThruPipe": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { steelTapeThruPipe = dataCell; } break; case "USMHAtMouth1200": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmhAtMouth1200 = dataCell; } break; case "USMHAtMouth100": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmhAtMouth100 = dataCell; } break; case "USMHAtMouth200": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmhAtMouth200 = dataCell; } break; case "USMHAtMouth300": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmhAtMouth300 = dataCell; } break; case "USMHAtMouth400": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmhAtMouth400 = dataCell; } break; case "USMHAtMouth500": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { usmhAtMouth500 = dataCell; } break; case "DSMHAtMouth1200": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmhAtMouth1200 = dataCell; } break; case "DSMHAtMouth100": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmhAtMouth100 = dataCell; } break; case "DSMHAtMouth200": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmhAtMouth200 = dataCell; } break; case "DSMHAtMouth300": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmhAtMouth300 = dataCell; } break; case "DSMHAtMouth400": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmhAtMouth400 = dataCell; } break; case "DSMHAtMouth500": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dsmhAtMouth500 = dataCell; } break; case "HydrantAddress": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { hydrantAdrress = dataCell; } break; case "DistanceToInversionMH": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { distanceToInversionMh = dataCell; } break; case "RampsRequired": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { rampsRequired = (dataCellToUpper == "YES") ? true : false; } break; case "DegreeOfTrafficControl": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { degreeOfTrafficControl = dataCell; } break; case "StandarBypass": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { standarBypass = (dataCellToUpper == "YES") ? true : false; } break; case "HydroWireDetails": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { hydroWireDetails = dataCell; } break; case "PipeMaterialType": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { pipeMaterialType = dataCell; } break; case "CappedLaterals": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { capedLaterals = int.Parse(dataCell); } break; case "RoboticPrepRequired": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { roboticPrepRequired = (dataCellToUpper == "YES") ? true : false; } break; case "PipeSizeChange": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { pipeSizeChange = (dataCellToUpper == "YES") ? true : false; } break; case "VideoDoneFrom": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { videoDoneFrom = dataCell; } break; case "ToManhole": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { ToManhole = dataCell; } break; case "CutterDescriptionDuringMeasuring": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { cutterDescriptionDuringMeasuring = dataCell; } break; case "LineWithID": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { lineWidthId = dataCell; } break; case "SchoolZone": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { schoolZone = (dataCellToUpper == "YES") ? true : false; } break; case "RestaurantArea": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { restaurantArea = (dataCellToUpper == "YES") ? true : false; } break; case "CarwashLaundromat": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { carswashLaundromat = (dataCellToUpper == "YES") ? true : false; } break; case "HydroPulley": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { hydroPulley = (dataCellToUpper == "YES") ? true : false; } break; case "FridgeCart": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { fridgeCart = (dataCellToUpper == "YES") ? true : false; } break; case "TwoInchPump": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { twoInchPump = (dataCellToUpper == "YES") ? true : false; } break; case "SixInchBypass": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { sixInchBypass = (dataCellToUpper == "YES") ? true : false; } break; case "Scaffolding": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { scaffolding = (dataCellToUpper == "YES") ? true : false; } break; case "WinchExtension": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { winchExtension = (dataCellToUpper == "YES") ? true : false; } break; case "ExtraGenerator": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { extraGenerator = (dataCellToUpper == "YES") ? true : false; } break; case "GreyCableExtension": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { greyCableExtension = (dataCellToUpper == "YES") ? true : false; } break; case "EasementMats": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { easementMats = (dataCellToUpper == "YES") ? true : false; } break; case "MeasurementType": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { measurementType = dataCell; } break; case "DropPipe": if ((dataCellToUpper == "YES") || (dataCellToUpper == "NO")) { dropPipe = (dataCellToUpper == "YES") ? true : false; } break; case "DropPipeInvertDepth": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { dropPipeInvertDepth = dataCell; } break; case "MeasuredFromManhole": if (dataCellToUpper != "NULL" && dataCellToUpper != "") { measurementFromManhole = dataCell; } break; default: bulkUploadResultMessage = "Invalid column name '" + dataReader.GetName(i) + "' in section data range."; bulkUploadProccessed = false; break; } if (!bulkUploadProccessed) { break; } } if (bulkUploadProccessed) { DataMigrationGateway dataMigrationGateway = new DataMigrationGateway(null); Guid originalId = dataMigrationGateway.GetOriginalIdByCompanyIdCompaniesIdRecordIdStreet(int.Parse(hdfCompanyId.Value), companiesId, originalSectionId, street); id = id + 1; if (!dataMigrationGateway.IsMigratedSection(originalId, originalSectionId)) { //--- Initialize DataMigrationTDS dataSet = new DataMigrationTDS(); dataSet.DataMigration.Merge(dataMigration, true); DataMigration model = new DataMigration(dataSet); model.Insert(originalId, originalSectionId, clientId, companiesId, client, subArea, street, usmh, dsmh, mapSize, mapLength, p1Date, actualLength, cxisRemoved, m1Date, m2Date, installDate, finalVideo, issueIdentified, issueResolved, fllWork, issueGivenToBayCity, confirmedSize, deadLineDate, proposedLiningDate, salesIssue, lfsIssue, clientIssue, investigationIssue, jlWork, raWork, preFlushDate, preVideoDate, usmhMn, dsmhMn, usmhDepth, dsmhDepth, measurementsTakenBy, steelTapeThruPipe, usmhAtMouth1200, usmhAtMouth100, usmhAtMouth200, usmhAtMouth300, usmhAtMouth400, usmhAtMouth500, dsmhAtMouth1200, dsmhAtMouth100, dsmhAtMouth200, dsmhAtMouth300, dsmhAtMouth400, dsmhAtMouth500, hydrantAdrress, distanceToInversionMh, rampsRequired, degreeOfTrafficControl, standarBypass, hydroWireDetails, pipeMaterialType, capedLaterals, roboticPrepRequired, pipeSizeChange, videoDoneFrom, ToManhole, cutterDescriptionDuringMeasuring, lineWidthId, schoolZone, restaurantArea, carswashLaundromat, hydroPulley, fridgeCart, twoInchPump, sixInchBypass, scaffolding, winchExtension, extraGenerator, greyCableExtension, easementMats, measurementType, dropPipe, dropPipeInvertDepth, measurementFromManhole); dataMigration = dataSet.DataMigration; Session["dataMigration"] = dataSet.DataMigration; } } } } dataReader.Close(); connection.Close(); } } catch (Exception ex) { if (!dataReader.IsClosed) { dataReader.Close(); } if (connection.State == ConnectionState.Open) { connection.Close(); } throw ex; } return (bulkUploadProccessed) ? true : false; }
// ///////////////////////////////////////////////////////////////////////////////////////////////////// // // STEP2 - SECTIONS // // //////////////////////////////////////////////////////////////////////// // STEP2 - SECTIONS - METHODS // private void StepSectionsIn() { // Set instruction Label instruction = (Label)this.Master.FindControl("lblInstruction"); instruction.Text = "Please select a Microsoft Excel file of migration section"; //--- Initialize DataMigrationTDS dataSet = new DataMigrationTDS(); dataSet.DataMigration.Merge(dataMigration, true); DataMigration model = new DataMigration(dataSet); model.Table.Rows.Clear(); dataMigration = dataSet.DataMigration; Session["dataMigration"] = dataSet.DataMigration; }
// ///////////////////////////////////////////////////////////////////////////////////////////////////// // // STEP3 - SUMMARY // // //////////////////////////////////////////////////////////////////////// // STEP3 - SUMMARY - METHODS // private void StepSummaryIn() { // Set instruction Label instruction = (Label)this.Master.FindControl("lblInstruction"); instruction.Text = "Summary"; // Initialize summary DataMigrationTDS dataSet = new DataMigrationTDS(); dataSet.DataMigration.Merge(dataMigration, true); DataMigration model = new DataMigration(dataSet); tbxSummary.Text = model.GetSectionsSummary(""); }
// //////////////////////////////////////////////////////////////////////// // METHODS // private void Save() { // process sections DataMigrationTDS dataSet = new DataMigrationTDS(); dataSet.DataMigration.Merge(dataMigration, true); dataSet.DataMigrationProject.Merge(dataMigrationProject, true); DataMigration model = new DataMigration(dataSet); DataMigrationProject modelProject = new DataMigrationProject(dataSet); int loginId = Convert.ToInt32(Session["loginID"]); // save to database DB.Open(); DB.BeginTransaction(); try { modelProject.Save(int.Parse(hdfCompanyId.Value), loginId); model.Save(int.Parse(hdfCompanyId.Value), loginId); DB.CommitTransaction(); } catch (Exception ex) { DB.RollbackTransaction(); string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' ')); Response.Redirect(url); } }