/// <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")); }
/// <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); } }
/// <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); }
/// <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); } }
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; // } //} }
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); }
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); }