Esempio n. 1
0
        /// <summary>
        /// Add a new component to a Plugg
        /// Existing PluggComponents must be in p.TheComponents
        /// newComponentData is of type PHText, PHLatex or YouTube
        /// newComponent must have ComponentOrder and ComponentType set
        /// </summary>
        /// <param name="p"></param>
        /// <param name="newComponent"></param>
        /// <param name="newComponentData"></param>
        public void AddComponent(PluggContainer p, PluggComponent newComponent, object newComponentData = null)
        {
            List <PluggComponent> cmps = p.GetComponentList();

            if (newComponent.ComponentOrder < 1 || newComponent.ComponentOrder > cmps.Count + 1)
            {
                throw new Exception("ComponentOrder is out of range");
            }
            if (newComponent.ComponentType == EComponentType.NotSet)
            {
                throw new Exception("You must set ComponentType");
            }

            PluggComponent pcToUpdate;

            for (int order = newComponent.ComponentOrder; order <= cmps.Count; order++)
            {
                pcToUpdate = rep.GetPluggComponent(cmps[order - 1].PluggComponentId);
                pcToUpdate.ComponentOrder += 1;
                rep.UpdatePluggComponent(pcToUpdate);
            }

            newComponent.PluggId = p.ThePlugg.PluggId;
            rep.CreatePluggComponent(newComponent);
        }
 protected void btnAdd_Click(object sender, EventArgs e)
 {
     PluggContainer pc = new PluggContainer("en-us", PluggId);
     pc.GetComponentList();
     PluggComponent cmp = new PluggComponent();
     cmp.ComponentOrder = ComponentOrder;
     cmp.ComponentType = (EComponentType)(ddNewComponent.SelectedIndex+1);
     cmp.PluggId = PluggId;
     BaseHandler bh = new BaseHandler();
     bh.AddComponent(pc, cmp);
     Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(TabId, "", "edit=0"));
 }
