Пример #1
0
 private void IsGameOver_Tick(object sender, EventArgs e)
 {
     if (Game.GameOver() == true)
     {
         IsGameOver.Stop();
         const string message = "Вы проиграли. Хотите начать заново?";
         const string caption = "Сообщение";
         var          result  = MessageBox.Show(message, caption,
                                                MessageBoxButtons.YesNo,
                                                MessageBoxIcon.Question);
         if (result == DialogResult.Yes)
         {
             Game.Refresh();
             PaintGame(Game.GetAll());
             AddGun(Game.GetFishinGun(), getColumn);
             label1.Text = Convert.ToString("Счёт: " + Game.GetScore());
             IsGameOver.Start();
         }
         else
         {
             this.MouseClick -= GameForm_MouseClick;
             IsGameOver.Stop();
             AddFishTimer.Stop();
             AddTimer.Stop();
             stop = true;
         }
     }
 }
Пример #2
0
        private async void PasteButton()
        {
            var pastedData = await ClipboardHelper.GetClipboard();

            string jiraRef;

            if (Uri.TryCreate(pastedData, UriKind.Absolute, out var pastedUri) && Uri.TryCreate(ModelHelpers.Gallifrey.Settings.JiraConnectionSettings.JiraUrl, UriKind.Absolute, out var jiraUri) && pastedUri.Host == jiraUri.Host)
            {
                var uriDrag = pastedUri.AbsolutePath;
                jiraRef = uriDrag.Substring(uriDrag.LastIndexOf("/", StringComparison.InvariantCultureIgnoreCase) + 1);
            }
            else
            {
                jiraRef = pastedData;
            }

            if (ModelHelpers.Gallifrey.JiraConnection.DoesJiraExist(jiraRef))
            {
                var startDate = ViewModel.TimerDates.FirstOrDefault(x => x.DateIsSelected)?.TimerDate ?? DateTime.Today;
                var addTimer  = new AddTimer(ModelHelpers, startDate: startDate, jiraRef: jiraRef);
                await ModelHelpers.OpenFlyout(addTimer);

                if (addTimer.AddedTimer)
                {
                    ModelHelpers.SetSelectedTimer(addTimer.NewTimerId);
                }
            }
            else
            {
                await ModelHelpers.ShowMessageAsync("Invalid Jira", $"Unable To Locate That Jira.\n\nJira Ref Pasted: '{jiraRef}'");
            }
        }
Пример #3
0
        private async void AddButton(object sender, RoutedEventArgs e)
        {
            var startDate = ViewModel.TimerDates.FirstOrDefault(x => x.DateIsSelected)?.TimerDate ?? DateTime.Today;

            var addTimer = new AddTimer(ModelHelpers, startDate: startDate);
            await ModelHelpers.OpenFlyout(addTimer);

            if (addTimer.AddedTimer)
            {
                ModelHelpers.SetSelectedTimer(addTimer.NewTimerId);
            }
        }
Пример #4
0
 /// <summary>
 /// Event for when the add button is clicked, sends different forms for timers
 /// and commands, respectively.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Add_Click(object sender, RoutedEventArgs e)
 {
     if (this.Name == "timers")
     {
         AddTimer addt = new AddTimer(this);
         addt.Show();
     }
     else
     {
         AddCommand add = new AddCommand(this);
         add.Show();
     }
 }
Пример #5
0
        private async void CreateTimerFromInactive(object sender, MouseButtonEventArgs e)
        {
            var dummyIdleTimer = new IdleTimer(DateTime.Now, DateTime.Now, Model.TimeActivity, Guid.NewGuid());
            var addFlyout      = new AddTimer(ModelHelpers, idleTimers: new List <IdleTimer> {
                dummyIdleTimer
            }, enableDateChange: false);
            await ModelHelpers.OpenFlyout(addFlyout);

            if (addFlyout.AddedTimer)
            {
                ModelHelpers.SetSelectedTimer(addFlyout.NewTimerId);
                ModelHelpers.Gallifrey.ResetInactiveAlert();
            }
        }
