private void ExecuteSaveProject(object obj) { var customer = _project.Customer; var cig = CustomerInvoiceGroupComboBoxItems.First( c => c.CustomerInvoiceGroupID == SelectedCustomerInvoiceGroupItem.CustomerInvoiceGroupID); _project.Customer = null; //_project.CustomerInvoiceGroup = null; _project.CustomerInvoiceGroupID = SelectedCustomerInvoiceGroupItem.CustomerInvoiceGroupID; _project.ChangeTracker.OriginalValues.Clear(); _dataService.SaveProject(_project).Subscribe( project => { if (_isNew) { if (project == null) { MessageBox.Show("BUG, Can't save right now.. please try press F5 and try again"); InternalCommands.ProjectAddCompleted.Execute(null); } else { _project.ProjectID = project.ProjectID; _project.Customer = customer; _project.CustomerInvoiceGroup = cig; _project.AcceptChanges(); InternalCommands.ProjectAddCompleted.Execute(_project); } } else { _project.Customer = customer; _project.CustomerInvoiceGroup = CustomerInvoiceGroupComboBoxItems.First(i => i.CustomerInvoiceGroupID == SelectedCustomerInvoiceGroupItem.CustomerInvoiceGroupID); _project.AcceptChanges(); InternalCommands.ProjectEditCompleted.Execute(_project); } } ); }
private void ProjectDeleteStart(Project obj) { var confirmBox = MessageBox.Show(TextResources.ConfirmDeleteProjectLabel, TextResources.ConfirmDeleteBoxTitle, MessageBoxButton.OKCancel); if (confirmBox == MessageBoxResult.OK) { obj.MarkAsDeleted(); obj.Customer = null; obj.ChangeTracker.OriginalValues.Clear(); _dataService.DeleteProject(obj).Subscribe( projectId => { obj.AcceptChanges(); InternalCommands.ProjectDeleteCompleted.Execute(obj.ProjectID); } ); } }