Beispiel #1
0
        public async Task <int> AddCommentByTrainTaskId(int taskId, string text, User user)
        {
            using (var conn = new SqlConnection(AppSettings.ConnectionString))
            {
                var item = new TrainTaskComment
                {
                    TrainTaskId = taskId,
                    Text        = text,
                    UserId      = user.Id,
                    Date        = DateTime.Now
                };

                var sql = Sql.SqlQueryCach["Comment.Add"];
                var id  = await conn.QueryFirstOrDefaultAsync <int>(sql,
                                                                    new
                {
                    date        = item.Date,
                    text        = item.Text,
                    trainTaskId = item.TrainTaskId,
                    userId      = item.UserId
                });

                return(id);
            }
        }
Beispiel #2
0
        private static UpdateUserDateDto GetTaskLastUpdate(TrainTaskComment lastComment, TrainTaskExecutor lastExecutor,
                                                           TrainTaskStatus lastStatus)
        {
            var items = new List <UpdateUserDateDto>();

            if (lastComment != null)
            {
                items.Add(new UpdateUserDateDto
                {
                    Date = lastComment.Date,
                    User = lastComment.User
                });
            }

            if (lastExecutor != null)
            {
                items.Add(new UpdateUserDateDto
                {
                    Date = lastExecutor.Date,
                    User = lastExecutor.User
                });
            }

            if (lastStatus != null)
            {
                items.Add(new UpdateUserDateDto
                {
                    Date = lastStatus.Date,
                    User = lastStatus.User
                });
            }

            return(items.Any() ? items.OrderBy(o => o.Date).Last() : null);
        }