Пример #6
0
 private void pictureBox1_Click(object sender, EventArgs e)
 {
     if (stop == true)
     {
         this.MouseClick += GameForm_MouseClick;
         IsGameOver.Start();
         AddFishTimer.Start();
         AddTimer.Start();
         stop = false;
     }
     Game.Refresh();
     PaintGame(Game.GetAll());
     AddGun(Game.GetFishinGun(), getColumn);
     label1.Text = Convert.ToString("Счёт: " + Game.GetScore());
 }
Пример #7
0
        private async Task AddFromUrl(string url)
        {
            var uriDrag   = new Uri(url).AbsolutePath;
            var jiraRef   = uriDrag.Substring(uriDrag.LastIndexOf("/", StringComparison.InvariantCultureIgnoreCase) + 1);
            var todayDate = DateTime.Now.Date;
            var dayTimers = ModelHelpers.Gallifrey.JiraTimerCollection.GetTimersForADate(todayDate).ToList();

            if (dayTimers.Any(x => x.JiraReference == jiraRef))
            {
                ModelHelpers.Gallifrey.JiraTimerCollection.StartTimer(dayTimers.First(x => x.JiraReference == jiraRef).UniqueId);
                ModelHelpers.RefreshModel();
                ModelHelpers.SelectRunningTimer();
            }
            else
            {
                //Validate jira is real
                try
                {
                    if (!ModelHelpers.Gallifrey.JiraConnection.DoesJiraExist(jiraRef))
                    {
                        await ModelHelpers.ShowMessageAsync("Invalid Jira", $"Unable To Locate That Jira.\n\nJira Ref Dropped: '{jiraRef}'");

                        return;
                    }
                }
                catch (Exception)
                {
                    await ModelHelpers.ShowMessageAsync("Invalid Jira", $"Unable To Locate That Jira.\n\nJira Ref Dropped: '{jiraRef}'");

                    return;
                }

                //show add form, we know it's a real jira & valid
                var addTimer = new AddTimer(ModelHelpers, startDate: todayDate, jiraRef: jiraRef, startNow: true);
                await ModelHelpers.OpenFlyout(addTimer);

                if (addTimer.AddedTimer)
                {
                    ModelHelpers.SetSelectedTimer(addTimer.NewTimerId);
                }
            }
        }
Пример #8
0
        private async void TagDragDrop(object sender, DragEventArgs e)
        {
            var url = GetUrl(e);

            if (!string.IsNullOrWhiteSpace(url))
            {
                var uriDrag    = new Uri(url).AbsolutePath;
                var jiraRef    = uriDrag.Substring(uriDrag.LastIndexOf("/") + 1);
                var todaysDate = DateTime.Now.Date;
                var dayTimers  = ModelHelpers.Gallifrey.JiraTimerCollection.GetTimersForADate(todaysDate).ToList();

                if (dayTimers.Any(x => x.JiraReference == jiraRef))
                {
                    ModelHelpers.Gallifrey.JiraTimerCollection.StartTimer(dayTimers.First(x => x.JiraReference == jiraRef).UniqueId);
                    ModelHelpers.RefreshModel();
                    ModelHelpers.SelectRunningTimer();
                }
                else
                {
                    //Validate jira is real
                    try
                    {
                        ModelHelpers.Gallifrey.JiraConnection.GetJiraIssue(jiraRef);
                    }
                    catch (NoResultsFoundException)
                    {
                        await DialogCoordinator.Instance.ShowMessageAsync(ModelHelpers.DialogContext, "Invalid Jira", $"Unable To Locate That Jira.\n\nJira Ref Dropped: '{jiraRef}'");

                        return;
                    }

                    //show add form, we know it's a real jira & valid
                    var addTimer = new AddTimer(ModelHelpers, startDate: todaysDate, jiraRef: jiraRef, startNow: true);
                    await ModelHelpers.OpenFlyout(addTimer);

                    if (addTimer.AddedTimer)
                    {
                        ModelHelpers.SetSelectedTimer(addTimer.NewTimerId);
                    }
                }
            }
        }
