Esempio n. 1
0
        /// <summary>
        /// rawDBの内容をコンソールに出力
        /// </summary>
        /// <param name="delim"></param>
        private static void PrintRawDB(string delim = " ", bool useDateTime = false)
        {
            Console.WriteLine("RawDB basic information : ");

            foreach (var typeSumList in RawDBEntities.GroupBy(_ent => _ent.Type))
            {
                Console.WriteLine(typeSumList.Key.ToString() + " : " + typeSumList.Count());
            }
            Console.WriteLine("Total : " + RawDBEntities.Count.ToString());

            Console.WriteLine("Now RawDB has entities below : ");

            foreach (var entity in RawDBEntities)
            {
                string dTime =
                    useDateTime ? DateTime.Parse(entity.Date).ToString()
                    : entity.Date;

                Console.WriteLine(
                    entity.ID + delim
                    + dTime + delim
                    + entity.Amount + delim
                    + entity.Type

                    );
            }
        }
Esempio n. 2
0
        /// <summary>
        /// CSVファイルを読み込み未登録のエンティティがあればrawDBに追加
        /// </summary>
        /// <param name="csvFileName"></param>
        /// <param name="print"></param>
        private static void UpdateRawDBFromFile(string csvFileName, bool print = false)
        {
            //
            if (!File.Exists(csvFileName))
            {
                Console.WriteLine("No such a file.");
                return;
            }

            //
            MyCsvReader myCsv = new MyCsvReader();

            //File error check

            //Load csv file
            List <CsvEntity> csvEntities = myCsv.Load(csvFileName, CsvType.Fleet);

            //Update RawDB
            foreach (var entity in csvEntities)
            {
                bool alreadyExists = false;
                foreach (var rawDBEntity in RawDBEntities)
                {
                    if (
                        entity.Date.Equals(rawDBEntity.Date) &&
                        entity.Type.Equals(rawDBEntity.Type)
                        )
                    {
                        alreadyExists = true;
                        break;
                    }
                }
                if (!alreadyExists)
                {
                    RawDBEntities.Add(entity);
                }
            }

            //
            SortRawDB();

            //
            WriteRawDB(RawDBFileName, RawDBEntities);

            //
            if (print)
            {
                PrintRawDB();
            }
        }
Esempio n. 3
0
 /// <summary>
 /// RawDBのソート
 /// </summary>
 private static void SortRawDB()
 {
     RawDBEntities.Sort((a, b) => string.Compare(a.Date, b.Date));
     //
     //WriteRawDB(RawDBFileName, RawDBEntities);
 }
Esempio n. 4
0
 /// <summary>
 /// rawDBの内容を完全にクリアする
 /// </summary>
 private static void ClearRawDB()
 {
     RawDBEntities.Clear();
     WriteRawDB(RawDBFileName, RawDBEntities);
 }