private void btnDelete_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("Confirm?", this.Title, MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.OK) { workerLeaveView = dgMain.CurrentItem as WorkerLeaveViewModel; if (workerLeaveView != null && threadDelete.IsBusy == false) { this.Cursor = Cursors.Wait; threadDelete.RunWorkerAsync(workerLeaveView.WorkerLeaveId); } } }
private void dgMain_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left) { workerLeaveView = dgMain.CurrentItem as WorkerLeaveViewModel; if (workerLeaveView != null) { workerLeaveId = workerLeaveView.WorkerLeaveId; txtWorkerId.Text = workerLeaveView.WorkerId; dpStartDate.SelectedDate = workerLeaveView.StartDate; dpEndDate.SelectedDate = workerLeaveView.EndDate; cboLeaveType.SelectedItem = workerLeaveView.LeaveType; } } }
void threadSearch_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { List <WorkerLeaveModel> workerLeaveList = e.Result as List <WorkerLeaveModel>; foreach (WorkerLeaveModel workerLeave in workerLeaveList) { LeaveTypeModel leaveType = leaveTypeList.Where(l => l.LeaveTypeId == workerLeave.LeaveType).FirstOrDefault(); WorkerLeaveViewModel workerLeaveView = new WorkerLeaveViewModel { WorkerLeaveId = workerLeave.WorkerLeaveId, WorkerId = workerLeave.WorkerId, StartDate = workerLeave.StartDate, EndDate = workerLeave.EndDate, LeaveType = leaveType, }; workerLeaveViewList.Add(workerLeaveView); } dgMain.ItemsSource = workerLeaveViewList; btnSearch.IsEnabled = true; this.Cursor = null; }
public WorkerLeaveWindow() { workerLeaveViewList = new ObservableCollection <WorkerLeaveViewModel>(); threadSearch = new BackgroundWorker(); threadSearch.DoWork += new DoWorkEventHandler(threadSearch_DoWork); threadSearch.RunWorkerCompleted += new RunWorkerCompletedEventHandler(threadSearch_RunWorkerCompleted); threadInsert = new BackgroundWorker(); threadInsert.DoWork += new DoWorkEventHandler(threadInsert_DoWork); threadInsert.RunWorkerCompleted += new RunWorkerCompletedEventHandler(threadInsert_RunWorkerCompleted); threadDelete = new BackgroundWorker(); threadDelete.DoWork += new DoWorkEventHandler(threadDelete_DoWork); threadDelete.RunWorkerCompleted += new RunWorkerCompletedEventHandler(threadDelete_RunWorkerCompleted); workerLeaveId = 0; workerLeaveView = new WorkerLeaveViewModel(); leaveTypeList = LeaveTypeModel.Create(); InitializeComponent(); }