You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.7 KiB
67 lines
1.7 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
|
|
namespace FiveLetters.Model
|
|
{
|
|
|
|
|
|
public class FileTaskProvider : ITaskProvider
|
|
{
|
|
private List<FiveLettersTask> _tasks;
|
|
|
|
public FileTaskProvider()
|
|
{
|
|
_tasks = new List<FiveLettersTask>();
|
|
}
|
|
|
|
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));
|
|
}
|
|
}
|
|
|
|
}
|