/// ----------------------------------------------------------------------------- /// <summary> /// GetItemsToView charge les éléments du module à afficher filtrer sur la date de publication, la publication. /// C'est le num de version le plus grand de l'élément qui est chargé. /// Le tri s'effectue en fonction du paramètre SDFilInfo_Settings.sItemOrdre. /// </summary> /// <remarks> /// </remarks> /// <param name="ModuleId">ID de l'item </param> /// <param name="sOrder"></param> /// <history> /// </history> /// ----------------------------------------------------------------------------- public IEnumerable <ItemHTMLText> GetItemsToView(int ModuleId, string sOrder = "ASC") { IEnumerable <ItemHTMLText> ts; List <ItemHTMLText> tl = null; ItemHTMLText t = null; StringBuilder sSQL = new StringBuilder(); using (IDataContext ctx = DataContext.Instance()) { IEnumerable <Item> its = ItemManager.Instance.GetItems( ItemManager.Instance.GetItemsSQLRequest( (sOrder.Equals("ASC", StringComparison.InvariantCultureIgnoreCase) ? "GetActiveItemsOrderByDateDePubASC" : "GetActiveItemsOrderByDateDePubDESC")) , ModuleId ); foreach (var it in its ?? Enumerable.Empty <Item>()) { t = ctx.ExecuteSingleOrDefault <ItemHTMLText>(CommandType.Text, GetItemHTMLTextSQLRequest("GetItemsToView"), it.ItemId); if (tl == null) { tl = new List <ItemHTMLText>(); } tl.Add(t); } ts = (IEnumerable <ItemHTMLText>)tl; } return(ts ?? Enumerable.Empty <ItemHTMLText>()); }
/// ----------------------------------------------------------------------------- /// <summary> /// GetItemHTMLText retourne : /// la ligne associée à son id (iHtmlTextID) si celui-ci est spécifié /// la ligne la plus récemment modifiée associée à l'Item (itemId) /// </summary> /// <remarks> /// </remarks> /// <param name="itemId">l'ID de l'Item (FilInfo)</param> /// <param name="iHtmlTextID"></param> /// <history> /// </history> /// ----------------------------------------------------------------------------- public ItemHTMLText GetItemHTMLText(int itemId, int iHtmlTextID = -1) { ItemHTMLText t = null; try { if (MVCTestBase.StringToInt(itemId.ToString()) > 0) { if (MVCTestBase.StringToInt(iHtmlTextID.ToString()) > 0) { using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <ItemHTMLText>(); t = rep.GetById(iHtmlTextID, itemId); } } else { t = GetItemsHTMLText(itemId).OrderByDescending(x => x.ModifDate).First(); } } } catch (Exception ex) { Exceptions.LogException(ex); } return(t); }
/// ----------------------------------------------------------------------------- /// <summary> /// DeleteItemHTMLText supprime une ligne à la table MVCTest_Items_HTMLText /// </summary> /// <remarks> /// </remarks> /// <param name = "t">la ligne à supprimer</param> /// <history> /// </history> /// ----------------------------------------------------------------------------- public void DeleteItemHTMLText(ItemHTMLText t) { using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <ItemHTMLText>(); rep.Delete(t); } }
/// ----------------------------------------------------------------------------- /// <summary> /// CreateItemHTMLText ajoute une ligne à la table MVCTest_Items_HTMLText /// </summary> /// <remarks> /// Supprime si besoin les versions anciennes /// </remarks> /// <param name = "t">la ligne à insérer</param> /// <param name = "iMaxHistorique">le nombre max de version conservée</param> /// <history> /// </history> /// ----------------------------------------------------------------------------- public void CreateItemHTMLText(ItemHTMLText t, int iMaxHistorique) { int iVersion = 0; using (IDataContext ctx = DataContext.Instance()) { iVersion = MVCTestBase.StringToInt(ctx.ExecuteScalar <Int32>(CommandType.Text, "select ISNULL(max(VersionNumber),0) AS VersionNumber from MVCTest_Items_HTMLText where ItemID=@0", t.ItemId).ToString(), 0); iVersion++; t.VersionNumber = iVersion; t.CreaDate = DateTime.UtcNow.ToLocalTime(); t.ModifDate = DateTime.UtcNow.ToLocalTime(); var rep = ctx.GetRepository <ItemHTMLText>(); rep.Insert(t); if (iMaxHistorique == 0) { iMaxHistorique = 5; } ctx.Execute(CommandType.Text, "delete from MVCTest_Items_HTMLText where ItemID=@0 and VersionNumber <= (@1 - @2)", t.ItemId, iVersion, iMaxHistorique); } }
/// ----------------------------------------------------------------------------- /// <summary> /// UpdateItemHTMLText redirige vers CreateItemHTMLText gestion de version oblige /// </summary> /// <remarks> /// </remarks> /// <param name = "t">la ligne à mettre à jour</param> /// <param name = "iMaxHistorique">le nombre max de version conservée</param> /// <history> /// </history> /// ----------------------------------------------------------------------------- public void UpdateItemHTMLText(ItemHTMLText t, int iMaxHistorique) { CreateItemHTMLText(t, iMaxHistorique); }