Esempio n. 1
0
        private void SelectBlock(MouseEventArgs e, TimetableBlock block)
        {
            if (!e.CtrlKey && !e.ShiftKey)
            {
                SelectedBlocks.Clear();
            }

            if (e.ShiftKey)
            {
                var lastBlock   = SelectedBlocks.LastOrDefault();
                int difference  = block.Number - lastBlock.Number;
                var emptyBlocks = Timetable.Blocks.Where(t => t.Number > lastBlock.Number && t.Number <= block.Number);
                if (lastBlock != null)
                {
                    foreach (var item in emptyBlocks)
                    {
                        SelectUnselectedBlock(item);
                    }
                }
            }
            else
            {
                SelectUnselectedBlock(block);
            }



            SelectedBlocksChanged.InvokeAsync(SelectedBlocks);
            TimetableChanged.InvokeAsync(Timetable);
        }
Esempio n. 2
0
 internal void SetWorkItem(WorkItem workItem)
 {
     foreach (var item in SelectedBlocks)
     {
         item.WorkItem = workItem;
     }
     TimetableChanged.InvokeAsync(Timetable);
     StateHasChanged();
 }