Пример #1
0
        protected bool addItem(DataTableItemBaseModel NewDataItem)
        {
            bool canAddItemToTable = true;

            canAddItemToTable = NewDataItem.IsValid;
            if (canAddItemToTable)
            {
                canAddItemToTable = dbAddItem(NewDataItem);
            }

            return(canAddItemToTable);
        }
Пример #2
0
        protected bool _addParametersInOrder(MySqlCommand cmd, DataTableItemBaseModel NewDataItem)
        {
            foreach (MySqlParameter parameter in _addItemStoredProcedureParameters)
            {
                if (!NewDataItem.AddParameterToCommand(cmd, parameter.ParameterName))
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #3
0
        protected bool updateItem(DataTableItemBaseModel UpdatedDataItem)
        {
            bool canUpdateItemToTable = true;

            canUpdateItemToTable = UpdatedDataItem.IsValid;
            if (canUpdateItemToTable)
            {
                canUpdateItemToTable = dbUpdateItem(UpdatedDataItem);
            }

            return(canUpdateItemToTable);
        }
Пример #4
0
        protected void AddItemToDictionary(DataTableItemBaseModel NewItem)
        {
            bool AddedSuccessfully = addItem(NewItem);

            if (AddedSuccessfully && _newKeyValue > 0)
            {
                _keyToTitle.Add(_newKeyValue, NewItem.GetParameterValue("Name"));
                _titleToKey.Add(NewItem.GetParameterValue("Name"), _newKeyValue);
            }
            else
            {
                string errorMsg = "Database Error: Failed to add item";
                MessageBox.Show(errorMsg);
            }
        }
Пример #5
0
        private bool dbUpdateItem(DataTableItemBaseModel NewDataItem)
        {
            bool success = true;

            if (ReportProgrammerError(_updateItemStoredProcedureName, "_updateItemStoredProcedureName is not set!"))
            {
                return(false);
            }

            using (MySqlConnection conn = new MySqlConnection(_dbConnectionString))
            {
                try
                {
                    conn.Open();
                    using (MySqlCommand cmd = new MySqlCommand())
                    {
                        cmd.Connection  = conn;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = _updateItemStoredProcedureName;
                        if (_addParametersInOrder(cmd, NewDataItem))
                        {
                            cmd.ExecuteNonQuery();
                            // Some of the stored procedures return the new key in the last parameter
                            // in those cases get the returned key so that the new row can be accessed.
                            int paramtercount = cmd.Parameters.Count - 1;   // indexing starts at 0 ends at count - 1
                            if (cmd.Parameters[paramtercount].Direction != ParameterDirection.Input)
                            {
                                uint.TryParse(cmd.Parameters[paramtercount].Value.ToString(), out _newKeyValue);
                            }
                        }
                        else
                        {
                            success = false;
                        }
                    }
                }
                catch (Exception ex)
                {
                    string errorMsg = "Database Error: " + ex.Message;
                    MessageBox.Show(errorMsg);
                    success = false;
                }
            }
            return(success);
        }