Beispiel #1
0
        public async Task <DiscussionDto> AddComment(CommentInput input)
        {
            var todo       = _todoManager.GetTodo(input.TodoId);
            var discussion = Discussion.CreateDiscussionMessage(input.Comment, todo);
            var id         = _todoManager.SendDiscussionMessage(discussion);
            var message    = _todoManager.GetMessage(id);
            var model      = message.MapTo <DiscussionDto>();

            model.Day   = message.CreationTime.Day;
            model.Month = GetNameFromMonth(message.CreationTime.Month);
            if (message.CreatorUserId == null)
            {
                return(model);
            }
            var member = await _userManager.GetUserByIdAsync((long)message.CreatorUserId);

            var todoList  = _todoManager.GetTodoListId(todo);
            var projectId = _toDoListManager.GetProjectIdFromList(todoList);
            var project   = _projectManager.GetProject(projectId);

            model.Member = member.MapTo <MemberDto>();
            await _todoNotificationsService.SilentChatNotification(model, project);

            return(model);
        }