Example #1
0
        protected virtual async Task Update(CommentEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新

            var entity = await _commentRepository.GetAsync(input.Id.Value);

            //  input.MapTo(entity);
            //将input属性的值赋值到entity中
            ObjectMapper.Map(input, entity);
            await _commentManager.UpdateAsync(entity);
        }
        /// <inheritdoc/>
        public async Task UpdateAsync()
        {
            _logger.LogInformation(SyncMessage.CommentUpdateStart);

            var commentsCloud = await _cloudManager.GetComments().ToListAsync();

            var commentsApp = (await _commentManager.GetAllAsync()).ToList();

            foreach (var commentApp in commentsApp)
            {
                var commentCloud = commentsCloud.FirstOrDefault(c => c.Id == commentApp.CloudId);
                var postApp      = await _postManager.GetAsync(commentApp.PostId);

                var isUpdated = false;

                if (postApp.CloudId != commentCloud.PostId)
                {
                    var postId = (await _postManager.GetByCloudIdAsync(commentCloud.Id)).Id;
                    commentApp.PostId = postId;
                    isUpdated         = true;
                }

                if (commentApp.Name != commentCloud.Name)
                {
                    commentApp.Name = commentCloud.Name;
                    isUpdated       = true;
                }

                if (commentApp.Email != commentCloud.Email)
                {
                    commentApp.Email = commentCloud.Email;
                    isUpdated        = true;
                }

                if (commentApp.Body != commentCloud.Body)
                {
                    commentApp.Body = commentCloud.Body;
                    isUpdated       = true;
                }

                if (isUpdated)
                {
                    await _commentManager.UpdateAsync(commentApp);
                }
            }

            _logger.LogInformation(SyncMessage.CommentUpdateEnd);
        }
Example #3
0
 public void Method_Throws_ArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() => _commentManager.CreateAsync(null).GetAwaiter().GetResult());
     Assert.Throws <ArgumentNullException>(() => _commentManager.UpdateAsync(null).GetAwaiter().GetResult());
 }