private static Publication ToDomain(PublicationEntity entity)
 {
     return(new Publication(
                entity.Id.ToString(),
                entity.Content,
                entity.Tags,
                (UserInfo)entity.Author,
                DateTimeOffset.FromUnixTimeMilliseconds(entity.CreateOn),
                DateTimeOffset.FromUnixTimeMilliseconds(entity.UpdateOn)));
 }
        public async Task <string> InsertOneAsync(Publication publication)
        {
            var entity = new PublicationEntity
            {
                Content  = publication.Content,
                Tags     = publication.Tags.ToList(),
                Author   = (UserInfoEntity)publication.Author,
                CreateOn = publication.CreatedOn.ToUnixTimeMilliseconds(),
                UpdateOn = publication.UpdatedOn.ToUnixTimeMilliseconds()
            };

            await context.Publications.InsertOneAsync(entity);

            return(entity.Id.ToString());
        }