private SelectedTask CreateSelectedTask(decimal noiseLevelMeasured, Task task) { var selectedTask = new SelectedTask { Title = task.Title, Role = task.Role.Title, NoiseProtection = task.NoiseProtection.Title, Task = task, CreatedBy = string.IsNullOrEmpty(User.Identity.Name) ? Session.SessionID : User.Identity.Name, CreatedDate = DateTime.Now.Date, NoiseProtectionId = task.NoiseProtection.Id }; if (noiseLevelMeasured > task.NoiseLevelGuideline) { selectedTask.NoiseLevel = noiseLevelMeasured; selectedTask.IsNoiseMeassured = true; } else { selectedTask.NoiseLevel = task.NoiseLevelGuideline; selectedTask.IsNoiseMeassured = false; } return(selectedTask); }
private void ViewTask() { SelectedTaskDraft = SelectedTask.Copy(); SelectedTaskDraftIsNew = false; Messenger.Default.Send(new ViewTaskMessage()); }
protected override void OnItemActivate(EventArgs e) { if (this.FocusedItem != null) { System.Diagnostics.Debug.Assert(SelectedTask != null); SelectedTask.JumpToPosition(); } base.OnItemActivate(e); }
public override void OnEnter() { if (Settings.IsOfflineMode) { MessageBox.Show("Dit scherm is niet beschikbaar in offline mode."); _router.GoBack(); return; } if (_isEditing) { _isEditing = false; return; } if (ViewBag?.Task != null) { SelectedTask = ViewBag.Task; } else { SelectedTask = new Task { Inspections = new List <Inspection>(), TaskSchedules = new List <TaskSchedule>(), DateTimeStart = DateTime.Today, Hash = MD5.Crypt($"{DateTime.Now.ToLongDateString()}-{SelectedTask?.GetHashCode()}") }; EndDate = DateTime.Today.AddDays(1); IsRepeating = false; CanEditStartDate = true; } if (SelectedTask.Remarks == null) { SelectedTask.Remarks = ""; } SelectedTask.TaskSchedules.ToList().ForEach(t => TaskSchedules.Add(t)); Customers.Clear(); ParkingLots.Clear(); Checklists.Clear(); StartDate = DateTime.Today; EndDate = DateTime.Today.AddDays(1); _customerRepository.All().ForEach(Customers.Add); _checklistRepository.All().ForEach(Checklists.Add); _parkingLotRepository.All().ForEach(ParkingLots.Add); CalculateInspectionDates(); SelectFirstComboBoxItem(); }
private void DrawInstructions() // Отрисовка инструкций к текущему заданию { //Instructions.Clear(); string instructions = SelectedTask .Element("description") .Value.Trim('\n', '\t'); Instructions = ParseToStackPanel(instructions); //Instructions = .Add( instructions ); }
private void MarkSelectedTaskCompleted(bool value) { if (SelectedTask == null) { return; } SelectedTask.SetIsCompleted(value); ParentVM.AnyChangeHappened = true; NotifyAll(); }
public QuizEditorViewModel(IDialogService dialogService, IFileService fileService) { _dialogService = dialogService; _fileService = fileService; NewCommand = new Command(obj => CreateQuiz()); OpenCommand = new Command(obj => OpenQuiz()); SaveCommand = new Command(obj => SaveQuiz(), obj => CurrentQuiz != null); EditCommand = new Command(obj => new SettingsWindow(CurrentQuiz).Show(), obj => CurrentQuiz != null); AddTaskCommand = new Command(obj => CreateAndAddTask(obj as ICreatorTask), obj => CurrentQuiz != null); RemoveTaskCommand = new Command(obj => CurrentQuiz.Tasks.Remove(SelectedTask), obj => SelectedTask != null); AddGradePointCommand = new Command(obj => CurrentQuiz.AddNewGradePoint(), obj => CurrentQuiz != null); RemoveGradePointCommand = new Command(obj => CurrentQuiz.GradePoints.Remove(SelectedGradePoint), obj => SelectedGradePoint != null); AddAnswerCommand = new Command(obj => SelectedTask.AddNewAnswer(), obj => SelectedTask != null); RemoveAnswerCommand = new Command(obj => SelectedTask.RemoveAnswer(SelectedAnswer), obj => SelectedAnswer != null); CloseCommand = new Command(obj => Close()); MinimizeCommand = new Command(obj => MinimizeAction()); MaximizeCommand = new Command(obj => MaximizeAction()); }
public SelectedTaskViewModel(SelectedTask selectedTask) { Id = selectedTask.Id; Title = selectedTask.Title; Role = selectedTask.Role; NoiseProtection = selectedTask.NoiseProtection; TaskId = selectedTask.Task.Id; Percentage = selectedTask.Percentage.ToString(); Hours = selectedTask.Hours.ToString(); Minutes = selectedTask.Minutes.ToString(); RoleType = selectedTask.Task.Role.RoleType.ToString(); ButtonPressed = selectedTask.ButtonPressed.ToString(); BackgroundNoise = selectedTask.BackgroundNoise.ToString(); if (selectedTask.BackgroundNoise == 0) { BackgroundNoise = "<80"; } if (selectedTask.HelicopterTaskId > 0) { NoiseLevel = TaskResources.SelectedTaskNoiseLevelNotApplicable; } else { var noiseLevelGuideLine = selectedTask.NoiseLevel.ToString(CultureInfo.InvariantCulture); if (noiseLevelGuideLine.IndexOf(".", System.StringComparison.Ordinal) > 0) { noiseLevelGuideLine = noiseLevelGuideLine.Substring(0, noiseLevelGuideLine.IndexOf(".", System.StringComparison.Ordinal)); } if (selectedTask.IsNoiseMeassured) { NoiseLevel = string.Format("{0} dBA {1}", noiseLevelGuideLine, TaskResources.SelectedTaskNoiseMeasured); } else { NoiseLevel = string.Format("{0} dBA", noiseLevelGuideLine); } } }
public bool Save(string FileName) { if (!AnyTaskSelected || FileName == null) { return(false); } XDocument doc = new XDocument(new XElement("task", SelectedTask.Attribute("number"), new XElement("table", DataTable .Skip(1) .Select(i => new XElement("row", i .Select(j => new XElement("cell", new XAttribute("value", j.Text)) )))))); doc.Save(FileName); return(true); }
public void Add(string name, Category category) { Models.Task newTask = new Models.Task(name, category); Models.Task parent = null; if (SelectedTask != null) { parent = SelectedTask; } if (parent == null) { ParentVM.File.Tasks.Add(newTask); } else { SelectedTask.AddChild(newTask); } newTask.SetIsCompleted(false); onChangeHappened(); }
public TaskMainViewModel(IEventAggregator eventAggregator, IReportingService reportingService, ITaskService taskService) : base() { _eventAggregator = eventAggregator; _reportingService = reportingService; _showAssigned = false; _showComplete = false; _taskService = taskService; _eventAggregator.GetEvent <TaskListUpdateRequested>().Subscribe(() => RaisePropertyChanged("TaskList")); _eventAggregator.GetEvent <TaskCompleted>().Subscribe( task => { RaisePropertyChanged("TaskList"); }); NewTaskCommand = new DelegateCommand( () => { _taskService.CreateNewTask(); }, () => CanCreateTask); PrintTaskListCommand = new DelegateCommand <DataGrid>( grid => { _reportingService.PrintTaskList(grid.ItemsSource as IEnumerable <Task>); }); RemoveTaskCommand = new DelegateCommand( () => { SelectedTask.Delete(); SelectedTask = null; RaisePropertyChanged("TaskList"); }, () => CanDeleteTask); }
private void tree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { try { jira_copy.IsEnabled = true; string selectedString = ((TreeViewItem)e.NewValue).Header.ToString(); string[] starr = selectedString.Split('-'); SelectedTask = taskFinder(Convert.ToInt32(starr[0])); taskNameBox.Text = SelectedTask.task_name; label_status.Content = "Task Status: " + SelectedTask.getStatusName(); inJira_chBox_Handle(); categoryBox.Content = SelectedTask.category.name; spBox.Content = "SP:" + SelectedTask.category.SP + " x " + SelectedTask.multiplier + " = " + (SelectedTask.category.SP * SelectedTask.multiplier); statusButtonRefresh(); commentsBoxRefresh(); subTaskButtonHandler(); sbar_main_message.Text = "Selected task: " + selectedString; task_edit.IsEnabled = true; } catch (NullReferenceException) { } }
private void DrawSolutionLines() // Отрисовка строк решения из текущего задания { var externalSolutionLines = SelectedTask .Element("solution") .Descendants("line"); SolutionLines.Clear(); SolutionsNames.Clear(); foreach (var line in externalSolutionLines) { StackPanel sp = new StackPanel() { Orientation = Orientation.Horizontal, Margin = new Thickness(5) }; foreach (var item in line.Descendants()) { if (item.Name == "text") { sp.Children.Add(ParseToStackPanel(item.Value)); } else if (item.Name == "field") { TextBox tb = new TextBox() { Width = 60, VerticalAlignment = VerticalAlignment.Center }; sp.Children.Add(tb); if (item.Attribute("name") != null) { SolutionsNames.Add(item.Attribute("name").Value, tb); } } } SolutionLines.Add(sp); } checker = SelectedTask.Element("solution").Element("checker"); ButtonCheckerVisibility = checker == null ? Visibility.Collapsed : Visibility.Visible; }
private void statusButtonRefresh() { if (SelectedTask.status == 1) { reopen.IsEnabled = false; active.IsEnabled = true; resolve.IsEnabled = true; } else if (SelectedTask.status == 2) { reopen.IsEnabled = true; active.IsEnabled = false; resolve.IsEnabled = true; } else { reopen.IsEnabled = true; active.IsEnabled = true; resolve.IsEnabled = false; } label_status.Content = SelectedTask.getStatusName(); }
private void DrawDiagrams() // Построение и отрисовка диаграм { Diagrams.Clear(); var Xdiagrams = SelectedTask .Element("diagrams"); if (Xdiagrams == null) { ButtonDiagramsVisibility = Visibility.Collapsed; return; } var diagrams = Xdiagrams. Descendants("diagram") .Select(i => new { x = int.Parse(i.Element("x").Attribute("column").Value), y = int.Parse(i.Element("y").Attribute("column").Value), }) .ToArray(); foreach (var diagram in diagrams) { if (diagram.x > DataTable.First().Count || diagram.y > DataTable.First().Count || diagram.x < 0 || diagram.y < 0) { throw new XMLValidationException("Diagram value is bigger than length if the table or less than 0"); } StackPanel spA = ParseToStackPanel(DataTable[0][diagram.x].Text); StackPanel spB = ParseToStackPanel(DataTable[0][diagram.y].Text); Diagram d = new Diagram(diagram.x, diagram.y, spA, spB); Diagrams.Add(d); } ButtonDiagramsVisibility = Diagrams.Count > 0 ? Visibility.Visible : Visibility.Collapsed; UpdateDiagrams(); }
private void DrawTaskTable() // Отрисовка таблицы из текущего задания { var tableHeaders = SelectedTask .Element("table") .Descendants("column") .Select(i => new { value = i.Value, ai = i.Attribute("ai") == null ? false : i.Attribute("ai").Value == "true" // Автоинкремент }) .ToArray(); int length; int.TryParse(SelectedTask.Element("table").Attribute("tests").Value, out length); DataTable.Clear(); for (int i = 0; i < length + 1; i++) { ObservableCollection <TableCell> column = new ObservableCollection <TableCell>(); for (int j = 0; j < tableHeaders.Count(); j++) { var tableHeader = tableHeaders[j]; if (i == 0) { column.Add(new TableCell(tableHeader.value, ParseToStackPanel(tableHeader.value))); } else { column.Add(new TableCell(tableHeader.ai ? i.ToString() : "")); } } DataTable.Add(column); } }
public ActionResult AddTaskHelideck(HelideckViewModel viewModel) { var task = _taskDAO.Get(viewModel.TaskId); var validationViewModel = ValidateInput(viewModel); if (validationViewModel.ValidationErrors.Count > 0) { Response.StatusCode = 500; return(PartialView("_ValidationErrorSummary", validationViewModel)); } var noiseProtection = _noiseProtectionDAO.Get(viewModel.NoiseProtectionId); var helicopterTask = _helicopterTaskDAO.Get(viewModel.HelicopterId, task.Id); var selectedTask = new SelectedTask { NoiseLevel = task.NoiseLevelGuideline, ButtonPressed = task.ButtonPressed, NoiseProtectionId = viewModel.NoiseProtectionId, Title = string.Format("{0} - {1}", task.Title, helicopterTask.HelicopterType.Title), Role = task.Role.Title, NoiseProtection = noiseProtection.Title, Percentage = (int)CalculatePercentage(helicopterTask.NoiseLevel, task.ButtonPressed, 0, noiseProtection, new TimeSpan(0, 0, task.AllowedExposureMinutes, 0)), Minutes = task.AllowedExposureMinutes, Task = task, HelicopterTaskId = helicopterTask.Id, CreatedBy = string.IsNullOrEmpty(User.Identity.Name) ? Session.SessionID : User.Identity.Name, CreatedDate = DateTime.Now.Date, IsNoiseMeassured = false }; _selectedTaskDAO.Store(selectedTask); return(PartialView("_SelectedTask", new SelectedTaskViewModel(selectedTask))); }
private void InitCommand() { TaskDone = new RelayCommand(() => { var result = service.MessageBoxShow( $"現在実行中のタスク「{TaskTitle}」を完了しますか?", "タスクを完了しますか?", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { model.Done(); } }); TaskPostpone = new RelayCommand(() => { model.Postpone(); }); TaskAdd = new RelayCommand(() => { var task = new TaskItem(); service.ShowDialog(new TaskAddView(task)); if (task.Title != null) { model.AddTask(task); } }); TaskRemove = new RelayCommand(() => { if (SelectedTask == null) { return; } var result = service.MessageBoxShow( $"選択中のタスク「{SelectedTask.Title}」を削除しますか?", "確認", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { model.Remove(SelectedTask); } }); TaskUpdate = new RelayCommand(() => { var task = SelectedTask.Clone(); service.ShowDialog(new TaskAddView(task)); if (task.Title != null) { model.Update(SelectedTask, task); } }); TaskCopy = new RelayCommand(() => { service.ClipboardSet(SelectedTask.ToString()); }); TaskPaste = new RelayCommand(() => { // クリップボードの中身を取得して整える var array = service.ClipboardGet() .Replace("\r", "") .Replace("\n", Environment.NewLine) .Split(new string[] { Environment.NewLine }, 2, StringSplitOptions.None); var task = new TaskItem(array[0]); if (array.Length > 1) { task.Description = array[1]; } service.ShowDialog(new TaskAddView(task)); if (task.Title != null) { model.AddTask(task); } }); TaskDoubleClick = new RelayCommand <TaskItem>(item => { model.Work(item); }); TaskUp = new RelayCommand(() => { if (SelectedTask != null) { model.Move(SelectedTask, -1); } }); TaskDown = new RelayCommand(() => { if (SelectedTask != null) { model.Move(SelectedTask, +1); } }); TaskWork = new RelayCommand(() => { if (SelectedTask != null) { model.Work(SelectedTask); } }); TaskSave = new RelayCommand(() => { model.Save(); }); service.AddClosing((sender, e) => { model.Save(); }); }
private SelectedTask CreateSelectedTaskRegular(RegularViewModel viewModel, Task task) { var selectedTask = new SelectedTask { Title = task.Title, Role = task.Role.Title, NoiseProtection = task.NoiseProtection.Title, NoiseProtectionId = task.NoiseProtection.Id, ButtonPressed = task.ButtonPressed, Task = task, CreatedBy = string.IsNullOrEmpty(User.Identity.Name) ? Session.SessionID : User.Identity.Name, CreatedDate = DateTime.Now.Date }; var noiseProtection = _noiseProtectionDAO.Get(viewModel.NoiseProtectionId); selectedTask.NoiseProtection = noiseProtection.Title; selectedTask.NoiseProtectionId = noiseProtection.Id; selectedTask.ButtonPressed = viewModel.ButtonPressed; if (viewModel.BackgroundNoise != "<80") { int bNoise; int.TryParse(viewModel.BackgroundNoise, out bNoise); if (bNoise != 0) { selectedTask.BackgroundNoise = bNoise; } } if (viewModel.NoiseLevelMeassured != task.NoiseLevelGuideline && viewModel.NoiseLevelMeassured != 0) { selectedTask.NoiseLevel = viewModel.NoiseLevelMeassured; selectedTask.IsNoiseMeassured = true; } else { selectedTask.NoiseLevel = task.NoiseLevelGuideline; selectedTask.IsNoiseMeassured = false; } if (string.IsNullOrEmpty(viewModel.Percentage)) { var timeSpan = new TimeSpanFactory().CreateFromStrings(viewModel.Hours, viewModel.Minutes); selectedTask.Hours = timeSpan.Hours; selectedTask.Minutes = timeSpan.Minutes; selectedTask.Percentage = (int)Math.Round(task.CalculatePercentage(task.TaskDefinition.RoleType.ToString(), selectedTask.NoiseLevel, selectedTask.ButtonPressed, selectedTask.BackgroundNoise, selectedTask.Task.Frequency, noiseProtection, timeSpan)); selectedTask.UsePercentage = false; } else { selectedTask.Percentage = string.IsNullOrEmpty(viewModel.Percentage) ? 0 : int.Parse(viewModel.Percentage); var timeSpan = task.CalculateTimeSpan(task.TaskDefinition.RoleType.ToString(), selectedTask.NoiseLevel, selectedTask.ButtonPressed, selectedTask.BackgroundNoise, selectedTask.Task.Frequency, noiseProtection, selectedTask.Percentage); selectedTask.Hours = timeSpan.Hours; selectedTask.Minutes = timeSpan.Minutes; selectedTask.UsePercentage = true; } return(selectedTask); }
public bool Load(string FileName) { if (!AnyTaskSelected) { return(false); } if (!System.IO.File.Exists(FileName)) { throw new XMLFileOpenSaveException("File doesn't exist!"); } XDocument doc = XDocument.Load(FileName); #region Validation var task = doc.Element("task"); if (task == null) { throw new XMLValidationException("XML file has no element <task>"); } if (task.Attribute("number").Value != SelectedTask.Attribute("number").Value) { return(false); } var table = task.Element("table"); if (table == null) { throw new XMLValidationException("XML file has no element <table> in <task> section"); } var rows = table.Descendants("row").ToArray(); if (rows.Length != DataTable.Count - 1) { throw new XMLValidationException("Element <table> doesn't match selected task table"); } foreach (var row in rows) { var cells = row.Descendants("cell"); if (cells.Count() != DataTable.First().Count) { throw new XMLValidationException("Element <table> doesn't match selected task table"); } foreach (var cell in cells) { if (cell.Attribute("value") == null) { throw new XMLValidationException("Element <cell> has no attribute 'value'"); } } } #endregion for (int i = 0; i < rows.Length; i++) { var cells = rows[i].Descendants("cell").ToArray(); for (int j = 0; j < cells.Length; j++) { DataTable[i + 1][j].Text = cells[j].Attribute("value").Value; } } return(true); }