Exemplo n.º 1
0
        /// <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(txtDataMemberID, TextBox.TextProperty);

            DataAccess.NequeoCompany.Data.DataMemberTables data = (DataAccess.NequeoCompany.Data.DataMemberTables)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);
            }
        }
Exemplo n.º 2
0
        /// <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       = "DataMemberID DESC";
                    selectItem.ShowDialog();

                    // Has an item been selected.
                    if (selectItem.SelectedRecord != null)
                    {
                        // Get the selected item.
                        DataAccess.NequeoCompany.Data.DataMemberTables data = (DataAccess.NequeoCompany.Data.DataMemberTables)selectItem.SelectedRecord;

                        // Assign the load item.
                        dataAccess.OrderByClause = selectItem.OrderByClause;
                        dataAccess.WhereClause   = "DataMemberID = " + data.DataMemberID.ToString();
                    }
                    else
                    {
                        e.Cancel = true;
                    }
                }
            }
        }
Exemplo n.º 3
0
        /// <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(txtDataMemberID, TextBox.TextProperty);

            DataAccess.NequeoCompany.Data.DataMemberTables data = (DataAccess.NequeoCompany.Data.DataMemberTables)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;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Dlect member id
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSelectTransactionPaymentMemberID_Click(object sender, RoutedEventArgs e)
        {
            // Attempt to find the data member.
            DataAccess.NequeoCompany.Data.DataMemberTables dataMember = null;
            try
            {
                dataMember = _dataMemberTables.First(u => u.DataMemberID == _dataMemberTableIDTrans);
            }
            catch { }

            // If a data member has been found
            if (dataMember != null)
            {
                // Find the table name.
                string tableName = _dataMemberTables.First(u => u.DataMemberID.ToString().ToLower() == dataMember.Reference.ToLower()).DataTables;

                // Find the table key name
                string tableKeyName = _dataMemberTables.First(u => u.DataMemberID.ToString().ToLower() == dataMember.Reference.ToLower()).DataTableKeyName;

                // Get a new instance of the connection type model.
                Nequeo.ComponentModel.ConnectionTypeModel connectionModel =
                    new ComponentModel.ConnectionTypeModel(
                        "Nequeo.DataAccess.NequeoCompany.Data." + tableName + ",Nequeo.NequeoCompany.Model",
                        _account.Current.Extension.Common.ConfigurationDatabaseConnection,
                        _account.Current.Extension.Common.ConnectionType,
                        _account.Current.Extension.Common.ConnectionDataType,
                        _account.Current.Extension.Common.DataAccessProvider.GetType().AssemblyQualifiedName);

                // Show the selection form
                Nequeo.Wpf.DataGridWindow selectItem = new DataGridWindow();
                selectItem.ConnectionTypeModel = connectionModel;
                selectItem.LoadOnStart         = true;
                selectItem.MaxRecords          = 50;
                selectItem.OrderByClause       = tableKeyName + " DESC";
                selectItem.ShowDialog();

                // Has an item been selected.
                if (selectItem.SelectedRecord != null)
                {
                    // Get the selected item.
                    object data = selectItem.SelectedRecord;
                    txtTransactionPaymentMemberID.Text = data.GetType().GetProperty(tableKeyName).GetValue(data, null).ToString();
                }
            }
        }
Exemplo n.º 5
0
        /// <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.DataMemberTables[] returnedDataList = (DataAccess.NequeoCompany.Data.DataMemberTables[])dataAccess.DataModel;
            DataAccess.NequeoCompany.Data.DataMemberTables   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.
            gridDataMemberTable.DataContext = data;

            // Enable the controls.
            EnableDisable(0);

            // Start the change (load) process.
            _loading = true;
            _addNew  = false;

            // Set the list selected index values.
            _loading = false;
        }
Exemplo n.º 6
0
        /// <summary>
        /// Transaction data meber changed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void txtTransactionPaymentDataMember_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // Load the data member table data.
            if (_dataMemberTables == null)
            {
                _dataMemberTables = _account.Current.Extension.DataContext.DataMemberTables.Where(u => u.DataMemberID > -1).ToArray();
            }

            // Get and assign the value from the selected item.
            _dataMemberNameTrans = e.AddedItems.FirstValue <DataAccess.NequeoCompany.Data.DataMember, string>("Name");

            // Attempt to find the data member.
            DataAccess.NequeoCompany.Data.DataMemberTables dataMember = null;
            try
            {
                dataMember = _dataMemberTables.First(u => u.TableName.ToLower() == _dataMemberNameTrans.ToLower());
            }
            catch { }

            // Get the text to display
            string selectText = (dataMember != null ? "Select " + dataMember.NameTo : string.Empty);

            // Assign the text for the transaction type slection button
            if (String.IsNullOrEmpty(selectText))
            {
                btnSelectTransactionPaymentMemberID.IsEnabled = false;
                _dataMemberTableIDTrans = -1;
            }
            else
            {
                btnSelectTransactionPaymentMemberID.IsEnabled = true;
                _dataMemberTableIDTrans = dataMember.DataMemberID;
            }

            txtTransactionPaymentMemberID.Text = "1";
            _dataMemberSelectdIndexTrans       = txtTransactionPaymentDataMember.SelectedIndex;
        }
