Пример #1
0
        /// <summary>
        /// Flashs <see cref="FeedbackMessageStore"/> to session.
        /// </summary>
        public void FlashFeedbackMessageStore()
        {
            var messageStore = Current;

            messageStore.CleanRendered();

            if (messageStore.Items.ContainsKey(META_DATA_SESSION_KEY) &&
                messageStore.Items[META_DATA_SESSION_KEY] != null)
            {
                HttpSessionState session = (HttpSessionState)messageStore.Items[META_DATA_SESSION_KEY];

                if (!session.IsReadOnly)
                {
                    if (messageStore.HasUnrenderedMessage())
                    {
                        session.SetStore(ITEM_KEY, messageStore);
                    }
                    else
                    {
                        messageStore.Items.Remove(session);
                        session[ITEM_KEY] = null;
                    }

                    return;
                }
            }

            if (!ExistsSession())
            {
                return;
            }
            else
            {
                var session = HttpContext.Current.Session;

                if (!session.IsReadOnly)
                {
                    if (messageStore.HasUnrenderedMessage())
                    {
                        session.SetStore(ITEM_KEY, messageStore);
                    }
                    else
                    {
                        messageStore.Items[META_DATA_SESSION_KEY] = null;
                        session[ITEM_KEY] = null;
                    }
                }
            }
        }