nHydrate.Dsl.nHydrateDiagram.OnDragOver C# (CSharp) Method

OnDragOver() public method

public OnDragOver ( DiagramDragEventArgs e ) : void
e DiagramDragEventArgs
return void
        public override void OnDragOver(DiagramDragEventArgs e)
        {
            if (e.Data.GetFormats().Contains("VSToolboxUniqueID"))
            {
                var model = this.Diagram.ModelElement as nHydrateModel;
                var typeName = (e.Data.GetData("VSToolboxUniqueID") as MemoryStream).GetString().Replace("\0", string.Empty);
                if (typeName == "nHydrate.DslPackage.ViewToolboxItem")
                {
                    if ((model.DiagramVisibility & VisibilityTypeConstants.View) != VisibilityTypeConstants.View)
                    {
                        e.Effect = DragDropEffects.None;
                        return;
                    }
                }
                else if (typeName == "nHydrate.DslPackage.StoredProcedureToolboxItem")
                {
                    if ((model.DiagramVisibility & VisibilityTypeConstants.StoredProcedure) != VisibilityTypeConstants.StoredProcedure)
                    {
                        e.Effect = DragDropEffects.None;
                        return;
                    }
                }
                else if (typeName == "nHydrate.DslPackage.FunctionToolboxItem")
                {
                    if ((model.DiagramVisibility & VisibilityTypeConstants.Function) != VisibilityTypeConstants.Function)
                    {
                        e.Effect = DragDropEffects.None;
                        return;
                    }
                }
            }

            base.OnDragOver(e);
        }