private void UserControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            Mouse.Capture(null);
            Mouse.OverrideCursor = null;
            if (_recordAdding != null)
            {
                var edit = new TimeslotEdit(_recordAdding);
                //TODO consume suggestion service

                edit.CaseSuggestions.Add("test case 1");
                edit.CaseSuggestions.Add("test case 2");
                edit.CaseSuggestions.Add("test second case 1");
                edit.CaseSuggestions.Add("test second case 2");
                edit.CaseSuggestions = edit.CaseSuggestions;

                edit.OrderSuggestions.Add("test order 1");
                edit.OrderSuggestions.Add("test order 2");
                edit.OrderSuggestions.Add("test second order 1");
                edit.OrderSuggestions.Add("second test order 2");
                edit.OrderSuggestions = edit.OrderSuggestions;

                edit.DescriptionSuggestions.Add("test desc 1");
                edit.DescriptionSuggestions.Add("test desc 2");
                edit.DescriptionSuggestions.Add("second test desc 1");
                edit.DescriptionSuggestions.Add("second test desc 2");
                edit.DescriptionSuggestions = edit.DescriptionSuggestions;

                edit.Left = PointToScreen(e.GetPosition(this)).X - (edit.Width / 2);
                edit.Top = PointToScreen(e.GetPosition(this)).Y - (edit.Height / 2);
                edit.ShowDialog();
                if (edit.ShouldSave)
                {
                    //TODO persist via service
                }
                else
                {
                    Model.Records.Remove(_recordAdding);
                }
            }
            _recordAdding = null;
        }
 private void UserControl_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     if (!e.Handled && Editing)
     {
         Mouse.Capture(this);
         Mouse.OverrideCursor = Cursors.SizeWE;
         var positionX = e.GetPosition(this).X;
         var column = positionX / ColumnWidth;
         var start = Model.Date.AddMinutes(column + (ShowOutOfHours ? 0 : _startOfWorkingDayMinutes));
         _recordAdding = new BasicTimeRecord() { StartTime = start, EndTime = start.AddMinutes(2), StartRevision = 0, EndRevision = 1 };
         Model.Records.Add(_recordAdding);
     }
 }