Exemple #1
0
        private MySqlCommand DeleteObject(MySqlConnection connection,
                                          MySqlTransaction transaction,
                                          IPersistableObject obj)
        {
            string commandText;

            if (!deleteCommands.TryGetValue(obj.GetType(), out commandText))
            {
                bool startComma = false;
                string where = "";
                foreach (var column in obj.DbPrimaryKey)
                {
                    if (startComma)
                    {
                        where += " AND ";
                    }
                    else
                    {
                        startComma = true;
                    }

                    where += string.Format("`{0}`=@{0}", column.Column);
                }

                commandText = string.Format("DELETE FROM `{0}` WHERE {1} LIMIT 1", obj.DbTable, where);

                deleteCommands[obj.GetType()] = commandText;
            }

            MySqlCommand command = connection.CreateCommand();

            command.CommandText = commandText;

            if (transaction != null)
            {
                command.Transaction = transaction;
            }

            foreach (var column in obj.DbPrimaryKey)
            {
                AddParameter(command, column, DataRowVersion.Original);
            }

            return(command);
        }
 public void SetTranslation(IPersistableObject persistableObject, string propertyName, string value)
 {
     PassedTranslationValue = value;
 }
 public string GetTransalation(IPersistableObject persistableObject, string propertyName)
 {
     IsGetTranslationCalled = true;
     return("");
 }
Exemple #4
0
        private MySqlCommand CreateObject(MySqlConnection connection,
                                          MySqlTransaction transaction,
                                          IPersistableObject obj)
        {
            string commandText;

            if (!createCommands.TryGetValue(obj.GetType(), out commandText))
            {
                string columns = "";
                string values  = "";

                bool startComma = false;

                foreach (var column in obj.DbPrimaryKey)
                {
                    if (startComma)
                    {
                        columns += ",";
                        values  += ",";
                    }
                    startComma = true;
                    columns   += string.Format("`{0}`", column.Column);
                    values    += "@" + column.Column;
                }

                foreach (var column in obj.DbColumns)
                {
                    if (startComma)
                    {
                        columns += ",";
                        values  += ",";
                    }
                    startComma = true;
                    columns   += string.Format("`{0}`", column.Column);
                    values    += "@" + column.Column;
                }
                commandText = string.Format("INSERT INTO `{0}` ({1}) VALUES ({2})", obj.DbTable, columns, values);

                createCommands[obj.GetType()] = commandText;
            }

            MySqlCommand command = connection.CreateCommand();

            command.CommandText = commandText;

            if (transaction != null)
            {
                command.Transaction = transaction;
            }

            foreach (var column in obj.DbColumns)
            {
                AddParameter(command, column);
            }

            foreach (var column in obj.DbPrimaryKey)
            {
                AddParameter(command, column);
            }

            return(command);
        }
Exemple #5
0
        private MySqlCommand UpdateObject(MySqlConnection connection,
                                          MySqlTransaction transaction,
                                          IPersistableObject obj)
        {
            string commandText;

            DbColumn[] columns = obj.DbColumns;
            if (columns.Length == 0)
            {
                return(null);
            }

            if (!saveCommands.TryGetValue(obj.GetType(), out commandText))
            {
                bool   startComma = false;
                string values     = "";
                foreach (var column in obj.DbColumns)
                {
                    if (startComma)
                    {
                        values += ", ";
                    }
                    else
                    {
                        startComma = true;
                    }

                    values += string.Format("`{0}`=@{0}", column.Column);
                }

                startComma   = false;
                string where = "";
                foreach (var column in obj.DbPrimaryKey)
                {
                    if (startComma)
                    {
                        where += " AND ";
                    }
                    else
                    {
                        startComma = true;
                    }

                    where += string.Format("{0}=@{0}", column.Column);
                }

                commandText = string.Format("UPDATE `{0}` SET {1} WHERE {2} LIMIT 1", obj.DbTable, values, where);

                saveCommands[obj.GetType()] = commandText;
            }

            MySqlCommand command = connection.CreateCommand();

            command.CommandText = commandText;

            if (transaction != null)
            {
                command.Transaction = transaction;
            }

            foreach (var column in columns)
            {
                AddParameter(command, column);
            }

            foreach (var column in obj.DbPrimaryKey)
            {
                AddParameter(command, column);
            }

            return(command);
        }