private void AddToWatchlist(Security instrument) { if (SecList.FirstOrDefault(x => x.Board == instrument.Board && x.Seccode == instrument.Seccode) != null) { return; } SecList.AddIfNotContains(instrument); var xml = new XmlSerializer(typeof(List <Security>)); using ( var fileStream = new FileStream(WatchListPath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) { List <Security> list = new List <Security>(); try { list = (List <Security>)xml.Deserialize(fileStream); } catch { } if (list.Find(x => x.Board == instrument.Board && x.Seccode == instrument.Seccode) == null) { list.Add(instrument); } fileStream.SetLength(0); xml.Serialize(fileStream, list); fileStream.Close(); } }
static void Main(string[] args) { //Declaration of method variables bool leave = false, failed = false; List <string> FirstFile = new List <string>(), SecondFile = new List <string>(); string[] files = new string[0]; // Responsible for error checking the users input, only allowing an input that both exist and is correctly spelt while (!leave) { try { Console.Write(">: [Input] "); files = Console.ReadLine().Split(); if (files[0].ToLower() == "dif") { FirstFile = new List <string>(File.ReadAllLines(files[1].ToString())); SecondFile = new List <string>(File.ReadAllLines(files[2].ToString())); leave = true; } else { Console.WriteLine("You have not used the dif command"); } } catch (Exception e) { Console.WriteLine(e.Message); } } //instantiations of Txt_File class Txt_File First = new Txt_File(FirstFile); Txt_File Second = new Txt_File(SecondFile); List <(string, int)> SecList = Second.Get_List(), FirList = First.Get_List(); // Code that verifies that the two files are the same Console.Write($">: [Output] {files[1]} and {files[2]} are "); try { for (int i = 0; i < SecList.Count(); i++) { if (SecList[i] != FirList[i]) { Console.WriteLine(i); failed = true; break; } } if (!failed) { Console.Write("not different"); } } catch (Exception e) { Console.WriteLine($"\n {e.Message}"); } }
private void InitSectorList() { foreach (var w in WuList) { SecList.Add(new Sector(w.id, w)); if (w.twine) { id nid = w.id; nid.negate(); SecList.Add(new Sector(nid, w)); } } }
/// <summary> /// 重新生成区间序列(通过停站生成) /// </summary> public List <TrainSection> GenSecList() { SecList.Clear(); for (int i = 0; i < StaList.Count - 1; i++) { SecList.Add(new TrainSection() { //Train=this, StartStation = StaList[i].StationName, EndStation = StaList[i + 1].StationName, //Capacity = this.Cap }); } return(SecList); }
private void DeleteEntry() { var xml = new XmlSerializer(typeof(List <Security>)); using (var file = File.Open(WatchListPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) { var list = (List <Security>)xml.Deserialize(file); //remove from file list.RemoveWhere(sec => sec.Seccode == SelectedItem.Seccode && sec.Board == SelectedItem.Board); //and from table in memory SecList.Remove(SelectedItem); file.SetLength(0); xml.Serialize(file, list); } OnItemDeleted?.Invoke(); }
// ********************************************************************** void ISecListProvider.GetSecList(Action <SecList> callback) { const string secListFileName = "seclist.csv"; const int classNameIndex = 0; const int classCodeIndex = 1; const int secNameIndex = 2; const int secCodeIndex = 3; const int priceStepIndex = 4; SecList secList = new SecList(); try { using (StreamReader stream = new StreamReader(cfg.AsmPath + secListFileName)) { char[] delimiter = new char[] { ';' }; string line; while ((line = stream.ReadLine()) != null) { string[] str = line.Split(delimiter); double step; if (str.Length < 5 || !double.TryParse(str[priceStepIndex], NumberStyles.Float, NumberFormatInfo.InvariantInfo, out step)) { throw new FormatException("Неверный формат файла."); } secList.Add(str[secNameIndex], str[secCodeIndex], str[classNameIndex], str[classCodeIndex], step); } } } catch (Exception e) { secList.Error = e.Message; } callback.Invoke(secList); }
public double GetList() { double result = 0; // Неудачный результат int i = 0; var DList = Directory.GetDirectories(Path, "*", SearchOption.AllDirectories).Where(ds => ds.Contains("@") && !ds.Contains("20") && !ds.Contains("Temp")); foreach (string secDir in DList) { string secName = secDir.Split("\\".ToCharArray()).FirstOrDefault(f => f.Contains("@")); if (secName == null) { secName = secDir; } SecList.Add(secName); i = i + 1; } SecArray = SecList.ToArray(); if (SecArray.Length > 1) { result = 1; // Yдачный результат } return(result); }