private static IEnumerable <TalkScheduleItem> GetMinistrySchedule(Meeting meetingData) { var result = new List <TalkScheduleItem>(); TalkTimer timerItem1 = meetingData?.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Ministry1)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Ministry1); TalkTimer timerItem2 = meetingData?.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Ministry2)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Ministry2); TalkTimer timerItem3 = meetingData?.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Ministry3)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Ministry3); TimeSpan startOffset = new TimeSpan(0, 32, 20); result.Add(CreateMinistryItem( TalkTypesAutoMode.MinistryItem1, GetMinistryItemTitle(1), startOffset, TimeSpan.FromMinutes(timerItem1.Minutes), timerItem1.IsStudentTalk, timerItem1.IsStudentTalk, IsMinistryItemEditable())); startOffset = startOffset.Add(TimeSpan.FromMinutes(timerItem1.Minutes)); if (timerItem1.IsStudentTalk) { // counsel... startOffset = startOffset.Add(TimeSpan.FromMinutes(1)); } startOffset = startOffset.Add(TimeSpan.FromSeconds(20)); result.Add(CreateMinistryItem( TalkTypesAutoMode.MinistryItem2, GetMinistryItemTitle(2), startOffset, TimeSpan.FromMinutes(timerItem2.Minutes), timerItem2.IsStudentTalk, timerItem2.IsStudentTalk, IsMinistryItemEditable())); startOffset = startOffset.Add(TimeSpan.FromMinutes(timerItem2.Minutes)); if (timerItem2.IsStudentTalk) { // counsel... startOffset = startOffset.Add(TimeSpan.FromMinutes(1)); } startOffset = startOffset.Add(TimeSpan.FromSeconds(20)); result.Add(CreateMinistryItem( TalkTypesAutoMode.MinistryItem3, GetMinistryItemTitle(3), startOffset, TimeSpan.FromMinutes(timerItem3.Minutes), timerItem3.IsStudentTalk, timerItem3.IsStudentTalk, IsMinistryItemEditable())); return(result); }
private void CloseTimer_Tick(object sender, EventArgs e) { if (DoClose) { LevelTimer.Stop(); TalkTimer.Stop(); Text = "Operation Complete!"; MainProgressBar.Value = MainProgressBar.Maximum; Close(); } }
private static IEnumerable <TalkScheduleItem> GetLivingSchedule(bool isCircuitVisit, Meeting meetingData) { var result = new List <TalkScheduleItem>(); TalkTimer timerPart1 = meetingData?.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Living1)) ?? new TalkTimer { Minutes = 15, TalkType = TalkTypes.Living1 }; TalkTimer timerPart2 = meetingData?.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Living2)); result.Add(CreateLivingItem( TalkTypesAutoMode.LivingPart1, Properties.Resources.TALK_LIVING1, new TimeSpan(0, 51, 40), TimeSpan.FromMinutes(timerPart1.Minutes))); result.Add(CreateLivingItem( TalkTypesAutoMode.LivingPart2, Properties.Resources.TALK_LIVING2, new TimeSpan(0, 51, 40).Add(TimeSpan.FromMinutes(timerPart1.Minutes)), TimeSpan.FromMinutes(timerPart2?.Minutes ?? 0))); if (isCircuitVisit) { result.Add(CreateLivingItem( TalkTypesAutoMode.ConcludingComments, Properties.Resources.TALK_CONCLUDING_COMMENTS, new TimeSpan(1, 7, 0), TimeSpan.FromMinutes(3))); result.Add(CreateLivingItem( TalkTypesAutoMode.CircuitServiceTalk, Properties.Resources.TALK_SERVICE, new TimeSpan(1, 10, 0), TimeSpan.FromMinutes(30))); } else { result.Add(CreateLivingItem( TalkTypesAutoMode.CongBibleStudy, Properties.Resources.TALK_CONG_STUDY, new TimeSpan(1, 7, 0), TimeSpan.FromMinutes(30))); result.Add(CreateLivingItem( TalkTypesAutoMode.ConcludingComments, Properties.Resources.TALK_CONCLUDING_COMMENTS, new TimeSpan(1, 37, 0), TimeSpan.FromMinutes(3))); } return(result); }
public LoadLevelForm(string levelname, string scenario) { InitializeComponent(); CenterToParent(); Localize(); LevelName = levelname; DoClose = false; LevelTimer.Start(); TalkTimer.Start(); CloseTimer.Start(); rand = new Random((int)StringToHash(LevelName)); Scenario = scenario; if (Scenario.Equals("LoadLevel")) { Text = LoadingLevelText; } else if (Scenario.Equals("GenDatabase")) { Text = DatabaseGeneratingText; } }
private static IEnumerable <TalkScheduleItem> GetLivingSchedule(bool isCircuitVisit, Meeting meetingData) { var result = new List <TalkScheduleItem>(); TalkTimer timerPart1 = meetingData?.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Living1)) ?? new TalkTimer { Minutes = 15, TalkType = TalkTypes.Living1 }; TalkTimer timerPart2 = meetingData?.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Living2)); result.Add(new TalkScheduleItem(TalkTypesAutoMode.LivingPart1) { Name = Properties.Resources.TALK_LIVING1, StartOffsetIntoMeeting = new TimeSpan(0, 51, 40), OriginalDuration = TimeSpan.FromMinutes(timerPart1.Minutes), AllowAdaptive = true, Editable = true }); result.Add(new TalkScheduleItem(TalkTypesAutoMode.LivingPart2) { Name = Properties.Resources.TALK_LIVING2, StartOffsetIntoMeeting = new TimeSpan(0, 51, 40).Add(TimeSpan.FromMinutes(timerPart1.Minutes)), OriginalDuration = TimeSpan.FromMinutes(timerPart2?.Minutes ?? 0), AllowAdaptive = true, Editable = true }); if (isCircuitVisit) { result.Add(new TalkScheduleItem(TalkTypesAutoMode.ConcludingComments) { Name = Properties.Resources.TALK_CONCLUDING_COMMENTS, StartOffsetIntoMeeting = new TimeSpan(1, 7, 0), OriginalDuration = TimeSpan.FromMinutes(3), AllowAdaptive = true, Editable = true }); result.Add(new TalkScheduleItem(TalkTypesAutoMode.CircuitServiceTalk) { Name = Properties.Resources.TALK_SERVICE, StartOffsetIntoMeeting = new TimeSpan(1, 10, 0), AllowAdaptive = true, OriginalDuration = TimeSpan.FromMinutes(30) }); } else { result.Add(new TalkScheduleItem(TalkTypesAutoMode.CongBibleStudy) { Name = Properties.Resources.TALK_CONG_STUDY, StartOffsetIntoMeeting = new TimeSpan(1, 7, 0), OriginalDuration = TimeSpan.FromMinutes(30), AllowAdaptive = true, Editable = true }); result.Add(new TalkScheduleItem(TalkTypesAutoMode.ConcludingComments) { Name = Properties.Resources.TALK_CONCLUDING_COMMENTS, StartOffsetIntoMeeting = new TimeSpan(1, 37, 0), OriginalDuration = TimeSpan.FromMinutes(3), AllowAdaptive = true, Editable = true }); } return(result); }
private static IEnumerable <TalkScheduleItem> GetMinistrySchedule(Meeting meetingData, bool autoBell) { var result = new List <TalkScheduleItem>(); var timers = new List <TalkTimer>(); const int maxItems = 4; for (int n = 0; n < maxItems; ++n) { var talkType = TalkTypesUtils.GetMinistryTalkType(n); TalkTimer item; if (meetingData == null) { // failed to download auto schedule! item = new TalkTimer { IsStudentTalk = true, Minutes = 3, // as good a guess as any TalkType = talkType }; } else { item = meetingData.Talks.FirstOrDefault(x => x.TalkType.Equals(talkType)); } if (item != null) { timers.Add(item); } } var startOffset = new TimeSpan(0, 32, 20); for (var n = 0; n < timers.Count; ++n) { var talkType = TalkTypesUtils.GetAutoModeMinistryTalkType(n); var timer = timers[n]; result.Add(CreateMinistryItem( talkType, GetMinistryItemTitle(n + 1), startOffset, TimeSpan.FromMinutes(timer.Minutes), timer.IsStudentTalk, timer.IsStudentTalk, autoBell, timer.IsStudentTalk, true)); startOffset = startOffset.Add(TimeSpan.FromMinutes(timer.Minutes)); if (timer.IsStudentTalk) { // counsel... startOffset = startOffset.Add(TimeSpan.FromMinutes(1)); } startOffset = startOffset.Add(TimeSpan.FromSeconds(20)); } return(result); }
private static IEnumerable <TalkScheduleItem> GetMinistrySchedule(Meeting meetingData) { var result = new List <TalkScheduleItem>(); TalkTimer timerItem1 = null; TalkTimer timerItem2 = null; TalkTimer timerItem3 = null; TalkTimer timerItem4 = null; if (meetingData != null) { if (meetingData.Date.Year < 2019) { timerItem1 = meetingData.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Pre2019Ministry1)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Pre2019Ministry1); timerItem2 = meetingData.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Pre2019Ministry2)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Pre2019Ministry2); timerItem3 = meetingData.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Pre2019Ministry3)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Pre2019Ministry3); } else { timerItem1 = meetingData.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Ministry1)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Ministry1); timerItem2 = meetingData.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Ministry2)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Ministry2); timerItem3 = meetingData.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Ministry3)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Ministry3); timerItem4 = meetingData.Talks.FirstOrDefault(x => x.TalkType.Equals(TalkTypes.Ministry4)) ?? CreateDefaultMinistryTalkTimer(TalkTypes.Ministry4); } } TimeSpan startOffset = new TimeSpan(0, 32, 20); if (timerItem1 != null) { result.Add(CreateMinistryItem( TalkTypesAutoMode.MinistryItem1, GetMinistryItemTitle(1), startOffset, TimeSpan.FromMinutes(timerItem1.Minutes), timerItem1.IsStudentTalk, timerItem1.IsStudentTalk, timerItem1.IsStudentTalk, true)); startOffset = startOffset.Add(TimeSpan.FromMinutes(timerItem1.Minutes)); if (timerItem1.IsStudentTalk) { // counsel... startOffset = startOffset.Add(TimeSpan.FromMinutes(1)); } startOffset = startOffset.Add(TimeSpan.FromSeconds(20)); } if (timerItem2 != null) { result.Add(CreateMinistryItem( TalkTypesAutoMode.MinistryItem2, GetMinistryItemTitle(2), startOffset, TimeSpan.FromMinutes(timerItem2.Minutes), timerItem2.IsStudentTalk, timerItem2.IsStudentTalk, timerItem2.IsStudentTalk, true)); startOffset = startOffset.Add(TimeSpan.FromMinutes(timerItem2.Minutes)); if (timerItem2.IsStudentTalk) { // counsel... startOffset = startOffset.Add(TimeSpan.FromMinutes(1)); } startOffset = startOffset.Add(TimeSpan.FromSeconds(20)); } if (timerItem3 != null) { result.Add(CreateMinistryItem( TalkTypesAutoMode.MinistryItem3, GetMinistryItemTitle(3), startOffset, TimeSpan.FromMinutes(timerItem3.Minutes), timerItem3.IsStudentTalk, timerItem3.IsStudentTalk, timerItem3.IsStudentTalk, true)); startOffset = startOffset.Add(TimeSpan.FromMinutes(timerItem3.Minutes)); if (timerItem3.IsStudentTalk) { // counsel... startOffset = startOffset.Add(TimeSpan.FromMinutes(1)); } startOffset = startOffset.Add(TimeSpan.FromSeconds(20)); } if (timerItem4 != null) { result.Add(CreateMinistryItem( TalkTypesAutoMode.MinistryItem4, GetMinistryItemTitle(4), startOffset, TimeSpan.FromMinutes(timerItem4.Minutes), timerItem4.IsStudentTalk, timerItem4.IsStudentTalk, timerItem4.IsStudentTalk, true)); } return(result); }