Exemplo n.º 1
0
 public AnswerFlagTests()
 {
     _answerFlag = new AnswerFlag()
     {
         Id          = 1,
         DateAdded   = new DateTime(2016, 1, 1),
         ObjectState = ObjectState.Unchanged,
         UserId      = "B",
         AnswerId    = 2
     };
 }
Exemplo n.º 2
0
        public void AnswerFlagTests_IDtoConvertable_Converts()
        {
            var dto = _answerFlag.ToDto();

            Assert.Equal(dto.Id, _answerFlag.Id);
            Assert.Equal(dto.AnswerId, _answerFlag.AnswerId);
            Assert.Equal(dto.UserId, _answerFlag.UserId);
            Assert.Equal(dto.DateAdded, _answerFlag.DateAdded);

            var item = new AnswerFlag();

            item.FromDto(dto);

            Assert.Equal(item.Id, _answerFlag.Id);
            Assert.Equal(item.AnswerId, _answerFlag.AnswerId);
            Assert.Equal(item.UserId, _answerFlag.UserId);
            // This is intentional
            Assert.NotEqual(item.DateAdded, _answerFlag.DateAdded);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Save answer flag
        /// </summary>
        /// <param name="answerFlag"></param>
        /// <returns></returns>
        /// <remarks>Flag is always considered new</remarks>
        public DataOperationResult FlagAnswer(AnswerFlagDto answerFlag)
        {
            if (answerFlag == null)
            {
                throw new ServicesException("Null parameter FlagService.FlagAnswer(answerFlag)");
            }

            if (answerFlag.AnswerId <= 0)
            {
                throw new ServicesException("Unexpected AnswerId in FlagService.FlagAnswer(answerFlag)");
            }

            if (answerFlag.UserId == null)
            {
                throw new ServicesException("Unexpected UserId in FlagService.FlagAnswer(answerFlag)");
            }

            var answerFlagObject = new AnswerFlag();

            answerFlagObject.FromDto(answerFlag);

            _answerFlagRepository.Insert(answerFlagObject);

            var task = _answerFlagRepository.SaveChangesAsync();

            task.Wait();

            // Add to user cache if there is a user
            if (answerFlagObject.UserId != null)
            {
                var userCachedData = GetUserFlagsCachedData();
                userCachedData.Insert(answerFlagObject);
            }

            return(new DataOperationResult()
            {
                IntId = answerFlagObject.Id, IsNew = true
            });
        }