Beispiel #1
0
        /// <summary>
        /// 日記データを書き込む。
        /// データが存在する場合、上書きする。
        /// </summary>
        /// <param name="diary"></param>
        /// <exception>書き込めない場合、例外発生</exception>
        public void WriteDiaryData(DiaryData diary)
        {
            try
            {
                var reader  = new DiaryCsvReader(_fileName);
                var diaries = reader.ReadAllDiaryData() ?? new List <DiaryData>();

                var target = diaries?.SingleOrDefault(d => d.Date == diary.Date);

                if (target != null)
                {
                    // 上書き
                    target.Text = diary.Text;
                }
                else
                {
                    // 追加
                    diaries.Add(diary);
                }

                WriteAllDiaryData(diaries);
            }
            catch (Exception ex)
            {
                _logger.Error(ex.ToString());
                throw;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 日記データを削除する。
        /// </summary>
        /// <param name="diary"></param>
        /// <exception>指定したデータがない場合、例外発生</exception>
        public void DeleteDiaryData(DiaryData diary)
        {
            try
            {
                var reader  = new DiaryCsvReader(_fileName);
                var diaries = reader.ReadAllDiaryData();

                var target = diaries.Single(d => d.Date == diary.Date);

                // 削除
                diaries.Remove(target);
                WriteAllDiaryData(diaries);
            }
            catch (Exception ex)
            {
                _logger.Error(ex.ToString());
                throw;
            }
        }