Пример #9
0
 public GameForm()
 {
     InitializeComponent();
     fishesRes[0]   = small;
     fishesRes[1]   = medium;
     fishesRes[2]   = big;
     fishesRes[3]   = danger;
     fishesRes_r[0] = small;
     fishesRes_r[1] = medium_r;
     fishesRes_r[2] = big_r;
     CreateTable();
     pictureBox1.Cursor = Cursors.Hand;
     Game.Start();
     PaintGame(Game.GetAll());
     label1.Text = Convert.ToString("Счёт: " + 0);
     IsGameOver.Start();
     AddFishTimer.Start();
     AddTimer.Start();
     stop = false;
 }
Пример #10
0
        private async void PasteButton(object sender, RoutedEventArgs e)
        {
            var jiraRef = Clipboard.GetText();

            if (ModelHelpers.Gallifrey.JiraConnection.DoesJiraExist(jiraRef))
            {
                var startDate = ViewModel.TimerDates.FirstOrDefault(x => x.DateIsSelected)?.TimerDate ?? DateTime.Today;
                var addTimer  = new AddTimer(ModelHelpers, startDate: startDate, jiraRef: jiraRef);
                await ModelHelpers.OpenFlyout(addTimer);

                if (addTimer.AddedTimer)
                {
                    ModelHelpers.SetSelectedTimer(addTimer.NewTimerId);
                }
            }
            else
            {
                await DialogCoordinator.Instance.ShowMessageAsync(ModelHelpers.DialogContext, "Invalid Jira", $"Unable To Locate That Jira.\n\nJira Ref Pasted: '{jiraRef}'");
            }
        }
Пример #11
0
        private async void PasteButton(object sender, RoutedEventArgs e)
        {
            var    pastedData = Clipboard.GetText();
            string jiraRef    = null;

            try
            {
                var pastedUri = new Uri(pastedData);
                var jiraUri   = new Uri(ModelHelpers.Gallifrey.Settings.JiraConnectionSettings.JiraUrl);
                if (pastedUri.Host == jiraUri.Host)
                {
                    var uriDrag = pastedUri.AbsolutePath;
                    jiraRef = uriDrag.Substring(uriDrag.LastIndexOf("/") + 1);
                }
            }
            catch (Exception)
            {
                //ignored
            }

            if (string.IsNullOrWhiteSpace(jiraRef))
            {
                jiraRef = pastedData;
            }

            if (ModelHelpers.Gallifrey.JiraConnection.DoesJiraExist(jiraRef))
            {
                var startDate = ViewModel.TimerDates.FirstOrDefault(x => x.DateIsSelected)?.TimerDate ?? DateTime.Today;
                var addTimer  = new AddTimer(ModelHelpers, startDate: startDate, jiraRef: jiraRef);
                await ModelHelpers.OpenFlyout(addTimer);

                if (addTimer.AddedTimer)
                {
                    ModelHelpers.SetSelectedTimer(addTimer.NewTimerId);
                }
            }
            else
            {
                await DialogCoordinator.Instance.ShowMessageAsync(ModelHelpers.DialogContext, "Invalid Jira", $"Unable To Locate That Jira.\n\nJira Ref Pasted: '{jiraRef}'");
            }
        }
Пример #12
0
        private async void AddToFillDay()
        {
            var startDate      = ViewModel.TimerDates.FirstOrDefault(x => x.DateIsSelected)?.TimerDate ?? DateTime.Today;
            var recordedToDate = ModelHelpers.Gallifrey.JiraTimerCollection.GetTotalTimeForDateNoSeconds(startDate);
            var target         = ModelHelpers.Gallifrey.Settings.AppSettings.TargetLogPerDay;

            if (recordedToDate < target)
            {
                var dummyIdleTimer = new IdleTimer(DateTime.Now, DateTime.Now, target.Subtract(recordedToDate), Guid.NewGuid());
                var addTimer       = new AddTimer(ModelHelpers, startDate: startDate, idleTimers: new List <IdleTimer> {
                    dummyIdleTimer
                }, enableDateChange: false);
                await ModelHelpers.OpenFlyout(addTimer);

                if (addTimer.AddedTimer)
                {
                    ModelHelpers.SetSelectedTimer(addTimer.NewTimerId);
                }
            }
            else
            {
                await ModelHelpers.ShowMessageAsync("No Extra Time", "You Have Already Hit The Target For This Date!");
            }
        }