示例#1
0
        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);
        }
示例#2
0
 private void CloseTimer_Tick(object sender, EventArgs e)
 {
     if (DoClose)
     {
         LevelTimer.Stop();
         TalkTimer.Stop();
         Text = "Operation Complete!";
         MainProgressBar.Value = MainProgressBar.Maximum;
         Close();
     }
 }
示例#3
0
        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);
        }
示例#4
0
 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;
     }
 }
示例#5
0
        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);
        }
示例#6
0
        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);
        }
示例#7
0
        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);
        }