public async Task <int> NewPost(string postText, BullBearLevel bullBearLevel, int?responseToPostId = null) { var userId = this.currentPrincipal.GetUserId(); var post = new TIRIRIT_POST { BULL_BEAR_LEVEL_CODE_ID = (int)bullBearLevel, POST_DATE = DateTime.Now, POST_TEXT = postText, TIRIRIT_USER_ID = userId.Value, RESPONSE_TO_POST_ID = responseToPostId, DELETED_IND = 0 }; dbContext.TiriritPosts.Add(post); await dbContext.SaveChangesAsync(); return(post.TIRIRIT_POST_ID); }
private PostModel ToDomainModel(TIRIRIT_POST data) { return(new PostModel { PostId = data.TIRIRIT_POST_ID, ModifiedDate = data.MODIFIED_DATE, PostDate = data.POST_DATE, PostText = data.POST_TEXT, UserId = data.TIRIRIT_USER_ID, UserName = data.Ref_PostedBy.UserName, ResponseToPostId = data.RESPONSE_TO_POST_ID, BullBearLevel = data.Ref_BullBearLevel.BULL_BEAR_LEVEL_CD, DislikedBy = data.Ref_LikeDislikeByUsers .Where(like => like.USER_LIKE_IND == 0) .Select(l => l.Ref_TiriritUser.ToDomainModel()), LikedBy = data.Ref_LikeDislikeByUsers .Where(like => like.USER_LIKE_IND == 1) .Select(l => l.Ref_TiriritUser.ToDomainModel()), RelatedStocks = data.Ref_Stocks .Where(stock => stock.DELETED_IND == 0) .Select(stock => new StockModel { Name = stock.Ref_Stock.NAME, SectorId = stock.Ref_Stock.SECTOR_ID, StockId = stock.Ref_Stock.STOCK_ID, StockQuotes = stock.Ref_Stock.Ref_StockQuotes .Select(q => q.ToDomainModel()), Symbol = stock.Ref_Stock.SYMBOL }), Tags = data.Ref_HashTags .Where(tag => tag.DELETED_IND == 0) .Select(tag => tag.Ref_HashTag.ToDomainModel()), Comments = data.Ref_Responses .Select(post => ToDomainModel(post)) }); }