public void AddComment(Comment comment)
        {
            using (MsgContext context = new MsgContext())
            {
                var user = new User {Id = comment.UserId};

                comment.User = context.Users.Attach(user);

                context.Comments.Add(comment);
                context.SaveChanges();
            }
        }
        public User SignIn(string username)
        {
            using (MsgContext context = new MsgContext())
            {
                if (string.IsNullOrEmpty(username))
                    return null;

                if (!context.Users.Any(x => x.Username == username))
                {
                    context.Users.Add(new User { Username = username, IsAdmin = false });
                    context.SaveChanges();
                }

                return context.Users.Single(x => x.Username == username);
            }
        }
        public List<Comment> GetComments(int userId, Guid projectId, int sprint)
        {
            User user;

            using (MsgContext context = new MsgContext())
            {
                user = context.Users.Find(userId);
            }

            List<Comment> cmts = null;

            using (MsgContext context = new MsgContext())
            {
                var query = context.Comments.Where(x => x.Project == projectId && x.Sprint == sprint).Include(x => x.SprintActions).AsQueryable();

                if (!user.IsAdmin)
                    query = query.Where(x => x.UserId == user.Id);

                cmts = query.ToList();
            }

            cmts.ForEach(x=> x.User = user);
            return cmts;
        }