Exemple #1
0
        private void HandleOfflineCases1and2(string username, SortedList sortedAvailableLevels, ArrayList levels)
        {
            foreach (DictionaryEntry de in sortedAvailableLevels)
            {
                var currentActivatedUsers = GetFeatureUsers((int)de.Key);

                var level = new ActLevel();

                int availAct;
                if (!string.IsNullOrWhiteSpace(username) && currentActivatedUsers.Contains(username))
                {
                    availAct            = 1;
                    level.isUserInLevel = true;
                }
                else
                {
                    availAct = (int)de.Value - currentActivatedUsers.Count;
                }

                level.id                   = (int)de.Key;
                level.name                 = GetFeatureName(de.Key.ToString());
                level.totalactivations     = (int)de.Value;
                level.availableactivations = availAct;

                levels.Add(level);
            }
        }
Exemple #2
0
        private static void HandleOnlineCase1(ArrayList levels, DataSet dataSetsInfo)
        {
            var level = new ActLevel
            {
                id   = 0,
                name = "No Access",
                availableactivations = 1,
                totalactivations     = 0,
                isUserInLevel        = true
            };

            levels.Add(level);

            level = new ActLevel
            {
                id   = 2,
                name = "Standard User",
                availableactivations = 0,
                totalactivations     = 0,
                isUserInLevel        = false
            };

            try
            {
                if (dataSetsInfo.Tables[1].Rows[0]["Level"].ToString() == "4")
                {
                    level.name = "PortfolioEngine";
                    level.id   = 3;
                }
                else if (dataSetsInfo.Tables[1].Rows[0]["Level"].ToString() == "2")
                {
                    level.id   = 2;
                    level.name = "WorkEngine";
                }

                var max       = int.Parse(dataSetsInfo.Tables[1].Rows[0]["MaxUsers"].ToString());
                var userCount = int.Parse(dataSetsInfo.Tables[1].Rows[0]["UserCount"].ToString());

                level.totalactivations     = userCount;
                level.availableactivations = max - userCount;
            }
            catch (Exception ex)
            {
                Trace.TraceError("Exception Suppressed {0}", ex);
            }

            try
            {
                if (dataSetsInfo.Tables[2].Rows[0][0].ToString() == "1")
                {
                    level.isUserInLevel = true;
                    ((ActLevel)levels[0]).isUserInLevel = false;
                }
            }
            catch (Exception ex)
            {
                Trace.TraceError("Exception Suppressed {0}", ex);
            }
            levels.Add(level);
        }
Exemple #3
0
        private static void HandleOnlineCase3(ArrayList levels, DataSet dataSetsInfo)
        {
            var level = new ActLevel
            {
                id   = 0,
                name = "No Access",
                availableactivations = 1,
                totalactivations     = 0,
                isUserInLevel        = false
            };

            levels.Add(level);

            var isUserInOtherLevel = false;

            foreach (DataRow dr in dataSetsInfo.Tables[1].Rows)
            {
                level = new ActLevel
                {
                    id   = int.Parse(dr["ResLevel"].ToString()),
                    name = dr["LevelName"].ToString(),
                    availableactivations = 0,
                    totalactivations     = 0,
                    isUserInLevel        = false
                };

                try
                {
                    var max       = int.Parse(dr["Quantity"].ToString());
                    var userCount = int.Parse(dr["UserCount"].ToString());

                    level.totalactivations     = userCount;
                    level.availableactivations = max - userCount;
                }
                catch (Exception ex)
                {
                    Trace.TraceError("Exception Suppressed {0}", ex);
                }

                try
                {
                    if (dataSetsInfo.Tables[2].Rows[0][0].ToString() == level.id.ToString())
                    {
                        isUserInOtherLevel  = true;
                        level.isUserInLevel = true;
                    }
                }
                catch (Exception ex)
                {
                    Trace.TraceError("Exception Suppressed {0}", ex);
                }

                levels.Add(level);
            }

            if (isUserInOtherLevel)
            {
                ((ActLevel)levels[0]).isUserInLevel = true;
            }
        }
Exemple #4
0
        private string GetLevelName(ActLevel Level, Act act)
        {
            if (bIsOnline)
            {
                if (Level.availableactivations < 1 && !Level.isUserInLevel && (act.OwnerUsername == CoreFunctions.GetRealUserName(Web.CurrentUser.LoginName, Web.Site)))
                {
                    string url = Web.ServerRelativeUrl;
                    if (url == "/")
                    {
                        url = "";
                    }
                    return(Level.name + " <a style=\"\" href=\"javascript:void(0);\" onclick=\"var options={url: '" + url + "/_layouts/epmlive/manageaccount.aspx',width: 800,height: 600}; SP.SOD.execute('SP.UI.Dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);\"><img src=\"/_layouts/epmlive/images/purchaseaccounts.png\" border=\"0\"></a>");
                }
            }
            else
            {
            }

            return(Level.name);
        }
Exemple #5
0
        private void HandleOfflineCase3(string username, SortedList sortedAvailableLevels, ArrayList levels)
        {
            var userLevels = new UserLevels();

            var currentActivatedUsers = GetFeatureUsers(1000);

            foreach (var userLevel in userLevels)
            {
                var userLevelValue = userLevel.Value;

                var activatedUsers = 0;

                foreach (string sUser in currentActivatedUsers)
                {
                    try
                    {
                        var user = sUser.Split(':');
                        if (user[1] == userLevelValue.id.ToString())
                        {
                            activatedUsers++;
                        }
                    }
                    catch (Exception ex)
                    {
                        Trace.TraceError("Exception Suppressed {0}", ex);
                    }
                }

                var availAct = 0;

                var level = new ActLevel();

                var totalCount = 0;

                if (sortedAvailableLevels.ContainsKey(userLevelValue.id))
                {
                    totalCount = (int)sortedAvailableLevels[userLevelValue.id];
                }

                if (totalCount > 0 || userLevelValue.id == 0)
                {
                    if (!string.IsNullOrWhiteSpace(username) && currentActivatedUsers.Contains(string.Format("{0}:{1}", username, userLevelValue.id)))
                    {
                        availAct            = 1;
                        level.isUserInLevel = true;
                    }
                    else
                    {
                        availAct = totalCount - activatedUsers;
                    }
                }

                level.id                   = userLevelValue.id;
                level.name                 = userLevelValue.name;
                level.totalactivations     = totalCount;
                level.availableactivations = userLevelValue.id == 0
                    ? 1
                    : availAct;

                levels.Add(level);
            }
        }