Beispiel #1
0
        private static void CheckUpdate(string userId, Dictionary <string, DateTime> dicLoggedInUsers)
        {
            // TODO: Find reason for exception
            try
            {
                //Check when was the Last Insert made to the
                var dt = (from a in dicLoggedInUsers.Where(x => x.Key == userId) select a.Value).SingleOrDefault();

                if (dt != null && dt.Add(TimeSpanLastActivityDateUpdate) <= DateTime.Now)
                {
                    Data.CSBooster_DataContext csb = new Data.CSBooster_DataContext(Helper.GetSiemeConnectionString());
                    DateTime now = DateTime.Now;
                    csb.hisp_aspnet_Profile_UpdateLastActivityDate(new Guid(userId), now);
                    dicLoggedInUsers[userId] = now;
                }
                //By the way Delete all expired Users
                var allToDelete = from allUsers in dicLoggedInUsers.Where(x => x.Value.Add(TimeSpanUserOnline) <= DateTime.Now) select allUsers.Key;

                foreach (string userToDelete in allToDelete)
                {
                    dicLoggedInUsers.Remove(userToDelete);
                }
            }
            catch
            {
            }
        }
Beispiel #2
0
        public void Update()
        {
            DateTime now = DateTime.Now;

            if (now > LastResetDate.GetEndOfMonth())
            {
                GeoServiceCalls = 0;
                RESTCalls       = 0;
                LastResetDate   = now;
            }

            Data.CSBooster_DataContext dc = new Data.CSBooster_DataContext(Helper.GetSiemeConnectionString());
            dc.hisp_Partners_Update(PartnerID, PartnerName, CommunityID, BaseUrlXSLT, MapConfig, GeoServiceCalls, RESTCalls, MonthlyGeoServiceCredits, MonthlyRESTCredits, LastResetDate, MobileHeader, MobileFooter);
        }
Beispiel #3
0
 public static void DeleteUserLoggedIn(string userId)
 {
     lock (_SyncRoot)
     {
         Dictionary <string, DateTime> dicLoggedInUsers = HttpRuntime.Cache[Constants.LOGGEDINUSER_CACHE_KEY] as Dictionary <string, DateTime>;
         if (dicLoggedInUsers == null)
         {
             dicLoggedInUsers = new Dictionary <string, DateTime>();
         }
         if (dicLoggedInUsers.Any(x => x.Key == userId))
         {
             dicLoggedInUsers.Remove(userId);
             Data.CSBooster_DataContext csb = new Data.CSBooster_DataContext(Helper.GetSiemeConnectionString());
             DateTime expireDate            = DateTime.Now.Subtract(TimeSpanUserOnline);
             csb.hisp_aspnet_Profile_UpdateLastActivityDate(new Guid(userId), expireDate);
         }
         CheckUpdate(userId, dicLoggedInUsers);
         HttpRuntime.Cache[Constants.LOGGEDINUSER_CACHE_KEY] = dicLoggedInUsers;
     }
 }
Beispiel #4
0
 public static void InsertUpdateUserLoggedIn(string userId)
 {
     lock (_SyncRoot)
     {
         Dictionary <string, DateTime> dicLoggedInUsers = HttpRuntime.Cache[Constants.LOGGEDINUSER_CACHE_KEY] as Dictionary <string, DateTime>;
         if (dicLoggedInUsers == null)
         {
             dicLoggedInUsers = new Dictionary <string, DateTime>();
         }
         if (!dicLoggedInUsers.Any(x => x.Key == userId))
         {
             DateTime now = DateTime.Now;
             dicLoggedInUsers.Add(userId, now);
             //Update The DB
             Data.CSBooster_DataContext csb = new Data.CSBooster_DataContext(Helper.GetSiemeConnectionString());
             csb.hisp_aspnet_Profile_UpdateLastActivityDate(new Guid(userId), now);
         }
         CheckUpdate(userId, dicLoggedInUsers);
         HttpRuntime.Cache[Constants.LOGGEDINUSER_CACHE_KEY] = dicLoggedInUsers;
     }
 }
Beispiel #5
0
        public static string GetDelimitedTagIds(string delimitedTags, char delimiter)
        {
            string allObjs = string.Empty;

            if (!string.IsNullOrEmpty(delimitedTags))
            {
                string   allObjsToFind = string.Empty;
                string[] ids           = delimitedTags.RemoveDuplicates(delimiter).Split(delimiter);
                foreach (string id in ids)
                {
                    if (id.Length > 0)
                    {
                        if (id.IsGuid())
                        {
                            allObjs += id + "|";
                        }
                        else
                        {
                            allObjsToFind += string.Format("{0}|", id);
                        }
                    }
                }
                if (allObjsToFind.Length > 0)
                {
                    allObjsToFind = allObjsToFind.TrimEnd('|');
                    Data.CSBooster_DataContext csbDAC = new Data.CSBooster_DataContext(Helper.GetSiemeConnectionString());
                    var founsIDs = csbDAC.hisp_TagWord_GetIDSByWords(allObjsToFind);
                    foreach (var foundID in founsIDs)
                    {
                        allObjs += foundID.TGW_ID.ToString() + "|";
                    }
                }
                if (allObjs.Length > 0)
                {
                    allObjs = allObjs.TrimEnd('|');
                    allObjs.RemoveDuplicates('|');
                }
            }
            return(allObjs);
        }
Beispiel #6
0
        /// <summary>
        /// Get a partner for a specific user (specify userID only)
        /// Get a partner with all users (specify partnerID only)
        /// </summary>
        public static Partner Get(Guid?partnerID, Guid?userID)
        {
            Data.CSBooster_DataContext dc = new Data.CSBooster_DataContext(Helper.GetSiemeConnectionString());
            var partnerResult             = dc.hisp_Partners_Load(partnerID, userID).ToList();

            if (partnerResult.Count > 0)
            {
                Partner partner = new Partner();
                partner.PartnerID                = partnerResult[0].PAR_ID;
                partner.PartnerName              = partnerResult[0].PAR_Name;
                partner.CommunityID              = partnerResult[0].CTY_ID;
                partner.BaseUrlXSLT              = partnerResult[0].PAR_BaseUrlXSLT;
                partner.MapConfig                = partnerResult[0].PAR_MapConfig;
                partner.GeoServiceCalls          = partnerResult[0].PAR_GeoServiceCalls;
                partner.RESTCalls                = partnerResult[0].PAR_RESTCalls;
                partner.MonthlyGeoServiceCredits = partnerResult[0].PAR_MonthlyGeoServiceCredits;
                partner.MonthlyRESTCredits       = partnerResult[0].PAR_MonthlyRESTCredits;
                partner.LastResetDate            = partnerResult[0].PAR_LastResetDate;
                partner.MobileHeader             = partnerResult[0].PAR_MobileHeader;
                partner.MobileFooter             = partnerResult[0].PAR_MobileFooter;
                partner.Users = new Dictionary <Guid, DataObjectUser>();
                for (int i = 0; i < partnerResult.Count; i++)
                {
                    DataObjectUser user = DataObject.Load <DataObjectUser>(partnerResult[i].USR_ID);
                    if (user.State != ObjectState.Added)
                    {
                        partner.Users.Add(user.ObjectID.Value, user);
                        if (i == 0)
                        {
                            partner.CurrentUser = user;
                        }
                    }
                }
                return(partner);
            }
            else
            {
                return(null);
            }
        }