Exemplo n.º 1
0
        public string GetLatestUpdatesRequestId()
        {
            var cacheKey = CacheSchema.KeyBlackboardGetUpdatesLatestRequestId();

            using (var redisCacheManager = new RedisCacheManager())
                return(redisCacheManager.Get <string>(cacheKey));
        }
Exemplo n.º 2
0
        public bool SaveLatestUpdatesRequestId()
        {
            var cacheKey = CacheSchema.KeyBlackboardGetUpdatesLatestRequestId();

            using (var redisCacheManager = new RedisCacheManager())
            {
                redisCacheManager.Set <string>(cacheKey, RequestIdManager.RequestId);
            }

            return(true);
        }
Exemplo n.º 3
0
        public bool SaveAssignment(BlackboardAssignment assignment)
        {
            if (assignment == null)
            {
                return(false);
            }

            var cacheKey = CacheSchema.KeyBlackboardAssignment(typeof(BlackboardAssignment), assignment.CustomerId, assignment.CourseId, assignment.id);

            var DueDate    = assignment.DueDate <= DateTime.Now.AddHours(2) ? DateTime.Now.AddHours(2) : assignment.DueDate;
            var ExpiryDate = DueDate.AddMinutes(CommonConfig.Cache.LowCacheTimeOutInMinutes);

            using (var redisCacheManager = new RedisCacheManager())
            {
                redisCacheManager.Set(cacheKey, assignment, ExpiryDate);
            }

            return(true);
        }
Exemplo n.º 4
0
        public List <BlackboardAssignment> GetAssignments(string CustomerId, string CourseId, List <string> assignmentIds)
        {
            var cacheKeys = new List <ICacheKey>();

            foreach (string assId in assignmentIds)
            {
                var cacheKey = CacheSchema.KeyBlackboardAssignment(typeof(BlackboardAssignment), CustomerId, CourseId, assId);
                cacheKeys.Add(cacheKey);
            }

            var assignments = new List <BlackboardAssignment>();

            using (var redisCacheManager = new RedisCacheManager())
            {
                assignments = redisCacheManager.GetMultiple <BlackboardAssignment>(cacheKeys).ToList();
            }

            return(assignments);
        }
Exemplo n.º 5
0
        public bool SaveGrade(BlackboardGrade grade)
        {
            if (string.IsNullOrWhiteSpace(grade.CustomerId))
            {
                throw new ArgumentNullException("parameter customerId is null/whitespace");
            }
            if (string.IsNullOrWhiteSpace(grade.CourseId))
            {
                throw new ArgumentNullException("parameter courseId is null/whitespace");
            }
            if (string.IsNullOrWhiteSpace(grade.AssignmentId))
            {
                throw new ArgumentNullException("parameter assignmentId is null/whitespace");
            }
            if (grade == null)
            {
                throw new ArgumentNullException("parameter grade is null");
            }

            var gradeCacheKey = CacheSchema.KeyBlackboardGrade(typeof(BlackboardGrade), grade.CustomerId, grade.CourseId, grade.AssignmentId, grade.id);
            var unpulledGradesListCacheKey = CacheSchema.SortedSets.KeyBlackboardGradeUnpulled();

            var gradeExpiryOnRedisInDays = Convert.ToInt32(CloudConfig.Get("BLACKBOARD_GRADE_EXPIRY_ON_REDIS_IN_DAYS", "7"));
            var ExpiryDate = DateTime.Now.AddDays(gradeExpiryOnRedisInDays).AddMinutes(CommonConfig.Cache.LowCacheTimeOutInMinutes);

            //redisCacheManager.Set(gradeCacheKey, grade, ExpiryDate);
            var actionSetGrade = new RedisTransactionAction(eRedisTransactionActionType.Set, gradeCacheKey, grade);

            actionSetGrade.Properties.Add("EXPIRY", ExpiryDate);

            //redisCacheManager.AddToUniqueList(unpulledGradesListCacheKey, gradeCacheKey.CacheKey);
            var actionAddGradeKeyToList = new RedisTransactionAction(eRedisTransactionActionType.AddToUniqueList, unpulledGradesListCacheKey, new List <string> {
                gradeCacheKey.KeyString
            });

            using (var redisCacheManager = new RedisCacheManager())
                return(redisCacheManager.MakeTransaction(actionSetGrade, actionAddGradeKeyToList));
        }