private void Parse_MigrationCSVFile() { bool needIndexes = true; sbyte nameIndex = -1; sbyte computeIndex = -1; sbyte datastoreIndex = -1; MigrationGridList.Clear(); if (!File.Exists(_MigrationCSVFile)) { MigrationLogger.Error("{0}: File not found.", _MigrationCSVFile); return; } var lines = File.ReadLines(_MigrationCSVFile, Encoding.UTF8); foreach (var line in lines) { var columns = line.Split(','); if (needIndexes) { foreach (var col in columns) { if (col.TrimStart('"').TrimEnd('"').ToUpper() == "NAME") { nameIndex = (sbyte)Array.IndexOf(columns, col); } if (col.TrimStart('"').TrimEnd('"').ToUpper() == "DESTINATIONSTORAGE") { datastoreIndex = (sbyte)Array.IndexOf(columns, col); } if (col.TrimStart('"').TrimEnd('"').ToUpper() == "DESTINATIONCOMPUTE") { computeIndex = (sbyte)Array.IndexOf(columns, col); } } if (nameIndex != -1 && computeIndex != -1 && datastoreIndex != -1) { needIndexes = false; } MigrationLogger.Trace("Reading CSV File: Name index = {0}; DestinationCompute index = {1}; DestinationStorage index = {2}", nameIndex, computeIndex, datastoreIndex); } else { GridRow vm = new GridRow(); vm.Name = columns[nameIndex].TrimStart('"').TrimEnd('"'); vm.DestinationStorage = columns[datastoreIndex].TrimStart('"').TrimEnd('"'); vm.DestinationCompute = columns[computeIndex].TrimStart('"').TrimEnd('"'); vm.State = "waiting"; vm.Progress = 0; MigrationGridList.Add(vm); MigrationLogger.Trace("{0}: items in migrationList", MigrationGridList.Count); } } txtMigrationStatus.Text = "Ready to migrate " + MigrationGridList.Count().ToString() + " VMs"; btnStartMigration.IsEnabled = true; }
public void Clear() { Reimport = true; ImportGridList.Clear(); GridList.Clear(); }