Esempio n. 3
0
        /// <summary>
        /// Deletes the PluggComponent at position "delOrder".
        /// Existing PluggComponents must be in p.TheComponents
        /// Deletes ComponenData as well if exist
        /// </summary>
        /// <param name="p"></param>
        /// <param name="order"></param>
        public void DeleteComponent(PluggContainer p, int delOrder)
        {
            List <PluggComponent> cmps = p.GetComponentList();

            if (delOrder < 1 || delOrder > cmps.Count)
            {
                throw new Exception("order is out of range");
            }

            PluggComponent pcToDelete = cmps[delOrder - 1];

            if (pcToDelete.PluggComponentId != 0)
            {
                switch (pcToDelete.ComponentType)
                {
                case EComponentType.Label:
                    rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentLabel);
                    break;

                case EComponentType.RichText:
                    rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentRichText);
                    break;

                case EComponentType.RichRichText:
                    rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentRichRichText);
                    break;

                case EComponentType.Latex:
                    rep.DeleteAllLatexForItem(pcToDelete.PluggComponentId, ELatexItemType.PluggComponentLatex);
                    break;

                case EComponentType.YouTube:
                    rep.DeleteYouTube(new YouTube()
                    {
                        YouTubeId = pcToDelete.PluggComponentId
                    });
                    break;
                }
            }

            rep.DeletePluggComponent(pcToDelete);

            PluggComponent pcToUpdate;

            for (int order = delOrder + 1; order <= cmps.Count; order++)
            {
                pcToUpdate = rep.GetPluggComponent(cmps[order - 1].PluggComponentId);
                pcToUpdate.ComponentOrder -= 1;
                rep.UpdatePluggComponent(pcToUpdate);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Add a new component to a Plugg
        /// Existing PluggComponents must be in p.TheComponents
        /// newComponentData is of type PHText, PHLatex or YouTube
        /// newComponent must have ComponentOrder and ComponentType set
        /// </summary>
        /// <param name="p"></param>
        /// <param name="newComponent"></param>
        /// <param name="newComponentData"></param>
        public void AddComponent(PluggContainer p, PluggComponent newComponent, object newComponentData = null)
        {
            List<PluggComponent> cmps = p.GetComponentList();
            if (newComponent.ComponentOrder < 1 || newComponent.ComponentOrder > cmps.Count + 1)
                throw new Exception("ComponentOrder is out of range");
            if (newComponent.ComponentType == EComponentType.NotSet)
                throw new Exception("You must set ComponentType");

            PluggComponent pcToUpdate;
            for (int order = newComponent.ComponentOrder; order <= cmps.Count; order++ )
            {
                pcToUpdate = rep.GetPluggComponent(cmps[order-1].PluggComponentId);
                pcToUpdate.ComponentOrder += 1;
                rep.UpdatePluggComponent(pcToUpdate);
            }

            newComponent.PluggId = p.ThePlugg.PluggId;
            rep.CreatePluggComponent(newComponent);
        }
Esempio n. 5
0
        /// <summary>
        /// Deletes the PluggComponent at position "delOrder".
        /// Existing PluggComponents must be in p.TheComponents
        /// Deletes ComponenData as well if exist
        /// </summary>
        /// <param name="p"></param>
        /// <param name="order"></param>
        public void DeleteComponent(PluggContainer p, int delOrder)
        {
            List<PluggComponent> cmps = p.GetComponentList();
            if (delOrder < 1 || delOrder > cmps.Count)
                throw new Exception("order is out of range");

            PluggComponent pcToDelete = cmps[delOrder-1];
            if(pcToDelete.PluggComponentId != 0)
            {
                switch(pcToDelete.ComponentType)
                {
                    case EComponentType.Label:
                        rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentLabel);
                        break;
                    case EComponentType.RichText:
                        rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentRichText);
                        break;
                    case EComponentType.RichRichText:
                        rep.DeleteAllPhTextForItem(pcToDelete.PluggComponentId, ETextItemType.PluggComponentRichRichText);
                        break;
                    case EComponentType.Latex:
                        rep.DeleteAllLatexForItem(pcToDelete.PluggComponentId, ELatexItemType.PluggComponentLatex);
                        break;
                    case EComponentType.YouTube:
                        rep.DeleteYouTube(new YouTube() { YouTubeId = pcToDelete.PluggComponentId });
                        break;
                }
            }

            rep.DeletePluggComponent(pcToDelete);

            PluggComponent pcToUpdate;
            for (int order = delOrder+1; order <= cmps.Count; order++)
            {
                pcToUpdate = rep.GetPluggComponent(cmps[order-1].PluggComponentId);
                pcToUpdate.ComponentOrder -= 1;
                rep.UpdatePluggComponent(pcToUpdate);
            }
        }
