TimerInfo CreateRepairDockTimerInfo(Grabacr07.KanColleWrapper.Models.RepairingDock dock)
        {
            if (dock.State == Grabacr07.KanColleWrapper.Models.RepairingDockState.Locked) { return null; }
            var timer = new TimerInfo(dock.Id) {
                Type = TimerType.Repair,
                IsTitleEnabled = true,
            };

            if (dock.Ship != null) {
                timer.TimerTitle = string.Format("{0} Lv.{1}",
                    dock.Ship.Info.Name,
                    dock.Ship.Level);
            }
            if (dock.CompleteTime.HasValue) {
                timer.CompleteDate = dock.CompleteTime.Value.LocalDateTime;
            }
            return timer;
        }
 TimerInfo CreateShipbuildingTiemrInfo(Grabacr07.KanColleWrapper.Models.BuildingDock dock)
 {
     if (dock.State == Grabacr07.KanColleWrapper.Models.BuildingDockState.Locked) { return null; }
     TimerInfo timer = new TimerInfo(dock.Id) {
         Type = TimerType.Shipbuilding,
         IsTitleEnabled = true
     };
     if (dock.Ship != null) {
         timer.TimerTitle = string.Format("{0} {1}",
             dock.Ship.ShipType.Name,
             dock.Ship.Name);
     }
     if (dock.CompleteTime.HasValue) {
         timer.CompleteDate = dock.CompleteTime.Value.LocalDateTime;
     }
     return timer;
 }
        TimerInfo CreateExpeditionTimerInfo(Grabacr07.KanColleWrapper.Models.Fleet fleet)
        {
            if (fleet.Id == 1) { return null; }
            TimerInfo timer = new TimerInfo(
                TimerType.Expedition,
                fleet.Id);

            var expedition = fleet.Expedition;
            if (expedition != null && expedition.Mission != null) {
                timer.TimerTitle = expedition.Mission.Title;
                timer.IsTitleEnabled = true;
                if (expedition.ReturnTime.HasValue) {
                    timer.CompleteDate = expedition.ReturnTime.Value.LocalDateTime;
                }
            }
            return timer;
        }