bool ParseClasses(string iFileName) { int num1 = 0; StreamReader iStream; try { iStream = new StreamReader(iFileName); } catch (Exception ex) { ProjectData.SetProjectError(ex); int num2 = (int)Interaction.MsgBox(ex.Message, MsgBoxStyle.Critical, "Power CSV Not Opened"); ProjectData.ClearProjectError(); return(false); } int num3 = 0; int num4 = 0; int num5 = 0; _importBuffer = new List <EffectData>(); int num6 = 0; int num7 = -1; int num8 = 0; int index1 = -1; string iString; do { iString = FileIO.ReadLineUnlimited(iStream, char.MinValue); if (iString == null || iString.StartsWith("#")) { continue; } ++num6; if (num6 >= 99) { BusyMsg(Strings.Format(num3, "###,##0") + " records parsed."); Application.DoEvents(); num6 = 0; } ++index1; _importBuffer.Add(new EffectData(iString)); ++num3; if (!_importBuffer[index1].IsValid) { ++num4; } else { ++num1; EffectData effectData = _importBuffer[index1]; if (num7 != effectData.Index) { num7 = effectData.Index; num8 = 0; num5 = 0; } else { ++num8; } effectData.Data.nID = num8; effectData.Nid = num8; if (effectData.Data.nID > DatabaseAPI.Database.Power[effectData.Index].Effects.Length - 1) { effectData.IsNew = true; } else { int index2 = effectData.Nid - num5; if (effectData.CheckSimilar(ref DatabaseAPI.Database.Power[effectData.Index].Effects[index2])) { effectData.Nid = index2; effectData.Data.nID = index2; effectData.IsNew = false; if (num5 > 0) { effectData.IndexChanged = true; } } else { effectData.IsNew = true; int num2 = DatabaseAPI.Database.Power[effectData.Index].Effects.Length - 1; for (int index3 = 0; index3 <= num2; ++index3) { bool flag = index3 <= effectData.Nid && _importBuffer[index1 - effectData.Nid + index3].Nid == index3; if (!flag) { int nid = effectData.Nid; for (int index4 = 0; index4 <= nid; ++index4) { if (_importBuffer[index1 - effectData.Nid + index4].Nid != index3) { continue; } flag = true; break; } } if (flag || !effectData.CheckSimilar(ref DatabaseAPI.Database.Power[effectData.Index].Effects[index3])) { continue; } effectData.Nid = index3; effectData.Data.nID = index3; effectData.IndexChanged = true; effectData.IsNew = false; break; } } } if (effectData.IsNew) { ++num5; } } }while (iString != null); iStream.Close(); int num9 = (int)Interaction.MsgBox(("Parse Completed!\r\nTotal Records: " + Convert.ToString(num3) + "\r\nGood: " + Convert.ToString(num1) + "\r\nRejected: " + Convert.ToString(num4)), MsgBoxStyle.Information, "File Parsed"); return(true); }
bool ParseClasses(string iFileName) { int num = 0; StreamReader iStream; try { iStream = new StreamReader(iFileName); } catch (Exception ex) { Exception ex2 = ex; Interaction.MsgBox(ex2.Message, MsgBoxStyle.Critical, "Power CSV Not Opened"); return(false); } int num2 = 0; int num3 = 0; int num4 = 0; this._importBuffer = new List <EffectData>(); int num5 = 0; int num6 = -1; int num7 = 0; int index = -1; string iString; do { iString = FileIO.ReadLineUnlimited(iStream, '\0'); if (iString != null && !iString.StartsWith("#")) { num5++; if (num5 >= 99) { this.BusyMsg(Strings.Format(num2, "###,##0") + " records parsed."); Application.DoEvents(); num5 = 0; } index++; this._importBuffer.Add(new EffectData(iString)); num2++; if (!this._importBuffer[index].IsValid) { num3++; } else { num++; EffectData effectData = this._importBuffer[index]; if (num6 != effectData.Index) { num6 = effectData.Index; num7 = 0; num4 = 0; } else { num7++; } effectData.Data.nID = num7; effectData.Nid = num7; if (effectData.Data.nID > DatabaseAPI.Database.Power[effectData.Index].Effects.Length - 1) { effectData.IsNew = true; } else { int index2 = effectData.Nid - num4; if (effectData.CheckSimilar(ref DatabaseAPI.Database.Power[effectData.Index].Effects[index2])) { effectData.Nid = index2; effectData.Data.nID = index2; effectData.IsNew = false; if (num4 > 0) { effectData.IndexChanged = true; } } else { effectData.IsNew = true; int num8 = DatabaseAPI.Database.Power[effectData.Index].Effects.Length - 1; for (int index3 = 0; index3 <= num8; index3++) { bool flag = false; if (index3 <= effectData.Nid && this._importBuffer[index - effectData.Nid + index3].Nid == index3) { flag = true; } if (!flag) { int nid = effectData.Nid; for (int index4 = 0; index4 <= nid; index4++) { if (this._importBuffer[index - effectData.Nid + index4].Nid == index3) { flag = true; break; } } } if (!flag && effectData.CheckSimilar(ref DatabaseAPI.Database.Power[effectData.Index].Effects[index3])) { effectData.Nid = index3; effectData.Data.nID = index3; effectData.IndexChanged = true; effectData.IsNew = false; break; } } } } if (effectData.IsNew) { num4++; } } } }while (iString != null); iStream.Close(); Interaction.MsgBox(string.Concat(new string[] { "Parse Completed!\r\nTotal Records: ", Conversions.ToString(num2), "\r\nGood: ", Conversions.ToString(num), "\r\nRejected: ", Conversions.ToString(num3) }), MsgBoxStyle.Information, "File Parsed"); return(true); }