예제 #1
0
        internal static frmTextEditor OpenSharedSnippet(SharedSnippetItemData itemData)
        {
            string caption = String.Empty;
            string script  = String.Empty;

            if (itemData == null)
            {
                throw new NullParameterException("ItemData is null!");
            }

            caption = itemData.Name;
            script  = itemData.Snippet;

            frmTextEditor frm = new frmTextEditor();

            frm.Icon                  = PragmaSQL.Properties.Resources.sharedSnippet;
            frm.ContentPersister      = new SharedSnippetContentPersister();
            frm.ContentPersister.Data = itemData;
            frm.ContentPersister.Hint = "This is a shared snippet: " + itemData.Name;
            frm.ContentInfo           = frm.ContentPersister.Hint;

            frm.ContentPersister.FilePath = itemData.Name;
            frm.InitializeTextEditor(caption, script);
            return(frm);
        }
예제 #2
0
        public static void SynchronizationActionUpdate(SharedSnippetItemData data)
        {
            if (_tblSnippets == null || ConfigHelper.Current == null || ConfigHelper.Current.PragmaSqlDbConn == null || !ConfigHelper.Current.SharedSnippetsEnabled())
            {
                return;
            }

            if (data == null || !data.ID.HasValue)
            {
                return;
            }

            DataRow row = _tblSnippets.Rows.Find(data.ID.Value);

            if (row == null)
            {
                return;
            }

            row["DisplayName"] = data.Name;
            row["Value"]       = data.Snippet;

            string snippet = data.Snippet;

            if (!String.IsNullOrEmpty(snippet))
            {
                snippet = snippet.Replace("\n", " ");
                snippet = snippet.Replace("\r", " ");
                snippet = snippet.Replace("\t", " ");
            }
            row["DisplayValue"] = snippet;
        }
예제 #3
0
        public static frmOfflineScriptEditor OpenSharedSnippetInScriptEditor(SharedSnippetItemData itemData)
        {
            string caption = String.Empty;
            string script  = String.Empty;

            if (itemData == null)
            {
                throw new NullParameterException("ItemData is null!");
            }

            caption = itemData.Name + "{Shared snippet}";
            script  = itemData.Snippet;

            frmOfflineScriptEditor frm = new frmOfflineScriptEditor();

            frm.Icon                 = PragmaSQL.Properties.Resources.sharedSnippet;
            frm.ContentProvider      = new SharedSnippetContentProvider();
            frm.ContentProvider.Data = itemData;
            frm.ContentProvider.Hint = "This is a shared snippet: " + itemData.Name;
            frm.ContentInfo          = frm.ContentProvider.Hint;

            frm.ContentProvider.ContentName = itemData.Name;
            frm.InitializeScriptEditor(caption, script, DBObjectType.None);
            return(frm);
        }
예제 #4
0
        public static void SynchronizationActionAdd(SharedSnippetItemData data)
        {
            if (_tblSnippets == null || ConfigHelper.Current == null || ConfigHelper.Current.PragmaSqlDbConn == null || !ConfigHelper.Current.SharedSnippetsEnabled())
            {
                return;
            }

            if (data == null)
            {
                return;
            }

            DataRow row = _tblSnippets.NewRow();

            row["id"]          = data.ID;
            row["Type"]        = "ccListItem";
            row["DisplayName"] = data.Name;
            row["Value"]       = data.Snippet;

            string snippet = data.Snippet;

            if (!String.IsNullOrEmpty(snippet))
            {
                snippet = snippet.Replace("\n", " ");
                snippet = snippet.Replace("\r", " ");
                snippet = snippet.Replace("\t", " ");
            }
            row["DisplayValue"] = snippet;
            _tblSnippets.Rows.Add(row);
        }
예제 #5
0
        public void UpdateItem(SharedSnippetItemData data)
        {
            if (data == null)
            {
                throw new NullParameterException("Item data is null!");
            }
            if (ConnParams == null)
            {
                throw new NullPropertyException("Connection parameters is null!");
            }

            using (SqlConnection conn = new SqlConnection(_connParams.ConnectionString))
            {
                string     cmdText = "exec spPragmaSQL_CodeSnippet_Update @SnippetID, @ParentID, @Name, @Snippet, @Description, @UpdatedBy";
                SqlCommand cmd     = new SqlCommand(cmdText, conn);
                cmd.CommandTimeout = 0;

                AddParam(cmd, "@SnippetID", SqlDbType.Int, data.ID);
                AddParam(cmd, "@ParentID", SqlDbType.Int, data.ParentID);
                AddParam(cmd, "@Name", SqlDbType.VarChar, data.Name);
                AddParam(cmd, "@Snippet", SqlDbType.Text, data.Snippet);
                AddParam(cmd, "@Description", SqlDbType.Text, data.Description);
                AddParam(cmd, "@UpdatedBy", SqlDbType.VarChar, _connParams.CurrentUsername);
                conn.Open();
                cmd.ExecuteNonQuery();
                if (_canSynchronize)
                {
                    SharedSnippetProvider.SynchronizationActionUpdate(data);
                }
            }
        }
