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();
            }
        }
Exemple #2
0
        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}");
            }
        }
Exemple #3
0
 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));
         }
     }
 }
Exemple #4
0
 /// <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);
        }