private bool CreateCompany(
            string companyName,
            string currentLogonName,
            string firstName,
            string lastName,
            string logonEmailAddress,
            string telephone,
            string password)
        {
            DbCommand sqlCommand = SqlDataManager.CreateCommand();

            sqlCommand.CommandText = "dbo.CompanyProvision";


            DbParameter paramTemp = sqlCommand.CreateParameter();

            paramTemp.ParameterName = "@pCompanyName";
            paramTemp.Value         = companyName;
            paramTemp.DbType        = DbType.String;
            sqlCommand.Parameters.Add(paramTemp);

            paramTemp.ParameterName = "@pCurrentLogonName";
            paramTemp.Value         = companyName;
            paramTemp.DbType        = DbType.String;
            sqlCommand.Parameters.Add(paramTemp);

            paramTemp.ParameterName = "@pFirstName";
            paramTemp.Value         = companyName;
            paramTemp.DbType        = DbType.String;
            sqlCommand.Parameters.Add(paramTemp);

            paramTemp.ParameterName = "@pLastName";
            paramTemp.Value         = companyName;
            paramTemp.DbType        = DbType.String;
            sqlCommand.Parameters.Add(paramTemp);

            paramTemp.ParameterName = "@pLoginEmailAddress";
            paramTemp.Value         = companyName;
            paramTemp.DbType        = DbType.String;
            sqlCommand.Parameters.Add(paramTemp);

            paramTemp.ParameterName = "@pTelephone";
            paramTemp.Value         = companyName;
            paramTemp.DbType        = DbType.String;
            sqlCommand.Parameters.Add(paramTemp);

            paramTemp.ParameterName = "@pPassword";
            paramTemp.Value         = companyName;
            paramTemp.DbType        = DbType.String;
            sqlCommand.Parameters.Add(paramTemp);


            int affectedRows = SqlDataManager.ExecuteNonQuery(sqlCommand);

            return(true);
        }
        public void Execute()
        {
            // Fluent interface - Stored Procedure with parameter
            // --------------------------------------------------

            var manager = new SqlDataManager("DefaultDatabase"); // DefaultDatabase = connection string key

            // Map to collection of Model
            IEnumerable <Person> persons = manager
                                           .CreateCommand("spGetPersonsList")
                                           .AddParameter("@DepartmentID", 1)
                                           .IsStoredProcedure()
                                           .Fetch <Person>();

            // Map to Model
            Person person = manager
                            .CreateCommand("spGetPersonsList")
                            .AddParameter("@DepartmentID", 1)
                            .IsStoredProcedure()
                            .Fetch <Person>()
                            .Single();

            // To Data Table
            DataTable dataTable = manager
                                  .CreateCommand("spGetPersonsList")
                                  .AddParameter("@DepartmentID", 1)
                                  .IsStoredProcedure()
                                  .FetchAsDataTable();

            // DataTable to Model
            var collection = dataTable.As <Person>();


            // SQL query as command text
            // -------------------------

            IEnumerable <Person> personsTwo = manager
                                              .CreateCommand("SELECT * FROM Persons")
                                              .Fetch <Person>();


            // Execute Non-Query
            //------------------

            var result = manager
                         .CreateCommand("spInsertPerson")
                         .IsStoredProcedure()
                         .AddParameter("@FirstName", "John")
                         .AddParameter("@LastName", "Doe")
                         .AddParameter("@Address", "Washington")
                         .AddOutputParameter("@Status", SqlDbType.Int)
                         .Execute();


            // Non-fluent interface
            // --------------------

            var command = manager.CreateCommand("spInsertPerson");

            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.Add(new SqlDataQueryParameter("@FirstName", "John"));
            command.Parameters.Add(new SqlDataQueryParameter("@LastName", "Doe"));
            command.Parameters.Add(new SqlDataQueryParameter("@Address", "Washington"));
            command.Parameters.Add(new SqlDataQueryParameter("@Status", true, SqlDbType.Int));

            var resultTwo = command.Execute();
        }