예제 #6
0
        public void AddItem(SharedSnippetItemData data)
        {
            if (ConnParams == null)
            {
                throw new NullPropertyException("Connection parameters is null!");
            }
            if (data == null)
            {
                throw new NullParameterException("Item data is null!");
            }

            using (SqlConnection conn = new SqlConnection(_connParams.ConnectionString))
            {
                string     cmdText = "exec spPragmaSQL_CodeSnippet_Insert @Type, @ParentID, @Name, @Snippet, @Description, @CreatedBy, @SnippetID out";
                SqlCommand cmd     = new SqlCommand(cmdText, conn);
                cmd.CommandTimeout = 0;

                AddParam(cmd, "@Type", SqlDbType.Int, data.Type);
                AddParam(cmd, "@ParentID", SqlDbType.Int, data.ParentID);
                AddParam(cmd, "@Name", SqlDbType.VarChar, data.Name);
                AddParam(cmd, "@Snippet", SqlDbType.Text, data.Snippet);
                AddParam(cmd, "@Description", SqlDbType.Text, data.Description);
                AddParam(cmd, "@CreatedBy", SqlDbType.VarChar, _connParams.CurrentUsername);
                SqlParameter param = cmd.Parameters.Add("@SnippetID", System.Data.SqlDbType.Int);
                param.Direction = System.Data.ParameterDirection.Output;
                conn.Open();
                cmd.ExecuteNonQuery();
                data.ID = (int?)param.Value;

                if (_canSynchronize)
                {
                    SharedSnippetProvider.SynchronizationActionAdd(data);
                }
            }
        }
예제 #7
0
        internal static frmScriptEditor OpenSharedSnippet(SharedSnippetItemData itemData, ConnectionParams cp)
        {
            string dbName  = String.Empty;
            string caption = String.Empty;
            string script  = String.Empty;

            if (itemData == null)
            {
                throw new NullParameterException("ItemData is null!");
            }


            caption = itemData.Name;
            script  = itemData.Snippet;
            if (cp != null)
            {
                dbName = cp.Database;
            }


            frmScriptEditor frm      = null;
            string          windowId = ScriptEditorManager.ProduceWindowId(itemData.Name, itemData.ID ?? -1, DBObjectType.SharedSnippet, cp.Server, dbName);

            frm = CheckEditorAlreadyExits(windowId, caption, script);
            if (frm != null)
            {
                return(frm);
            }


            frm                           = new frmScriptEditor();
            frm.Icon                      = PragmaSQL.Properties.Resources.sharedSnippet;
            frm.ContentPersister          = new SharedSnippetContentPersister();
            frm.ContentPersister.Data     = itemData;
            frm.ContentPersister.Hint     = "This is a shared snippet: " + itemData.Name;
            frm.ContentInfo               = frm.ContentPersister.Hint;
            frm.ContentPersister.FilePath = itemData.Name;
            frm.InitializeScriptEditor(caption, script, itemData.ID ?? -1, DBObjectType.SharedSnippet, cp, dbName);
            return(frm);
        }
예제 #8
0
        public IList <SharedSnippetItemData> GetChildren(int?parentID)
        {
            if (ConnParams == null)
            {
                throw new NullPropertyException("Connection parameters is null!");
            }

            IList <SharedSnippetItemData> result = new List <SharedSnippetItemData>();

            using (SqlConnection conn = new SqlConnection(_connParams.ConnectionString))
            {
                string     cmdText = "exec spPragmaSQL_CodeSnippet_List @ParentID";
                SqlCommand cmd     = new SqlCommand(cmdText, conn);
                cmd.CommandTimeout = 0;
                AddParam(cmd, "@ParentID", System.Data.SqlDbType.Int, parentID);

                conn.Open();
                SqlDataReader reader = cmd.ExecuteReader();

                string   name      = String.Empty;
                string   desc      = String.Empty;
                int?     type      = null;
                int?     id        = null;
                DateTime?createdOn = null;
                string   createdBy = String.Empty;
                string   updatedBy = String.Empty;
                string   snippet   = String.Empty;
                bool     isDeleted = false;

                SharedSnippetItemData data = null;
                try
                {
                    while (reader.Read())
                    {
                        name      = reader["Name"].GetType() == typeof(DBNull) ? String.Empty : (string)reader["Name"];
                        desc      = reader["Description"].GetType() == typeof(DBNull) ? String.Empty : (string)reader["Description"];
                        type      = reader["Type"].GetType() == typeof(DBNull) ? null : (int?)reader["Type"];
                        id        = reader["SnippetID"].GetType() == typeof(DBNull) ? null : (int?)reader["SnippetID"];
                        createdOn = reader["CreatedOn"].GetType() == typeof(DBNull) ? null : (DateTime?)reader["CreatedOn"];
                        createdBy = reader["CreatedBy"].GetType() == typeof(DBNull) ? String.Empty : (string)reader["CreatedBy"];
                        updatedBy = reader["UpdatedBy"].GetType() == typeof(DBNull) ? String.Empty : (string)reader["UpdatedBy"];

                        snippet   = reader["Snippet"].GetType() == typeof(DBNull) ? String.Empty : (string)reader["Snippet"];
                        isDeleted = reader["IsDeleted"].GetType() == typeof(DBNull) ? false : (bool)reader["IsDeleted"];

                        data             = SharedSnippetItemDataFactory.Create(name, type, id, parentID, createdBy);
                        data.Snippet     = snippet;
                        data.IsDeleted   = isDeleted;
                        data.CreatedOn   = createdOn;
                        data.UpdatedBy   = updatedBy;
                        data.Description = desc;
                        result.Add(data);
                    }
                }
                finally
                {
                    reader.Close();
                }
            }

            return(result);
        }