/// <summary> /// On load complete /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataAccess_OnLoad(object sender, EventArgs e) { // Get the data that has been returned. DataAccess.NequeoCompany.Data.Vendors[] returnedDataList = (DataAccess.NequeoCompany.Data.Vendors[])dataAccess.DataModel; DataAccess.NequeoCompany.Data.Vendors data = returnedDataList[0]; // Attach to the property changed event within the model data.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(data_PropertyChanged); SetChangePropertyState(false); // Assign the data to the data context. gridVendor.DataContext = data; SetData(data.VendorID); // Enable the controls. EnableDisable(0); // Load all list items. LoadListItems(); // Start the change (load) process. _loading = true; _addNew = false; // Set the list selected index values. ListSelectedIndex(data); _loading = false; }
/// <summary> /// Before update data. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataAccess_OnBeforeUpdate(object sender, Custom.OperationArgs e) { // Get the binding source data BindingExpression bindingExpression = BindingOperations.GetBindingExpression(txtVendorID, TextBox.TextProperty); DataAccess.NequeoCompany.Data.Vendors data = (DataAccess.NequeoCompany.Data.Vendors)bindingExpression.DataItem; // If a previous operation was attempted while // the data was changed an not updated. if (_updateAttempt) { MessageBoxResult result = MessageBox.Show("Disregard the changes (all changes will be lost)?", "Update", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { e.Cancel = true; } } _updateAttempt = false; // Determine if the data has not change. if (!PropertyChanged) { e.Cancel = true; } // If cancel update then set property state. if (e.Cancel) { SetChangePropertyState(false); } }
/// <summary> /// Select the Vendor /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSelectVendor_Click(object sender, RoutedEventArgs e) { // Get a new instance of the connection type model. Nequeo.ComponentModel.ConnectionTypeModel connectionModel = Nequeo.Wpf.Common.Operation.GetTypeModel <DataAccess.NequeoCompany.Data.Vendors>(dataAccess); // Get a new instance of the connection type model. Nequeo.ComponentModel.ConnectionTypeModel connectionModelRef = Nequeo.Wpf.Common.Operation.GetTypeModel <DataAccess.NequeoCompany.Data.VendorDetails>(dataAccess); // Show the selection form Nequeo.Wpf.DataGridTwinWindow selectItem = new DataGridTwinWindow(); selectItem.ConnectionTypeModel = connectionModel; selectItem.ConnectionTypeModelReference = connectionModelRef; selectItem.LoadOnStart = true; selectItem.MaxRecords = 50; selectItem.OrderByClause = "VendorID DESC"; selectItem.OrderByClauseReference = "VendorDetailsID DESC"; selectItem.PrimarySearchPropertyName = "VendorID"; selectItem.ShowDialog(); // Has an item been selected. if (selectItem.SelectedRecord != null && selectItem.SelectedReferenceRecord != null) { // Get the selected item. DataAccess.NequeoCompany.Data.Vendors data = (DataAccess.NequeoCompany.Data.Vendors)selectItem.SelectedRecord; DataAccess.NequeoCompany.Data.VendorDetails dataRef = (DataAccess.NequeoCompany.Data.VendorDetails)selectItem.SelectedReferenceRecord; txtVendorID.Text = data.VendorID.ToString(); txtVendorDetailID.Text = dataRef.VendorDetailsID.ToString(); } }
/// <summary> /// Before load data. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataAccess_OnBeforeLoad(object sender, Custom.OperationArgs e) { // Determine if the data has change. if (PropertyChanged) { // Indicate that the data has changed. MessageBox.Show("The data has changed, please update first", "Load", MessageBoxButton.OK); _updateAttempt = true; e.Cancel = true; } else { // If in Add new state if (_addNew) { // Indicate that the data has changed. MessageBoxResult result = MessageBox.Show("Insert the changes before loading. Disregard the changes (all changes will be lost)?", "Load", MessageBoxButton.YesNo); if (result != MessageBoxResult.Yes) { e.Cancel = true; } } // If loading should take place. if (!e.Cancel) { // Show the selection form Nequeo.Wpf.DataGridWindow selectItem = new DataGridWindow(); selectItem.ConnectionTypeModel = dataAccess.ConnectionTypeModel; selectItem.LoadOnStart = true; selectItem.MaxRecords = 50; selectItem.OrderByClause = "VendorID DESC"; selectItem.ShowDialog(); // Has an item been selected. if (selectItem.SelectedRecord != null) { // Get the selected item. DataAccess.NequeoCompany.Data.Vendors data = (DataAccess.NequeoCompany.Data.Vendors)selectItem.SelectedRecord; // Assign the load item. dataAccess.OrderByClause = selectItem.OrderByClause; dataAccess.WhereClause = "VendorID = " + data.VendorID.ToString(); } else { e.Cancel = true; } } } }
/// <summary> /// Before insert data. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataAccess_OnBeforeInsert(object sender, Custom.OperationArgs e) { // Get the binding source data BindingExpression bindingExpression = BindingOperations.GetBindingExpression(txtVendorID, TextBox.TextProperty); DataAccess.NequeoCompany.Data.Vendors data = (DataAccess.NequeoCompany.Data.Vendors)bindingExpression.DataItem; dataAccess.DataModel = data; MessageBoxResult result = MessageBox.Show("Are you sure you wish to insert this record?", "Insert", MessageBoxButton.YesNo); if (result != MessageBoxResult.Yes) { e.Cancel = true; } }
/// <summary> /// Vendor details report /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSelectVendorReport_Click(object sender, RoutedEventArgs e) { Nequeo.ComponentModel.ConnectionTypeModel connectionModel = Nequeo.Data.Operation.GetTypeModel <DataAccess.NequeoCompany.Data.Vendors, DataAccess.NequeoCompany.Data.Vendors>(_vendor.Current.Extension.Common); // Show the selection form Nequeo.Wpf.DataGridWindow selectItem = new DataGridWindow(); selectItem.ConnectionTypeModel = connectionModel; selectItem.LoadOnStart = true; selectItem.MaxRecords = 50; selectItem.OrderByClause = "VendorID DESC"; selectItem.ShowDialog(); // Has an item been selected. if (selectItem.SelectedRecord != null) { // Get the selected item. DataAccess.NequeoCompany.Data.Vendors data = (DataAccess.NequeoCompany.Data.Vendors)selectItem.SelectedRecord; txtVendorReportID.Text = data.VendorID.ToString(); } }