Esempio n. 6
0
        protected void btnTest_Click(object sender, EventArgs e)
        {
            BaseHandler bh = new BaseHandler();
            PluggContainer pc = new PluggContainer("en-US", 31);
            List<PluggComponent> comps = pc.GetComponentList();

            foreach(PluggComponent comp in comps)
            {
            switch (comp.ComponentType)
            {
            case EComponentType.Label:
            PHText lbl = bh.GetCurrentVersionText(pc.CultureCode, comp.PluggComponentId, ETextItemType.PluggComponentLabel);
            //Handle label
            break;
            case EComponentType.RichText:
            PHText rt = bh.GetCurrentVersionText(pc.CultureCode, comp.PluggComponentId, ETextItemType.PluggComponentRichText);
            //Handle rich text
            break;
            case EComponentType.RichRichText:
            PHText rrt = bh.GetCurrentVersionText(pc.CultureCode, comp.PluggComponentId, ETextItemType.PluggComponentRichRichText);
            //Handle richrich text
            break;
            case EComponentType.Latex:
            PHLatex lt = bh.GetCurrentVersionLatexText(pc.CultureCode, comp.PluggComponentId, ELatexItemType.PluggComponentLatex);
            //Handle Latex text
            break;
            case EComponentType.YouTube:
            YouTube yt = bh.GetYouTubeByComponentId(comp.PluggComponentId);
            //Handle YouTube
            break;
            }
            }
            PHText rrText = bh.GetCurrentVersionText(pc.CultureCode, comps[0].PluggComponentId, ETextItemType.PluggComponentRichRichText);
            string myText = rrText.Text;

            //int x;
            //PluggComponent vv = comps[0];
            //foreach(PluggComponent c in comps)
            //{
            //    x = c.PluggComponentId;
            //}
            //pc.ThePlugg.CreatedByUserId = 1;
            //pc.ThePlugg.ModifiedByUserId = 1;
            //pc.ThePlugg.WhoCanEdit = EWhoCanEdit.Anyone;

            //pc.SetTitle("This is my Title");
            //pc.SetDescription("This is my description");

            //List<object> cmpData = new List<object>();

            //YouTube v = new YouTube();
            //v.YouTubeAuthor = "";
            //v.YouTubeCode = "asdasdasdas";
            //v.YouTubeComment = "";
            //v.YouTubeCreatedOn = DateTime.Now;
            //v.YouTubeDuration = 100;
            //v.YouTubeTitle = "This is my Title";
            //cmpData.Add(v);

            //PHText htmlText = new PHText();
            //htmlText.Text = "This is my Html text";
            //htmlText.ItemType = ETextItemType.PluggComponentRichRichText;
            //cmpData.Add(htmlText);

            //bh.SavePlugg(pc, cmpData);

            //PHLatex latexText = new PHLatex();
            //latexText.Text = "This is my Latex text";
            //latexText.ItemType = ELatexItemType.PluggComponentLatex;
            //cmpData.Add(latexText);

            //pc.LoadComponents();
            //switch (pc.TheComponents.GetType().Name)
            //{
            //    case "Aba":
            //        break;
            //}

            //pc.ThePlugg = bh.GetPlugg(1);
            //pc.LoadComponents();
            //foreach (var c in pc.TheComponents)
            //{
            //    switch (c.GetType().Name)
            //    {
            //        case "PHText":
            //            PHText xx = (PHText)c;
            //            string x = theTitle;
            //            break;
            //    }
            //}
        }
Esempio n. 7
0
 public void MovePluggComponentUp(int pcId)
 {
     PluggComponent pc = rep.GetPluggComponent(pcId);
     PluggContainer pCont = new PluggContainer("en-US", pc.PluggId);
     var theComponents = pCont.GetComponentList();
     if (pc.ComponentOrder == 1)
         throw new Exception("Cannot move up");
     //Put previous Last
     PluggComponent pcPrev = theComponents[pc.ComponentOrder-2];
     pcPrev.ComponentOrder = theComponents.Count + 1;
     rep.UpdatePluggComponent(pcPrev);
     //Move our up
     pc.ComponentOrder = pc.ComponentOrder - 1;
     rep.UpdatePluggComponent(pc);
     //Put next in old position
     pcPrev.ComponentOrder = pc.ComponentOrder + 1;
     rep.UpdatePluggComponent(pcPrev);
 }
Esempio n. 8
0
 public void MovePluggComponentDown(int pcId)
 {
     PluggComponent pc = rep.GetPluggComponent(pcId);
     PluggContainer pCont = new PluggContainer("en-US", pc.PluggId);
     var theComponents = pCont.GetComponentList();
     if (pc.ComponentOrder >= theComponents.Count)
         throw new Exception("Cannot move down");
     //Put next Last
     PluggComponent pcNext = theComponents[pc.ComponentOrder];
     pcNext.ComponentOrder = theComponents.Count + 1;
     rep.UpdatePluggComponent(pcNext);
     //Move our down
     pc.ComponentOrder = pc.ComponentOrder + 1;
     rep.UpdatePluggComponent(pc);
     //Put next in old position
     pcNext.ComponentOrder = pc.ComponentOrder - 1;
     rep.UpdatePluggComponent(pcNext);
 }