Beispiel #1
0
        public AnswerTO Modify(AnswerTO entity)
        {
            if (entity is null)
            {
                throw new ArgumentNullException(nameof(entity));
            }
            if (entity.Id <= 0)
            {
                throw new ArgumentException("Answer To Update Invalid Id");
            }
            if (!askContext.Answers.Any(x => x.Id == entity.Id))
            {
                throw new KeyNotFoundException($"Update(AnswerTO) Can't find Answer to update.");
            }

            var editedEntity = askContext.Answers.FirstOrDefault(e => e.Id == entity.Id && e.AssociatedQuestion.IsResolved != true);

            if (editedEntity != default)
            {
                entity.ToTrackedEF(editedEntity);
            }
            askContext.SaveChanges();

            return(editedEntity.ToTransferObject());
        }
Beispiel #2
0
        public void ToTrackedEF_ProvidingNullEF_ThrowException()
        {
            //ARRANGE
            AnswerTO answer         = null;
            AnswerEF answerToModify = null;

            //ACT
            Assert.ThrowsException <ArgumentNullException>(() => answer.ToTrackedEF(answerToModify));
        }
Beispiel #3
0
        public void ToTrackedEF_ProvidingNullTO_ThrowException()
        {
            //ARRANGE
            AnswerTO answer   = null;
            DateTime date     = DateTime.Now;
            var      question = new QuestionEF {
                Id = 1, IsResolved = false, Message = "Je n'arrive pas à faire un test", Title = "Problème avec Tests", Date = date, AuthorId = 1
            };
            var answerToModify = new AnswerEF {
                Message = "En fait, c'est facile il faut toujorus faire des tests", AuthorId = 2, AssociatedQuestion = question,
            };

            //ACT
            Assert.ThrowsException <ArgumentNullException>(() => answer.ToTrackedEF(answerToModify));
        }