public static void Save(UserStartNodes userStartNodes, ApplicationContext applicationContext, DatabaseContext databaseContext)
        {
            if (databaseContext.Database.Exists <UserStartNodes>(userStartNodes.UserId))
            {
                Update(userStartNodes, databaseContext);
            }
            else
            {
                Create(userStartNodes, databaseContext);
            }

            CacheUserStartNodes(userStartNodes.UserId, userStartNodes, applicationContext, databaseContext);
        }
        private static StartNodeCollection CacheUserStartNodes(int userId, UserStartNodes userStartNodes, ApplicationContext applicationContext, DatabaseContext databaseContext)
        {
            StartNodeCollection startNodes = new StartNodeCollection();

            if (userStartNodes != null)
            {
                startNodes.Content = (!string.IsNullOrWhiteSpace(userStartNodes.Content)) ? Array.ConvertAll(userStartNodes.Content.Split(','), int.Parse) : null;
                startNodes.Media   = (!string.IsNullOrWhiteSpace(userStartNodes.Media)) ? Array.ConvertAll(userStartNodes.Media.Split(','), int.Parse) : null;
            }

            applicationContext.ApplicationCache.RuntimeCache.InsertCacheItem <StartNodeCollection>(Resources.CacheKeyPrefix + userId.ToString(), () => startNodes);

            return(startNodes);
        }
        private static StartNodeCollection GetAndCacheStartNodes(int userId, ApplicationContext applicationContext, DatabaseContext databaseContext)
        {
            UserStartNodes userStartNodes = GetByUserId(userId, applicationContext, databaseContext);

            return(CacheUserStartNodes(userId, userStartNodes, applicationContext, databaseContext));
        }
 public static void Delete(UserStartNodes userStartNodes, DatabaseContext databaseContext)
 {
     databaseContext.Database.Delete(userStartNodes);
 }
 public static void Create(UserStartNodes userStartNodes, DatabaseContext databaseContext)
 {
     databaseContext.Database.Insert(userStartNodes);
 }