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