Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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))
            });
        }