public EditTimerModel(IBackend gallifrey, Guid timerId)
{
var dateToday = DateTime.Now;
var timer = gallifrey.JiraTimerCollection.GetTimer(timerId);
if (gallifrey.Settings.AppSettings.KeepTimersForDays > 0)
{
MinDate = dateToday.AddDays(gallifrey.Settings.AppSettings.KeepTimersForDays * -1);
MaxDate = dateToday.AddDays(gallifrey.Settings.AppSettings.KeepTimersForDays);
}
else
{
MinDate = dateToday.AddDays(-300);
MaxDate = dateToday.AddDays(300);
}
RunDate = timer.DateStarted;
DisplayDate = timer.DateStarted;
Hours = timer.ExactCurrentTime.Hours > 9 ? 9 : timer.ExactCurrentTime.Hours;
Minutes = timer.ExactCurrentTime.Minutes;
hasExportedTime = timer.HasExportedTime();
TimeEditable = !timer.IsRunning;
LocalTimer = timer.LocalTimer;
if (LocalTimer)
{
LocalTimerDescription = timer.JiraName;
JiraReference = string.Empty;
}
else
{
JiraReference = timer.JiraReference;
LocalTimerDescription = string.Empty;
}
OriginalLocalTimerDescription = LocalTimerDescription;
OriginalJiraReference = JiraReference;
OriginalRunDate = RunDate;
OriginalHours = Hours ?? 0;
OriginalMinutes = Minutes ?? 0;
IsDefaultOnButton = true;
}