Beispiel #1
0
        /// -----------------------------------------------------------------------------
        /// <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>());
        }
Beispiel #2
0
        /// -----------------------------------------------------------------------------
        /// <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);
        }
Beispiel #3
0
 /// -----------------------------------------------------------------------------
 /// <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);
     }
 }
Beispiel #4
0
        /// -----------------------------------------------------------------------------
        /// <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);
            }
        }
Beispiel #5
0
 /// -----------------------------------------------------------------------------
 /// <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);
 }