public void B_GetInvalidPage() { // verifico il recupero di una pagina tramite identificativo PageDTO invalidPage = new PageDTO(); invalidPage = svc.GetPage(9000); Assert.IsNull(invalidPage, "la pagina è stata trovata!"); }
public void A_CreateInvalidPage() { // verifico che una pagina senza valori non può essere salvata PageDTO invalidPage = new PageDTO(); //valorizzo la proprietà ISNEW per forzare la creazione invalidPage.IsNew = true; invalidPage = svc.SavePage(invalidPage); Assert.IsFalse(invalidPage.IsPersisted, "la pagina risulta salvata: isPersisted is True!"); Assert.AreEqual(0, invalidPage.Pageid, "la pagina ha un identificativo!"); }
public void B_CreateBasket() { PageDTO basket = new PageDTO(); basket.Title = basket.Publictitle = "Cestino"; basket.Contentid = content.Contentid; basket.State = 99; basket.Structureid = 1; basket.Position = 1; basket.IsNew = true; basket = svc.SavePage(basket); Assert.IsTrue(basket.IsPersisted, "la pagina Cestino non risulta salvata: isPersisted is False!"); Assert.IsTrue(basket.Pageid > 0, "la pagina Cestino non ha un identificativo proprio!"); Assert.IsNotNull(basket.PageelementsList, "il sistema non ha creato gli elementi previsti dalla struttura Cestino"); }
public void D_Move_Page9_to_Page2() { page9.Parentpageid = page2.Pageid; page9.Position = 1; page9.Dirty = true; page9 = svc.MovePage(page9); //Assert su Oggetto Restituito if (page9.Parentpageid == page8.Pageid) { Assert.Fail("La Page9 risulta ancora figlia della Page8"); } Assert.IsTrue(page9.Parentpageid == page2.Pageid, "La Page9 non risulta figlia della Page2"); Assert.IsTrue(page9.Position == 1, "La Page9 non ha position = 1"); PageDTO page9DB = new PageDTO(); page9DB = svc.GetPage(page9.Pageid); //Assert su Oggetto Persistito if (page9DB.Parentpageid == page8.Pageid) { Assert.Fail("Sul DB La Page9 risulta ancora figlia della Page8"); } Assert.IsTrue(page9DB.Parentpageid == page2.Pageid, "Sul DB La Page9 non risulta figlia della Page2"); Assert.IsTrue(page9DB.Position == 1, "Sul DB La Page9 non ha position = 1"); page9 = page9DB; }
public void C_CreateStructurePage() { //Creo le pagine sul db page1.Title = page1.Publictitle = "Page1"; page1.Contentid = content.Contentid; page1.Position = 1; page1.Structureid = 3; page1.IsNew = true; page1 = svc.SavePage(page1); //Assert Page1 Assert.IsTrue(page1.IsPersisted, "la Page1 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page1.Pageid > 0, "la Page1 non ha un identificativo proprio!"); Assert.IsTrue(page1.Pageid == page1.Parentpageid, "la Page1 non ha il parentpageid uguale al pageid"); Assert.IsTrue(page1.Position == 1, "la Page1 non ha position = 1"); //Creo la pagina2 sul db page2.Title = page2.Publictitle = "Page2"; page2.Contentid = content.Contentid; page2.Parentpageid = page1.Pageid; page2.Position = 1; page2.Structureid = 3; page2.IsNew = true; page2 = svc.SavePage(page2); //Assert Page2 Assert.IsTrue(page2.IsPersisted, "la Page2 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page2.Pageid > 0, "la Page2 non ha un identificativo proprio!"); Assert.IsTrue(page1.Pageid == page2.Parentpageid, "la Page2 non è figlia di Page1"); Assert.IsTrue(page2.Position == 1, "la Page2 non ha position = 1"); //Creo la pagina3 sul db page3.Title = page3.Publictitle = "Page3"; page3.Contentid = content.Contentid; page3.Parentpageid = page1.Pageid; page3.Position = 2; page3.Structureid = 3; page3.IsNew = true; page3 = svc.SavePage(page3); //Assert Page3 Assert.IsTrue(page3.IsPersisted, "la Page3 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page3.Pageid > 0, "la Page3 non ha un identificativo proprio!"); Assert.IsTrue(page1.Pageid == page3.Parentpageid, "la Page3 non è figlia di Page1"); Assert.IsTrue(page3.Position == 2, "la Page3 non ha position = 2"); //Creo la pagina4 sul db page4.Title = page4.Publictitle = "Page4"; page4.Contentid = content.Contentid; page4.Parentpageid = page1.Pageid; page4.Position = 3; page4.Structureid = 3; page4.IsNew = true; page4 = svc.SavePage(page4); //Assert Page4 Assert.IsTrue(page4.IsPersisted, "la Page4 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page4.Pageid > 0, "la Page4 non ha un identificativo proprio!"); Assert.IsTrue(page1.Pageid == page4.Parentpageid, "la Page4 non è figlia di Page1"); Assert.IsTrue(page4.Position == 3, "la Page4 non ha position = 3"); //Creo la pagina5 sul db page5.Title = page5.Publictitle = "Page5"; page5.Contentid = content.Contentid; page5.Parentpageid = page1.Pageid; page5.Position = 4; page5.Structureid = 3; page5.IsNew = true; page5 = svc.SavePage(page5); //Assert Page5 Assert.IsTrue(page5.IsPersisted, "la Page5 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page5.Pageid > 0, "la Page5 non ha un identificativo proprio!"); Assert.IsTrue(page1.Pageid == page5.Parentpageid, "la Page5 non è figlia di Page1"); Assert.IsTrue(page5.Position == 4, "la Page5 non ha position = 4"); //Creo la pagina6 sul db page6.Title = page6.Publictitle = "Page6"; page6.Contentid = content.Contentid; page6.Parentpageid = page5.Pageid; page6.Position = 1; page6.Structureid = 3; page6.IsNew = true; page6 = svc.SavePage(page6); //Assert Page6 Assert.IsTrue(page6.IsPersisted, "la Page6 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page6.Pageid > 0, "la Page6 non ha un identificativo proprio!"); Assert.IsTrue(page5.Pageid == page6.Parentpageid, "la Page6 non è figlia di Page5"); Assert.IsTrue(page6.Position == 1, "la Page6 non ha position = 1"); //Creo la pagina7 sul db page7.Title = page7.Publictitle = "Page7"; page7.Contentid = content.Contentid; page7.Parentpageid = page5.Pageid; page7.Position = 2; page7.Structureid = 3; page7.IsNew = true; page7 = svc.SavePage(page7); //Assert Page7 Assert.IsTrue(page7.IsPersisted, "la Page7 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page7.Pageid > 0, "la Page7 non ha un identificativo proprio!"); Assert.IsTrue(page5.Pageid == page7.Parentpageid, "la Page7 non è figlia di Page5"); Assert.IsTrue(page7.Position == 2, "la Page7 non ha position = 2"); //Creo la pagina8 sul db page8.Title = page8.Publictitle = "Page8"; page8.Contentid = content.Contentid; page8.Parentpageid = page1.Pageid; page8.Position = 5; page8.Structureid = 3; page8.IsNew = true; page8 = svc.SavePage(page8); //Assert Page8 Assert.IsTrue(page8.IsPersisted, "la Page8 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page8.Pageid > 0, "la Page8 non ha un identificativo proprio!"); Assert.IsTrue(page1.Pageid == page8.Parentpageid, "la Page8 non è figlia di Page1"); Assert.IsTrue(page8.Position == 5, "la Page8 non ha position = 5"); //Creo la pagina9 sul db page9.Title = page9.Publictitle = "Page9"; page9.Contentid = content.Contentid; page9.Parentpageid = page8.Pageid; page9.Position = 1; page9.Structureid = 3; page9.IsNew = true; page9 = svc.SavePage(page9); //Assert Page9 Assert.IsTrue(page9.IsPersisted, "la Page9 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page9.Pageid > 0, "la Page9 non ha un identificativo proprio!"); Assert.IsTrue(page8.Pageid == page9.Parentpageid, "la Page9 non è figlia di Page8"); Assert.IsTrue(page9.Position == 1, "la Page9 non ha position = 1"); //Creo la pagina10 sul db page10.Title = page10.Publictitle = "Page10"; page10.Contentid = content.Contentid; page10.Parentpageid = page8.Pageid; page10.Position = 2; page10.Structureid = 3; page10.IsNew = true; page10 = svc.SavePage(page10); //Assert Page10 Assert.IsTrue(page10.IsPersisted, "la Page10 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page10.Pageid > 0, "la Page10 non ha un identificativo proprio!"); Assert.IsTrue(page8.Pageid == page10.Parentpageid, "la Page10 non è figlia di Page8"); Assert.IsTrue(page10.Position == 2, "la Page10 non ha position = 2"); //Creo la pagina11 sul db page11.Title = page11.Publictitle = "Page11"; page11.Contentid = content.Contentid; page11.Parentpageid = page8.Pageid; page11.Position = 3; page11.Structureid = 3; page11.IsNew = true; page11 = svc.SavePage(page11); //Assert Page11 Assert.IsTrue(page11.IsPersisted, "la Page11 non risulta salvata: isPersisted is False!"); Assert.IsTrue(page11.Pageid > 0, "la Page11 non ha un identificativo proprio!"); Assert.IsTrue(page8.Pageid == page11.Parentpageid, "la Page11 non è figlia di Page8"); Assert.IsTrue(page11.Position == 3, "la Page11 non ha position = 3"); }
public PageDTO SavePage(PageDTO pagedto) { using (ISession session = HibernateHelper.GetSession().OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { try { Page page = new Page(); Mapper.CreateMap<PageDTO, Page>(); Mapper.CreateMap<PageElementDTO, PageElement>(); Mapper.CreateMap<ElementDTO, Element>(); //Mappo la PageDTO in Page page = Mapper.Map<PageDTO, Page>(pagedto); Regex punt = new Regex(@"[\t\r\n\e\a._%+-/]"); page.Title = punt.Replace(page.Title.Replace(" ", "").Trim().Replace(" ", "_"), "_"); if (page.Publictitle != null && page.Contentid > 0 && page.Position > 0) { page.Publictitle = EditorServices.ReplaceCharacters(page.Publictitle); if (page.IsNew) { // Salvo la Nuova pagina HibernateHelper.Persist(page, session); if (page.PageelementsList.Count == 0) { //Creo Le Page Elements in base alla struttura //Ricavo la lista degli elementi della struttura per generare i PageElement List<Element> structList = new List<Element>(); structList = HibernateHelper.SelectCommand<Element>(session, " STRUCTUREID =" + page.Structureid); ISet<PageElement> PaElements = new HashedSet<PageElement>(); foreach (Element el in structList) { PageElement PaElement = new PageElement(); PaElement.Element = el; PaElement.Elementid = el.Elementid; PaElement.Page = page; PaElement.Pageid = page.Pageid; PaElement.Valore = EditorServices.ReplaceCharacters(el.Description); PaElement.IsNew = true; if (el.Elementtypeid == (int)ElementTypeEnum.RawHtml) { //solo RawHtml RawHtml raw = new RawHtml(); raw.Value = EditorServices.ReplaceCharacters(el.Description); raw.IsNew = true; HibernateHelper.Persist(raw, session); PaElement.Rawhtmlid = raw.Rawhtmlid; } HibernateHelper.Persist(PaElement, session); PaElements.Add(PaElement); } page.PageElements = PaElements; PaElements = page.PageElements; } // Setto il padre al pageid se è zero if (page.Parentpageid == 0) { page.Parentpageid = page.Pageid; } else { page.Parentpageid = page.Parentpageid; } // Setto skinID a null se è zero if (page.Skinid == 0) { page.Skinid = null; } page.Dirty = true; HibernateHelper.Persist(page, session); } else if (page.Dirty) { //Update della Pagina Esistente HibernateHelper.Persist(page, session); //Foreach delle pageelements foreach (PageElement el in page.PageelementsList) { el.Pageid = page.Pageid; if (el.Deleted) { page.PageElements.Remove(el); HibernateHelper.Persist(el, session); } else { el.Valore = EditorServices.ReplaceCharacters(el.Valore); HibernateHelper.Persist(el, session); } } } } //Rimappo l'oggetto da restituire Mapper.CreateMap<Page, PageDTO>(); Mapper.CreateMap<PageElement, PageElementDTO>(); Mapper.CreateMap<Element, ElementDTO>(); //Mappo la PageDTO in Page pagedto = Mapper.Map<Page, PageDTO>(page); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } finally { session.Flush(); session.Close(); } } } //Setto lo stato del content a non allineato ContentServices contSvc = new ContentServices(); contSvc.SetStateContent(pagedto.Contentid, (int)ContentStateEnum.NonAllineato); return pagedto; }
public PageDTO MovePage(PageDTO pagedto) { using (ISession session = HibernateHelper.GetSession().OpenSession()) { ITransaction transaction = session.BeginTransaction(); try { if (pagedto.Parentpageid > 0) { //Prendo i Figli del nuovo padre della pagina DTO List<Page> Figli = new List<Page>(); Figli = EditorServices.GetPageByParent(session, pagedto.Contentid, pagedto.Parentpageid); bool update = false; //Aggiorno la posizione dei figli successivi al DTO //Controllo se esiste un figlio in posizione 1 //var uone = (from u in Figli // where u.Position == 1 // select u).FirstOrDefault<Page>(); int oldpos = 0; var con = (from f in Figli where f.Pageid == pagedto.Pageid select f).FirstOrDefault<Page>(); if (con != null) { oldpos = con.Position; } foreach (Page pg in Figli) { if (pg.Pageid == pagedto.Pageid) { oldpos = pg.Position; pg.Position = pagedto.Position; pg.Parentpageid = pagedto.Parentpageid; pg.Dirty = true; HibernateHelper.Persist(pg, session); update = true; } else if (pg.Position > pagedto.Position) { pg.Position = pg.Position + 1; pg.Dirty = true; HibernateHelper.Persist(pg, session); } else if (pg.Position <= pagedto.Position // && pg.Position != 1 && con != null) { if (pg.Position == pagedto.Position && oldpos > pagedto.Position) { pg.Position = pg.Position + 1; } else { pg.Position = pg.Position - 1; } pg.Dirty = true; HibernateHelper.Persist(pg, session); } } if (!update) { Page page = new Page(); Mapper.CreateMap<PageDTO, Page>(); Mapper.CreateMap<PageElementDTO, PageElement>(); Mapper.CreateMap<ElementDTO, Element>(); //Mappo la PageDTO in Page page = Mapper.Map<PageDTO, Page>(pagedto); HibernateHelper.Persist(page, session); } transaction.Commit(); transaction = session.BeginTransaction(); Figli = EditorServices.GetPageByParent(session, pagedto.Contentid, pagedto.Parentpageid); var child = from cd in Figli orderby cd.Position ascending select cd; int position = 1; foreach (Page ch in child) { ch.Position = position; ch.Dirty = true; position++; HibernateHelper.Persist(ch, session); } transaction.Commit(); } } catch (Exception ex) { transaction.Rollback(); throw ex; } finally { session.Flush(); session.Close(); transaction.Dispose(); } } //Setto lo stato del content a non allineato ContentServices contSvc = new ContentServices(); contSvc.SetStateContent(pagedto.Contentid, (int)ContentStateEnum.NonAllineato); return pagedto; }
public void E_UpdateExistingPage() { // verifico il salvataggio delle modifiche al titolo page.Publictitle = "nuova pagina modificata"; //valorizzo la proprietà ISDIRTY per forzare il salvataggio page.Dirty = true; int id = page.Pageid; page.PageelementsList[0].Valore = page.PageelementsList[0].Valore + " Modificato"; page.PageelementsList[0].Dirty = true; page = svc.SavePage(page); Assert.AreEqual("nuova pagina modificata", page.Publictitle, "titolo non modificato!"); Assert.AreEqual(id, page.Pageid, "creata nuova pagina!"); }
public void G_Move_Page3_to_Page7() { page3.Parentpageid = page7.Pageid; page3.Position = 1; page3.Dirty = true; page3 = svc.MovePage(page3); //Assert su Oggetto Restituito if (page3.Parentpageid == page1.Pageid) { Assert.Fail("La Page3 risulta ancora figlia della Page1"); } Assert.IsTrue(page3.Parentpageid == page7.Pageid, "La Page3 non risulta figlia della Page7"); Assert.IsTrue(page3.Position == 1, "La Page3 non ha position = 1"); //Assert su Oggetto Persistito PageDTO page3DB = new PageDTO(); page3DB = svc.GetPage(page3.Pageid); //Assert su Oggetto Persistito if (page3DB.Parentpageid == page1.Pageid) { Assert.Fail("Sul DB La Page3 risulta ancora figlia della Page1"); } Assert.IsTrue(page3DB.Parentpageid == page7.Pageid, "Sul DB La Page3 non risulta figlia della Page7"); Assert.IsTrue(page3DB.Position == 1, "Sul DB La Page3 non ha position = 1"); page3 = page3DB; }
public PageDTO ClonePage(PageDTO pagedto) { return ClonePage(pagedto, 0, ""); }
public void C_CreateValidPage() { // Verifico che una pagina con rif. Contenuto, Titolo pubblico, Struttura, Posizione venga salvata correttamente page = new PageDTO(); page.Contentid = content.Contentid; page.Publictitle = "nuova pagina"; page.Structureid = 1; page.Position = 1; //valorizzo la proprietà ISNEW per forzare la creazione page.IsNew = true; page = svc.SavePage(page); Assert.IsTrue(page.IsPersisted, "la pagina non risulta salvata: isPersisted is False!"); Assert.IsTrue(page.Pageid > 0, "la pagina non ha un identificativo proprio!"); Assert.IsNotNull(page.PageelementsList, "il sistema non ha creato gli elementi previsti dalla struttura"); }
public void I_GetInvalidPage() { // verifico il recupero della pagina appena cancellata tramite identificativo page = svc.GetPage(page.Pageid); PageDTO dad = svc.GetPage(page.Parentpageid); Assert.IsNotNull(page, "la pagina è stata cancellata fisicamente!"); Assert.AreEqual(997868574865, dad.State, "la pagina non è stata cancellata!"); }
public void G_ClonePageStructureValue() { PageDTO newPage = new PageDTO(); newPage.Publictitle = "copia di " + page.Publictitle; newPage.Contentid = page.Contentid; newPage.Structureid = page.Structureid; newPage.Position = page.Position++; //valorizzo la proprietà ISNEW per forzare la creazione (copia) newPage.IsNew = true; // Valorizzo il PageID al Padre da clonare newPage.Pageid = page.Pageid; newPage = svc.ClonePage(newPage); Assert.AreNotEqual(page, newPage, "la pagina è la stessa!"); Assert.AreNotEqual(page.Pageid, newPage.Pageid, "stesso ID!"); Assert.AreEqual(page.Structureid, newPage.Structureid, "struttura diversa!!"); }
public void F_ClonePageStructure() { // verifico la clonazione di una pagina ma non di tutti i suoi valori PageDTO newPage = new PageDTO(); newPage.Publictitle = "copia di " + page.Publictitle; newPage.Contentid = page.Contentid; newPage.Structureid = page.Structureid; newPage.Position = page.Position++; //lato flex è conveniente aggiungere la nuova pagina come ultima! //valorizzo la proprietà ISNEW per forzare la creazione (copia) newPage.IsNew = true; newPage = svc.SavePage(newPage); Assert.AreNotEqual(page, newPage, "la pagina è la stessa!"); Assert.AreNotEqual(page.Pageid, newPage.Pageid, "stesso ID!"); Assert.AreEqual(page.Structureid, newPage.Structureid, "struttura diversa!!"); }
public void E_Move_Page10_to_Page1() { page10.Parentpageid = page1.Pageid; page10.Position = 1; page10.Dirty = true; page10 = svc.MovePage(page10); //Assert su Oggetto Restituito if (page10.Parentpageid == page8.Pageid) { Assert.Fail("La Page10 risulta ancora figlia della Page8"); } Assert.IsTrue(page10.Parentpageid == page1.Pageid, "La Page10 non risulta figlia della Page1"); Assert.IsTrue(page10.Position == 1, "La Page9 non ha position = 1"); PageDTO page10DB = new PageDTO(); page10DB = svc.GetPage(page10.Pageid); //Assert su Oggetto Persistito if (page10DB.Parentpageid == page8.Pageid) { Assert.Fail("Sul DB La page10 risulta ancora figlia della Page8"); } Assert.IsTrue(page10DB.Parentpageid == page1.Pageid, "Sul DB La Page10 non risulta figlia della Page1"); Assert.IsTrue(page10DB.Position == 1, "Sul DB La Page10 non ha position = 1"); page10 = page10DB; //Verifico se le posizioni sono cambiate ai figli del Page1 PageDTO page2DB = new PageDTO(); page2DB = svc.GetPage(page2.Pageid); if (page2DB.Position == page2.Position) { Assert.Fail("Sul DB la Page2 non ha incrementato la posizione"); } else if (page2DB.Position != (page2.Position + 1)) { Assert.Fail("Sul DB la Page2 non ha posizione " + (page2.Position + 1)); } page2 = page2DB; PageDTO page3DB = new PageDTO(); page3DB = svc.GetPage(page3.Pageid); if (page3DB.Position == page3.Position) { Assert.Fail("Sul DB la Page3 non ha incrementato la posizione"); } else if (page3DB.Position != (page3.Position + 1)) { Assert.Fail("Sul DB la Page3 non ha posizione " + (page3.Position + 1)); } page3 = page3DB; PageDTO page4DB = new PageDTO(); page4DB = svc.GetPage(page4.Pageid); if (page4DB.Position == page4.Position) { Assert.Fail("Sul DB la Page4 non ha incrementato la posizione"); } else if (page4DB.Position != (page4.Position + 1)) { Assert.Fail("Sul DB la Page4 non ha posizione " + (page4.Position + 1)); } page4 = page4DB; PageDTO page5DB = new PageDTO(); page5DB = svc.GetPage(page5.Pageid); if (page5DB.Position == page5.Position) { Assert.Fail("Sul DB la Page5 non ha incrementato la posizione"); } else if (page5DB.Position != (page5.Position + 1)) { Assert.Fail("Sul DB la Page5 non ha posizione " + (page5.Position + 1)); } page5 = page5DB; PageDTO page8DB = new PageDTO(); page8DB = svc.GetPage(page8.Pageid); if (page8DB.Position == page8.Position) { Assert.Fail("Sul DB la Page8 non ha incrementato la posizione"); } else if (page8DB.Position != (page8.Position + 1)) { Assert.Fail("Sul DB la Page8 non ha posizione " + (page8.Position + 1)); } page8 = page8DB; }
public void F_Move_Page8_to_Page5() { //In Coda page8.Parentpageid = page5.Pageid; page8.Position = 3; page8.Dirty = true; page8 = svc.MovePage(page8); //Assert su Oggetto Restituito if (page8.Parentpageid == page1.Pageid) { Assert.Fail("La Page8 risulta ancora figlia della Page1"); } Assert.IsTrue(page8.Parentpageid == page5.Pageid, "La Page8 non risulta figlia della Page5"); Assert.IsTrue(page8.Position == 3, "La Page8 non ha position = 3"); //Assert su Oggetto Persistito PageDTO page8DB = new PageDTO(); page8DB = svc.GetPage(page8.Pageid); //Assert su Oggetto Persistito if (page8DB.Parentpageid == page1.Pageid) { Assert.Fail("Sul DB La Page8 risulta ancora figlia della Page1"); } Assert.IsTrue(page8DB.Parentpageid == page5.Pageid, "Sul DB La Page8 non risulta figlia della Page5"); Assert.IsTrue(page8DB.Position == 3, "Sul DB La Page8 non ha position = 3"); page8 = page8DB; //Verifico se le posizioni dei figli del Page5 sono cambiate PageDTO page6DB = new PageDTO(); page6DB = svc.GetPage(page6.Pageid); if (page6DB.Position != page6.Position) { Assert.Fail("Sul DB la Page6 non ha posizione " + page6.Position); } page6 = page6DB; PageDTO page7DB = new PageDTO(); page7DB = svc.GetPage(page7.Pageid); if (page7DB.Position != page7.Position) { Assert.Fail("Sul DB la Page7 non ha posizione " + page7.Position); } page7 = page7DB; }
public Boolean DeletePage(PageDTO pagedto) { Boolean status = false; using (ISession session = HibernateHelper.GetSession().OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { try { Page page = new Page(); Mapper.CreateMap<PageDTO, Page>(); Mapper.CreateMap<PageElementDTO, PageElement>(); //Mappo la PageDTO in Page page = Mapper.Map<PageDTO, Page>(pagedto); //Prendo i Figli del padre della pagina DTO List<Page> Figli = new List<Page>(); Figli = EditorServices.GetPageByParent(session, page.Contentid, page.Parentpageid); //Sposto il Pagedto Salvato accodandolo all'ultima posizione del cestino Page Cestino = new Page(); Cestino = EditorServices.GetBasket(session, page.Contentid); int actualpos = 0; if (Cestino != null) { List<Page> Cestinati = new List<Page>(); Cestinati = EditorServices.GetPageByParent(session, page.Contentid, Cestino.Pageid); if (Cestinati.Count > 0) { actualpos = (from c in Cestinati select c.Position).Max(); } } //Decremento la posizione dei figli successivi al DTO foreach (Page pg in Figli) { if (pg.Position > pagedto.Position) { pg.Position = pg.Position - 1; pg.Dirty = true; HibernateHelper.Persist(pg, session); } else if (pg.Pageid == page.Pageid) { page = pg; pg.Parentpageid = Cestino.Pageid; pg.Position = actualpos + 1; pg.Dirty = true; pg.Deleted = false; HibernateHelper.Persist(pg, session); } } transaction.Commit(); status = true; } catch (Exception ex) { transaction.Rollback(); status = false; throw ex; } finally { session.Flush(); session.Close(); } } } //Setto lo stato del content a non allineato ContentServices contSvc = new ContentServices(); contSvc.SetStateContent(pagedto.Contentid, (int)ContentStateEnum.NonAllineato); return status; }
private void H_Move_Child_Page1() { // Sposto la page 2 da pos 2 in pos 4 page2.Parentpageid = page1.Pageid; page2.Position = 4; page2.Dirty = true; page2 = svc.MovePage(page2); Assert.IsTrue(page2.Parentpageid == page1.Pageid, "La Page2 non risulta figlia della Page1"); Assert.IsTrue(page2.Position == 4, "La Page2 non ha position = 4"); //La 10 rimane invariata PageDTO page10DB = new PageDTO(); page10DB = svc.GetPage(page10.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page10DB.Parentpageid == page1.Pageid, "Sul DB La Page10 non risulta figlia della Page1"); Assert.IsTrue(page10DB.Position == 1, "Sul DB La Page10 non ha position = 1"); page10 = page10DB; //la 3 passa a 2 PageDTO page3DB = new PageDTO(); page3DB = svc.GetPage(page3.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page3DB.Parentpageid == page1.Pageid, "Sul DB La Page3 non risulta figlia della Page1"); Assert.IsTrue(page3DB.Position == 2, "Sul DB La Page3 non ha position = 2"); page3 = page3DB; // la 4 passa a 3 PageDTO page4DB = new PageDTO(); page4DB = svc.GetPage(page4.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page4DB.Parentpageid == page1.Pageid, "Sul DB La Page4 non risulta figlia della Page1"); Assert.IsTrue(page4DB.Position ==3, "Sul DB La Page4 non ha position = 3"); page4 = page4DB; //la 2 passa a 4 PageDTO page2DB = new PageDTO(); page2DB = svc.GetPage(page2.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page2DB.Parentpageid == page1.Pageid, "Sul DB La Page2 non risulta figlia della Page1"); Assert.IsTrue(page2DB.Position == 4, "Sul DB La Page2 non ha position = 4"); page2 = page2DB; //la 5 rimane a 5 PageDTO page5DB = new PageDTO(); page5DB = svc.GetPage(page5.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page5DB.Parentpageid == page1.Pageid, "Sul DB La Page5 non risulta figlia della Page1"); Assert.IsTrue(page5DB.Position == 5, "Sul DB La Page5 non ha position = 5"); page5 = page5DB; //Sposto la Pagina 3 dalla posizione 2 alla posizione 3 page3.Parentpageid = page1.Pageid; page3.Position = 3; page3.Dirty = true; page3 = svc.MovePage(page3); Assert.IsTrue(page3.Parentpageid == page1.Pageid, "La Page3 non risulta figlia della Page1"); Assert.IsTrue(page3.Position == 3, "La Page3 non ha position = 3"); // la 10 rimane 1 //La 10 rimane invariata page10DB = new PageDTO(); page10DB = svc.GetPage(page10.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page10DB.Parentpageid == page1.Pageid, "Sul DB La Page10 non risulta figlia della Page1"); Assert.IsTrue(page10DB.Position == 1, "Sul DB La Page10 non ha position = 1"); page10 = page10DB; // la 4 passa a 2 page4DB = new PageDTO(); page4DB = svc.GetPage(page4.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page4DB.Parentpageid == page1.Pageid, "Sul DB La Page4 non risulta figlia della Page1"); Assert.IsTrue(page4DB.Position == 2, "Sul DB La Page4 non ha position = 2"); page4 = page4DB; // la 3 passa a 3 page3DB = new PageDTO(); page3DB = svc.GetPage(page3.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page3DB.Parentpageid == page1.Pageid, "Sul DB La Page3 non risulta figlia della Page1"); Assert.IsTrue(page3DB.Position == 3, "Sul DB La Page3 non ha position = 3"); page3 = page3DB; // la 2 rimane 4 page2DB = new PageDTO(); page2DB = svc.GetPage(page2.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page2DB.Parentpageid == page1.Pageid, "Sul DB La Page2 non risulta figlia della Page1"); Assert.IsTrue(page2DB.Position == 4, "Sul DB La Page2 non ha position = 4"); page2 = page2DB; // la 5 rimane 5 page5DB = new PageDTO(); page5DB = svc.GetPage(page5.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page5DB.Parentpageid == page1.Pageid, "Sul DB La Page5 non risulta figlia della Page1"); Assert.IsTrue(page5DB.Position == 5, "Sul DB La Page5 non ha position = 5"); page5 = page5DB; //Sposto la Pagina 3 dalla posizione 2 alla posizione 3 page3.Parentpageid = page1.Pageid; page3.Position = 2; page3.Dirty = true; page3 = svc.MovePage(page3); // la 10 rimane 1 //La 10 rimane invariata page10DB = new PageDTO(); page10DB = svc.GetPage(page10.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page10DB.Parentpageid == page1.Pageid, "Sul DB La Page10 non risulta figlia della Page1"); Assert.IsTrue(page10DB.Position == 1, "Sul DB La Page10 non ha position = 1"); page10 = page10DB; // la 3 passa a 2 page3DB = new PageDTO(); page3DB = svc.GetPage(page3.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page3DB.Parentpageid == page1.Pageid, "Sul DB La Page3 non risulta figlia della Page1"); Assert.IsTrue(page3DB.Position == 2, "Sul DB La Page3 non ha position = 2"); page3 = page3DB; // la 4 passa a 3 page4DB = new PageDTO(); page4DB = svc.GetPage(page4.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page4DB.Parentpageid == page1.Pageid, "Sul DB La Page4 non risulta figlia della Page1"); Assert.IsTrue(page4DB.Position == 3, "Sul DB La Page4 non ha position = 3"); page4 = page4DB; // la 2 rimane 4 page2DB = new PageDTO(); page2DB = svc.GetPage(page2.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page2DB.Parentpageid == page1.Pageid, "Sul DB La Page2 non risulta figlia della Page1"); Assert.IsTrue(page2DB.Position == 4, "Sul DB La Page2 non ha position = 4"); page2 = page2DB; // la 5 rimane 5 page5DB = new PageDTO(); page5DB = svc.GetPage(page5.Pageid); //Assert su Oggetto Persistito Assert.IsTrue(page5DB.Parentpageid == page1.Pageid, "Sul DB La Page5 non risulta figlia della Page1"); Assert.IsTrue(page5DB.Position == 5, "Sul DB La Page5 non ha position = 5"); page5 = page5DB; }
public PageDTO GetPage(int pageId) { using (ISession session = HibernateHelper.GetSession().OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { try { Page page = new Page(); page = EditorServices.GetPageById(pageId, session); Mapper.CreateMap<Page, PageDTO>(); Mapper.CreateMap<PageElement, PageElementDTO>(); Mapper.CreateMap<Element, ElementDTO>(); PageDTO pageToReturn = new PageDTO(); pageToReturn = Mapper.Map<Page, PageDTO>(page); pageToReturn.Path = GetPathPage(page.Parentpageid); if (page.Level != 0) { pageToReturn.Path = pageToReturn.Path + @"\" + page.Publictitle; } return pageToReturn; } catch (Exception ex) { throw ex; } finally { session.Flush(); session.Close(); } } } }
public PageDTO ClonePage(PageDTO pagedto, int idItemAmm, string FolderToSave) { using (ISession session = HibernateHelper.GetSession().OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { try { Page page = new Page(); Mapper.CreateMap<PageDTO, Page>(); Mapper.CreateMap<PageElementDTO, PageElement>(); //Mappo la PageDTO in Page page = Mapper.Map<PageDTO, Page>(pagedto); //Tengo in memoria il pageid da clonare int pageId = page.Pageid; //Salvo la nuova Pagina HibernateHelper.Persist(page, session); //Ricavo i PageElements del padre List<PageElement> CloneElements = HibernateHelper.SelectCommand<PageElement>(session, new string[] { "Pageid" }, new object[] { pageId }, new Operators[] { Operators.Eq }); //Ciclo sui CloneElements ISet<PageElement> ChildElements = new HashedSet<PageElement>(); foreach (PageElement el in CloneElements) { PageElement child = new PageElement(); child.IsNew = true; child.Page = page; child.Pageid = page.Pageid; child.Valore = EditorServices.ReplaceCharacters(el.Valore); child.Filename = el.Filename; child.Element = el.Element; child.Elementid = el.Elementid; if (el.Element.ElementType.Elementtypeid == (int)ElementTypeEnum.RawHtml) { //Get RawHtml Clone RawHtml cloneraw = new RawHtml(); cloneraw = HibernateHelper.SelectIstance<RawHtml>(session, new string[] { "Rawhtmlid" }, new object[] { el.Rawhtmlid }, new Operators[] { Operators.Eq }); RawHtml childraw = new RawHtml(); childraw.IsNew = true; childraw.Value = EditorServices.ReplaceCharacters(cloneraw.Value); SaveRawHtml(childraw, FolderToSave); child.Rawhtmlid = childraw.Rawhtmlid; } HibernateHelper.Persist(child, session); ChildElements.Add(child); } page.PageElements = ChildElements; ChildElements = page.PageElements; // Setto il padre al pageid se è zero if (page.Parentpageid == 0) { page.Parentpageid = page.Pageid; } else { page.Parentpageid = page.Parentpageid; } // Setto skinID a null se è zero if (page.Skinid == 0) { page.Skinid = null; } page.Dirty = true; HibernateHelper.Persist(page, session); //Rimappo l'oggetto da restituire Mapper.CreateMap<Page, PageDTO>(); Mapper.CreateMap<PageElement, PageElementDTO>(); Mapper.CreateMap<Element, ElementDTO>(); //Mappo la PageDTO in Page pagedto = Mapper.Map<Page, PageDTO>(page); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } finally { session.Flush(); session.Close(); } } } //Setto lo stato del content a non allineato ContentServices contSvc = new ContentServices(); contSvc.SetStateContent(pagedto.Contentid, (int)ContentStateEnum.NonAllineato); return pagedto; }
public void D_GetExistingPage() { // verifico il recupero di una pagina tramite identificativo page = svc.GetPage(page.Pageid); Assert.IsNotNull(page, "la pagina non è stata trovata!"); }