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