public static DataSet GetParameterOptions(int paramId, int thisParamVal, DataSet optionDS) { int maskI = 255; DataSet dataSet = new DataSet(); DataTable dataTable = new DataTable(); IEnumerator enumerator = optionDS.get_Tables().get_Item(0).get_Columns().GetEnumerator(); try { while (enumerator.MoveNext()) { DataColumn dataColumn = (DataColumn)enumerator.get_Current(); dataTable.get_Columns().Add(new DataColumn(dataColumn.get_ColumnName(), dataColumn.get_DataType())); } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } dataTable.get_Columns().Add(new DataColumn("Selected", typeof(bool))); dataTable.get_Columns().Add(new DataColumn("ValueText", typeof(string))); dataTable.get_Columns().Add(new DataColumn("Checked", typeof(string))); enumerator = optionDS.get_Tables().get_Item(0).get_Rows().GetEnumerator(); try { while (enumerator.MoveNext()) { DataRow dataRow = (DataRow)enumerator.get_Current(); int num = Convert.ToInt32(dataRow.get_Item("fldParamGroupID")); int num2 = Convert.ToInt32(dataRow.get_Item("fldOptionVal")); int num3 = Convert.ToInt32(dataRow.get_Item("fldTypeID")); try { maskI = Convert.ToInt32(dataRow.get_Item("fldMask").ToString(), 2); } catch { maskI = 255; } switch (num3) { case 1: case 4: { DataRow dataRow2 = dataTable.NewRow(); IEnumerator enumerator2 = optionDS.get_Tables().get_Item(0).get_Columns().GetEnumerator(); try { while (enumerator2.MoveNext()) { DataColumn dataColumn2 = (DataColumn)enumerator2.get_Current(); dataRow2.set_Item(dataColumn2.get_ColumnName(), dataRow.get_Item(dataColumn2.get_ColumnName())); } } finally { IDisposable disposable = enumerator2 as IDisposable; if (disposable != null) { disposable.Dispose(); } } string text = "0x" + num2.ToString("X2"); bool flag; if (num3 == 1) { flag = Common.IsSelected(maskI, num2, thisParamVal); } else { flag = ((num2 & thisParamVal) == num2); } dataRow2.set_Item("Selected", flag); if (flag) { dataRow2.set_Item("Checked", "Checked"); } dataRow2.set_Item("ValueText", text); dataTable.get_Rows().Add(dataRow2); break; } case 2: { num = 1; int i = 48; while (i < 122) { if (i <= 57 || (i >= 65 && i <= 90) || i >= 97) { DataRow dataRow3 = dataTable.NewRow(); string text = Convert.ToChar(i).ToString(); bool flag = Common.IsSelected(maskI, i, thisParamVal); dataRow3.set_Item("fldOptionVal", i); dataRow3.set_Item("fldTypeID", num3); dataRow3.set_Item("fldTypeDesc", Constants.OptionType.ASCII.ToString()); dataRow3.set_Item("fldFullDesc", text); dataRow3.set_Item("fldOptionGroup", 1); dataRow3.set_Item("Selected", flag); if (flag) { dataRow3.set_Item("Checked", "Checked"); } dataRow3.set_Item("ValueText", "0x" + i.ToString("X2")); dataTable.get_Rows().Add(dataRow3); } i++; num++; } break; } } } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } dataSet.get_Tables().Add(dataTable); return dataSet; }
public static ICollection GetDataSourceSelector(DataSet gds, int valField, int textField) { DataTable dataTable = new DataTable(gds.get_Tables().get_Item(0).get_TableName()); dataTable.get_Columns().Add(new DataColumn(Constants.DropDownColumnTypes.Val, typeof(string))); dataTable.get_Columns().Add(new DataColumn(Constants.DropDownColumnTypes.Text, typeof(string))); DataRow dataRow = dataTable.NewRow(); dataRow.set_Item(0, 0); dataRow.set_Item(1, Constants.Unassigned); dataTable.get_Rows().Add(dataRow); int count = gds.get_Tables().get_Item(0).get_Rows().get_Count(); if (count > 0) { IEnumerator enumerator = gds.get_Tables().get_Item(0).get_Rows().GetEnumerator(); try { while (enumerator.MoveNext()) { DataRow dataRow2 = (DataRow)enumerator.get_Current(); dataRow = dataTable.NewRow(); dataRow.set_Item(0, dataRow2.get_Item(valField)); dataRow.set_Item(1, dataRow2.get_Item(textField)); dataTable.get_Rows().Add(dataRow); } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } } return new DataView(dataTable); }
private void FillT5(ref DataSet ds, ref string message, int importType) { bool flag = false; int num = 0; int num2 = 0; string text = ""; string text2 = ""; string text3 = ""; string text4 = ""; int count = ds.get_Tables().get_Item(0).get_Rows().get_Count(); int count2 = ds.get_Tables().get_Item(0).get_Columns().get_Count(); int i = 0; while (i < count && !flag) { DataRow dataRow = ds.get_Tables().get_Item(0).get_Rows().get_Item(i); for (int j = 0; j < count2; j++) { string text5 = dataRow.get_Item(j).ToString().Trim(); int num3 = text5.ToLower().IndexOf("parameter number", 0); if (num3 >= 0) { flag = true; num = i + 1; num2 = j; break; } } i++; } int num4 = 0; string text6 = ""; if (flag) { for (i = num; i < count; i++) { DataRow dataRow2 = ds.get_Tables().get_Item(0).get_Rows().get_Item(i); string text7 = dataRow2.get_Item(num2).ToString().Trim(); string text8 = dataRow2.get_Item(num2 + 1).ToString().Trim(); string text9 = dataRow2.get_Item(num2 + 2).ToString().Trim(); string text10 = dataRow2.get_Item(num2 + 3).ToString().Trim(); string text11 = dataRow2.get_Item(num2 + 4).ToString().Trim(); string text12 = dataRow2.get_Item(num2 + 5).ToString().Trim(); string text13 = dataRow2.get_Item(num2 + 6).ToString().Trim(); string text14 = dataRow2.get_Item(num2 - 1).ToString().Trim(); if (text14 != "") { if (importType == 1) { text3 = text14.Replace("Block No ", ""); } else { text3 = Convert.ToInt32(text14, 16).ToString(); } } if (text7 != "") { text = text7.Trim(ParamSpec.TrimChars); text = text.Trim(); DataRow dataRow3 = this.ss.Parameters.NewRow(); dataRow3.set_Item("fldParameter", text); dataRow3.set_Item("fldName", text8); dataRow3.set_Item("fldFrame", text3); this.ss.Parameters.get_Rows().Add(dataRow3); num4 = 0; text2 = ""; text6 = ""; } if (text9 != "") { text2 = text9; } if (text11 != "") { DataRow dataRow4 = this.ss.Options.NewRow(); dataRow4.set_Item("fldParameter", text); dataRow4.set_Item("fldDescription", text2); dataRow4.set_Item("fldSubDesc", text10); string value = this.GetValue(text13, text12, out text4); dataRow4.set_Item("fldValue", value); dataRow4.set_Item("fldError", value == ""); try { dataRow4.set_Item("fldMask", text4.Substring(0, 8)); } catch { dataRow4.set_Item("fldMask", text4); } if (dataRow4.get_Item("fldMask").ToString() != text6) { num4++; } text6 = dataRow4.get_Item("fldMask").ToString(); dataRow4.set_Item("fldSplit", num4.ToString()); dataRow4.set_Item("fldFormat", text12 + text13); dataRow4.set_Item("fldFormat", dataRow4.get_Item("fldFormat").ToString().Replace("0x0x", "0x")); dataRow4.set_Item("fldType", text11); dataRow4.set_Item("fldError", text11 == ""); this.ss.Options.get_Rows().Add(dataRow4); } } if (this.ss.Parameters.get_Rows().get_Count() != int.Parse(text)) { message = string.Concat(new string[] { "There are ", this.ss.Parameters.get_Rows().get_Count().ToString(), " parameters ready for import, yet the last one is numbered ", text.ToString(), "! Please check for missing parameters as this could affect existing prototype settings!" }); return; } } }
private void FillEUCD(ref DataSet ds) { bool flag = false; int num = 0; string text = ""; string text2 = ""; int num2 = 0; int count = ds.get_Tables().get_Item(0).get_Rows().get_Count(); int count2 = ds.get_Tables().get_Item(0).get_Columns().get_Count(); int i = 0; while (i < count && !flag) { DataRow dataRow = ds.get_Tables().get_Item(0).get_Rows().get_Item(i); for (int j = 0; j < count2; j++) { string text3 = dataRow.get_Item(j).ToString().Trim(); if (text3.ToLower() == "nbr") { flag = true; num = i + 1; num2 = j; break; } } i++; } if (flag) { for (i = num; i < count; i++) { DataRow dataRow2 = ds.get_Tables().get_Item(0).get_Rows().get_Item(i); string text4 = dataRow2.get_Item(num2).ToString().Trim(); string text5 = dataRow2.get_Item(num2 + 1).ToString().Trim(); string text6 = dataRow2.get_Item(num2 + 2).ToString().Trim(); string text7 = dataRow2.get_Item(num2 + 11).ToString().Trim(); string paramValue = dataRow2.get_Item(num2 + 8).ToString().Trim(); try { text2 = text7.Substring(0, text7.ToLower().IndexOf("byte")); text2 = text2.Replace(":", ""); text2 = text2.Replace("Block", ""); text2 = text2.Trim(); } catch { text2 = ""; } if (text4 != "") { text = text4.Trim(ParamSpec.TrimChars); text = text.Trim(); DataRow dataRow3 = this.ss.Parameters.NewRow(); dataRow3.set_Item("fldParameter", text); dataRow3.set_Item("fldName", text5); dataRow3.set_Item("fldFrame", text2.Trim()); this.ss.Parameters.get_Rows().Add(dataRow3); } if (text6 != "") { DataRow dataRow4 = this.ss.Options.NewRow(); dataRow4.set_Item("fldParameter", text); dataRow4.set_Item("fldDescription", text6); dataRow4.set_Item("fldSplit", "1"); dataRow4.set_Item("fldMask", "11111111"); string text8 = Common.ConvertToInt(paramValue, 2).ToString(); dataRow4.set_Item("fldValue", text8); dataRow4.set_Item("fldError", text8 == ""); dataRow4.set_Item("fldType", Constants.Config.DefaultParamType); this.ss.Options.get_Rows().Add(dataRow4); } } return; } }
protected override void ReadXmlSerializable(XmlReader reader) { this.Reset(); DataSet dataSet = new DataSet(); dataSet.ReadXml(reader); if (dataSet.get_Tables().get_Item("Frame") != null) { base.get_Tables().Add(new MulticanDataset.FrameDataTable(dataSet.get_Tables().get_Item("Frame"))); } base.set_DataSetName(dataSet.get_DataSetName()); base.set_Prefix(dataSet.get_Prefix()); base.set_Namespace(dataSet.get_Namespace()); base.set_Locale(dataSet.get_Locale()); base.set_CaseSensitive(dataSet.get_CaseSensitive()); base.set_EnforceConstraints(dataSet.get_EnforceConstraints()); base.Merge(dataSet, false, 1); this.InitVars(); }
protected MulticanDataset(SerializationInfo info, StreamingContext context) { string text = (string)info.GetValue("XmlSchema", typeof(string)); if (text != null) { DataSet dataSet = new DataSet(); dataSet.ReadXmlSchema(new XmlTextReader(new StringReader(text))); if (dataSet.get_Tables().get_Item("Frame") != null) { base.get_Tables().Add(new MulticanDataset.FrameDataTable(dataSet.get_Tables().get_Item("Frame"))); } base.set_DataSetName(dataSet.get_DataSetName()); base.set_Prefix(dataSet.get_Prefix()); base.set_Namespace(dataSet.get_Namespace()); base.set_Locale(dataSet.get_Locale()); base.set_CaseSensitive(dataSet.get_CaseSensitive()); base.set_EnforceConstraints(dataSet.get_EnforceConstraints()); base.Merge(dataSet, false, 1); this.InitVars(); } else { this.InitClass(); } base.GetSerializationData(info, context); CollectionChangeEventHandler collectionChangeEventHandler = new CollectionChangeEventHandler(this.SchemaChanged); base.get_Tables().add_CollectionChanged(collectionChangeEventHandler); base.get_Relations().add_CollectionChanged(collectionChangeEventHandler); }
public string Import(out bool error) { error = false; int num = 0; int num2 = 0; string text = ""; string reason = "Imported " + DateTime.get_Now(); VehicleModule vehicleModule = new VehicleModule(); this.ImportVBF(); num2 = this.Params.get_Count(); if (num2 <= 0) { throw new CarConfigException("No bytes loaded, invalid VBF file?"); } VehiclePrototype vehiclePrototype = new VehiclePrototype(this.VehicleInstId); IEnumerator enumerator = vehiclePrototype.Modules.GetEnumerator(); try { while (enumerator.MoveNext()) { VehicleModule vehicleModule2 = (VehicleModule)enumerator.get_Current(); if (vehicleModule2.ID == this.ModuleID) { vehicleModule = vehicleModule2; break; } } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } int noOfBytes = vehicleModule.NoOfBytes; if (noOfBytes > 0) { if (vehiclePrototype.VBFType == 1) { if (noOfBytes > num2) { text = "More bytes in database than imported, database records will remain unchanged for extra bytes [00]. File loaded."; } else if (num2 > noOfBytes) { text = "More bytes imported than available in the database, " + (num2 - noOfBytes).ToString() + " ignored! Check you selected the correct module!"; error = true; } enumerator = vehicleModule.Parameters.GetEnumerator(); try { while (enumerator.MoveNext()) { ConfigByte configByte = (ConfigByte)enumerator.get_Current(); if (num >= num2) { break; } configByte.Update(this.VehicleInstId, ((ConfigByte)this.Params.get_Item(num)).ParamValue, this.UserName, reason); num++; } goto IL_7D3; } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } } int num3 = 1; int num4 = 0; int num5 = 8; int num6 = 0; int num7 = 0; int num8 = 1; DataSet dataSet = new DataSet(); VDF vDF = new VDF(); ArrayList arrayList = new ArrayList(); VDFBlock vDFBlock = new VDFBlock(); enumerator = this.Params.GetEnumerator(); try { while (enumerator.MoveNext()) { ConfigByte configByte2 = (ConfigByte)enumerator.get_Current(); if (num3 == 1) { vDF.CRC = (ushort)(configByte2.ParamValue << 8); } else if (num3 == 2) { vDF.CRC = (ushort)((int)vDF.CRC | configByte2.ParamValue); } else if (num3 == 3) { vDF.DataBlockSize = configByte2.ParamValue << 8; } else if (num3 == 4) { vDF.DataBlockSize |= configByte2.ParamValue; } else if (num3 == 5) { vDF.VDFVersion = configByte2.ParamValue << 8; } else if (num3 == 6) { vDF.VDFVersion |= configByte2.ParamValue; } else if (num3 == 7) { vDF.Blocksize = configByte2.ParamValue << 8; } else if (num3 == 8) { vDF.Blocksize |= configByte2.ParamValue; } else if (num3 == 9) { vDFBlock.Type = configByte2.ParamValue << 8; } else if (num3 == 10) { vDFBlock.Type |= configByte2.ParamValue; } else if (num3 == 11) { num6 = configByte2.ParamValue << 8; vDFBlock.Offset = num6; } else if (num3 == 12) { num6 |= configByte2.ParamValue; vDFBlock.Offset = num6; if (num6 == num3) { num7 = 1; vDFBlock.Size = vDF.DataBlockSize - num5; } else { num7 = (num6 - num5) / 4; } arrayList.Add(vDFBlock); } else { if (num3 > num6) { break; } int num9 = num3 - num5; switch (num9 % 4) { case 0: { vDFBlock.Offset |= configByte2.ParamValue; VDFBlock vDFBlock2 = (VDFBlock)arrayList.get_Item(num8 - 2); vDFBlock2.Size = vDFBlock.Offset - vDFBlock2.Offset; if (num8 == num7) { vDFBlock.Size = vDF.DataBlockSize - vDFBlock.Offset; } arrayList.Add(vDFBlock); break; } case 1: num8++; vDFBlock = new VDFBlock(); vDFBlock.Type = configByte2.ParamValue << 8; break; case 2: vDFBlock.Type |= configByte2.ParamValue; break; case 3: vDFBlock.Offset = configByte2.ParamValue << 8; break; } } num3++; } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } if (vehicleModule.BuildTypes.get_Count() != arrayList.get_Count()) { throw new CarConfigException("Incorrect no of blocks in import file compared to those in the database."); } int i = 1; for (int j = 0; j < vehicleModule.BuildTypes.get_Count(); j++) { int num10 = 1; BuildType buildType = (BuildType)vehicleModule.BuildTypes.get_Item(j); VDFBlock vDFBlock3 = (VDFBlock)arrayList.get_Item(j); int size = vDFBlock3.Size; if (buildType.FrameCount) { for (i = num3; i < size + num3; i++) { ConfigByte configByte3 = (ConfigByte)this.Params.get_Item(i - 1); if (num10 == 1) { dataSet = DataAccess.GetVehicleFrameParameterIDs(configByte3.ParamValue.ToString(), buildType.ID, this.VehicleInstId); if (dataSet.get_Tables().get_Item(0).get_Rows().get_Count() == 0) { text = text + "Frame 0x" + configByte3.ParamValueHex.ToString() + " does not exist in the database. All bytes will not be imported.<br>"; error = true; } else { num4 = configByte3.ParamValue; } } else if (dataSet.get_Tables().get_Item(0).get_Rows().get_Count() > 0) { try { DataRow dataRow = dataSet.get_Tables().get_Item(0).get_Rows().get_Item(num10 - 2); DataAccess.UpdateParamInst(this.VehicleInstId.ToString(), dataRow.get_Item(0).ToString(), configByte3.ParamValue.ToString(), 1, this.UserName, reason); } catch (SqlException) { throw; } catch { string text2 = text; text = string.Concat(new string[] { text2, "Frame 0x", num4.ToString("x2"), " byte ", (num10 - 1).ToString(), " missing from the database.<br>" }); error = true; } } if (num10 == 8) { num10 = 1; dataSet.Dispose(); } else { num10++; } } } else { if (buildType.DataBytes.get_Count() > vDFBlock3.Size) { text = "More bytes in database for [" + buildType.Name + "] than imported, database records will remain unchanged for extra bytes [00]. File loaded."; } else if (vDFBlock3.Size > buildType.DataBytes.get_Count()) { text = string.Concat(new string[] { "More bytes imported than available in the database for [", buildType.Name, "], ", (vDFBlock3.Size - buildType.DataBytes.get_Count()).ToString(), " ignored! Check you selected the correct module!" }); error = true; } enumerator = buildType.DataBytes.GetEnumerator(); try { while (enumerator.MoveNext()) { ConfigByte configByte4 = (ConfigByte)enumerator.get_Current(); if (i >= size + num3) { break; } configByte4.Update(this.VehicleInstId, ((ConfigByte)this.Params.get_Item(i - 1)).ParamValue, this.UserName, reason); i++; } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } } num3 = i; if (buildType.BlockType != vDFBlock3.Type) { DataAccess.UpdateBuildType(buildType.ID, vDFBlock3.Type); } } int vehicleBuildID = DataAccess.GetVehicleBuildID(this.VehicleInstId.ToString()); DataAccess.UpdateVehicle(vehicleBuildID, vDF.VDFVersion, this.UserName); IL_7D3: DataAccess.UpdateVehicleInst(this.VehicleInstId.ToString(), "", string.Concat(new object[] { "Imported ", DateTime.get_Now(), " by ", this.UserName }), 1, this.UserName); return text; } throw new CarConfigException("No parameter records found for Vehicle ID " + this.VehicleInstId.ToString()); }