using System; using System.Collections.Generic; using System.IO; using System.Linq; namespace FiveLetters.Model { public class FileTaskProvider : ITaskProvider { private List _tasks; public FileTaskProvider() { _tasks = new List(); } public FiveLettersTask GetTodayTask() { var dd = DateTime.Now.Day; if (_tasks.Count > dd) { return _tasks[dd]; } else { return _tasks[0]; } } private void h_LoadTasks() { _tasks.Clear(); DateTime dtStartMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); string sFn = dtStartMonth.ToString("yyyyMM") + ".txt"; if (File.Exists(sFn)) { h_LoadTask(sFn, dtStartMonth); } else { for (int ii = 0; ii < 31; ii++) { _tasks.Add(new FiveLettersTask(dtStartMonth, "СЛОВО")); dtStartMonth = dtStartMonth.AddDays(1); } } } private void h_LoadTask(string sFn, DateTime dtStartMonth) { string[] lines = File.ReadAllLines(sFn); for (int ii = 0; ii < lines.Length; ii++) { _tasks.Add(new FiveLettersTask(dtStartMonth, lines[ii])); dtStartMonth = dtStartMonth.AddDays(1); } } public FiveLettersTask GetTask(string taskGuid) { return _tasks.FirstOrDefault(p => p.TaskGuid.Equals(taskGuid)); } } }