/// <inheritdoc /> public async Task <long> CreateAsync(PromotionCommentCreationData data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } var entity = data.ToEntity(); await ModixContext.PromotionComments.AddAsync(entity); await ModixContext.SaveChangesAsync(); entity.CreateAction.CommentId = entity.Id; await ModixContext.SaveChangesAsync(); await RaisePromotionActionCreatedAsync(entity.CreateAction); return(entity.Id); }
/// <inheritdoc /> public async Task <PromotionActionSummary> CreateAsync(PromotionCommentCreationData data) { if (data is null) { throw new ArgumentNullException(nameof(data)); } var entity = data.ToEntity(); await ModixContext.Set <PromotionCommentEntity>().AddAsync(entity); await ModixContext.SaveChangesAsync(); entity.CreateAction.NewCommentId = entity.Id; await ModixContext.SaveChangesAsync(); var action = await ModixContext.Set <PromotionActionEntity>().AsNoTracking() .Where(x => x.Id == entity.CreateActionId) .AsExpandable() .Select(PromotionActionSummary.FromEntityProjection) .FirstAsync(); return(action); }