Exemplo n.º 7
0
        /// <summary>
        /// DataMember selection changed.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void txtDataMember_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // Load the data member table data.
            if (_dataMemberTables == null)
            {
                _dataMemberTables = _account.Current.Extension.DataContext.DataMemberTables.Where(u => u.DataMemberID > -1).ToArray();
            }

            // Get and assign the value from the selected item.
            string dataMemberName = e.AddedItems.FirstValue <DataAccess.NequeoCompany.Data.DataMember, string>("Name");

            ((DataAccess.NequeoCompany.Data.AccountTransactions)gridTransaction.DataContext).PaidToFrom = dataMemberName;

            // Attempt to find the data member.
            DataAccess.NequeoCompany.Data.DataMemberTables dataMember = null;
            try{
                dataMember = _dataMemberTables.First(u => u.TableName.ToLower() == dataMemberName.ToLower());
            }
            catch { }

            // Get the text to display
            string selectText = (dataMember != null ? "Select " + dataMember.NameTo : string.Empty);

            // Assign the text for the transaction type slection button
            if (String.IsNullOrEmpty(selectText))
            {
                btnSelectTransaction.IsEnabled     = false;
                btnSelectTransactionTextBlock.Text = "";
                txtDataMemberID.Text = "-1";
                _dataMemberTableID   = -1;
            }
            else
            {
                btnSelectTransaction.IsEnabled     = true;
                btnSelectTransactionTextBlock.Text = selectText;
                txtDataMemberID.Text = dataMember.DataMemberID.ToString();
                _dataMemberTableID   = dataMember.DataMemberID;
            }

            // Indicate that the property has changed.
            SetChangePropertyState(true);
            IsSelectedIndexValid();

            // If the current operation is not in
            // the loading or add new state.
            if (!_loading && !_addNew)
            {
                // If items exist
                if (txtDataMember.Items.Count > 0)
                {
                    if (_dataMemberSelectdIndex == txtDataMember.SelectedIndex)
                    {
                        // If data member changes then set the payment data members to null.
                        dataAccess.IsUpdateEnabled = true;
                    }
                    else
                    {
                        // If data member changes then set the payment data members to null.
                        dataAccess.IsUpdateEnabled = false;
                    }
                }
            }

            // If adding a new item
            if (_addNew)
            {
                // Assign the text for the transaction type slection button
                if (String.IsNullOrEmpty(selectText))
                {
                    txtPaymentDataMemberID.Text    = "0";
                    txtPaymentDataMemberRefID.Text = "0";
                }
                else
                {
                    txtPaymentDataMemberID.Text    = "";
                    txtPaymentDataMemberRefID.Text = "";
                }
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// On select new transaction
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSelectTransaction_Click(object sender, RoutedEventArgs e)
        {
            // Attempt to find the data member.
            DataAccess.NequeoCompany.Data.DataMemberTables dataMember = null;
            try{
                dataMember = _dataMemberTables.First(u => u.DataMemberID == _dataMemberTableID);
            }
            catch { }

            // If a data member has been found
            if (dataMember != null)
            {
                // Find the table name.
                string tableName    = _dataMemberTables.First(u => u.DataMemberID.ToString().ToLower() == dataMember.Reference.ToLower()).DataTables;
                string tableRefName = dataMember.DataTables;

                // Find the table key name
                string tableKeyName    = _dataMemberTables.First(u => u.DataMemberID.ToString().ToLower() == dataMember.Reference.ToLower()).DataTableKeyName;
                string tableKeyRefName = dataMember.DataTableKeyName;

                // Get a new instance of the connection type model.
                Nequeo.ComponentModel.ConnectionTypeModel connectionModel =
                    Nequeo.Wpf.Common.Operation.GetTypeModel("Nequeo.DataAccess.NequeoCompany.Data." + tableName + ",Nequeo.NequeoCompany.Model", dataAccess);

                // Get a new instance of the connection type model.
                Nequeo.ComponentModel.ConnectionTypeModel connectionModelRef =
                    Nequeo.Wpf.Common.Operation.GetTypeModel("Nequeo.DataAccess.NequeoCompany.Data." + tableRefName + ",Nequeo.NequeoCompany.Model", 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             = tableKeyName + " DESC";
                selectItem.OrderByClauseReference    = tableKeyRefName + " DESC";
                selectItem.PrimarySearchPropertyName = tableKeyName;
                selectItem.ShowDialog();

                // Has an item been selected.
                if (selectItem.SelectedRecord != null && selectItem.SelectedReferenceRecord != null)
                {
                    // Get the selected item.
                    object data    = selectItem.SelectedRecord;
                    object dataRef = selectItem.SelectedReferenceRecord;
                    txtPaymentDataMemberID.Text    = data.GetType().GetProperty(tableKeyName).GetValue(data, null).ToString();
                    txtPaymentDataMemberRefID.Text = dataRef.GetType().GetProperty(tableKeyRefName).GetValue(dataRef, null).ToString();

                    // If the current operation is not in
                    // the loading or add new state.
                    if (!_loading && !_addNew)
                    {
                        // If items exist
                        if (txtDataMember.Items.Count > 0)
                        {
                            // If data member changes then set the payment data members to null.
                            dataAccess.IsUpdateEnabled = true;
                        }
                    }
                }
            }
        }