コード例 #1
0
        public async Task <IActionResult> Index()
        {
            UserData  user  = UserData.Current;
            UserAsset asset = null;

            if (user != null)
            {
                ViewBag.User = user.UserName;
                asset        = await _userService.GetUserAsset(user.UserId);
            }
            else
            {
                return(Redirect("/"));
            }

            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.ContractResolver = new CamelCasePropertyNamesContractResolver();

            ViewBag.UserAssetJson = Newtonsoft.Json.JsonConvert.SerializeObject(asset, settings);
            ViewBag.UserAsset     = asset;

            Dictionary <int, List <LiveClass> > classDict = await _liveClassService.GetDict();

            ViewBag.classDict = classDict;

            return(View());
        }
コード例 #2
0
        public async Task <IActionResult> Index(int id)
        {
            UserData  user  = UserData.Current;
            UserAsset asset = null;

            if (user != null)
            {
                ViewBag.User = user.UserName;
                asset        = await _userService.GetUserAsset(user.UserId);
            }
            else
            {
                ViewBag.User = "";
            }

            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.ContractResolver = new CamelCasePropertyNamesContractResolver();

            ViewBag.UserAssetJson = Newtonsoft.Json.JsonConvert.SerializeObject(asset, settings);
            ViewBag.UserAsset     = asset;

            Dictionary <int, List <LiveClass> > classDict = await _liveClass.GetDict();

            //List<BroadcastRoomDTO> list = await _anchorService.GetRoomListLiving(id);

            //ViewBag.RoomList = list;

            ViewBag.classDict = classDict;

            ViewBag.ClassId = id;


            return(View());
        }
コード例 #3
0
ファイル: AnchorService.cs プロジェクト: 872268297/mvcprj
        public async Task <List <BroadcastRoomDTO> > GetRoomList(int classid = 0)
        {
            var dict = await _liveClassService.GetDict();

            var classes = await _liveClassService.AllList();

            List <int> classList = new List <int>();

            Fun(classid, dict, classList);
            IQueryable <BroadcastRoomDTO> query = from r in _dbcontext.BroadcastRooms
                                                  join u in _dbcontext.UserAssets on r.UserId equals u.UserId
                                                  join lc in classes on r.ClassId equals lc.Id
                                                  join a in _dbcontext.Anchors on r.AnchorId equals a.Id
                                                  where classList.Contains(r.ClassId)
                                                  orderby r.LastLiveTime descending
                                                  select new BroadcastRoomDTO()
            {
                Room = new BroadcastRoom()
                {
                    AnchorId      = r.AnchorId,
                    ClassId       = r.ClassId,
                    Id            = r.Id,
                    CoverUrl      = r.CoverUrl,
                    IsBan         = r.IsBan,
                    IsLiving      = r.IsLiving,
                    LastLiveTime  = r.LastLiveTime,
                    Name          = r.Name,
                    Notice        = r.Notice,
                    RoomNum       = r.RoomNum,
                    StreamChannel = r.StreamChannel,
                    UserId        = r.UserId,
                    Viewer        = r.Viewer,
                    IsCustomCover = r.IsCustomCover
                },
                UserAsset = u,
                LiveClass = lc,
                Follower  = a.Follower
            };
            var list = await query.ToListAsync();

            return(list);
        }
コード例 #4
0
        public async Task <IActionResult> Index()
        {
            UserData  user  = UserData.Current;
            UserAsset asset = null;

            if (user != null)
            {
                if (!await _anchorService.IsAnchor(user.UserId))
                {
                    return(RedirectToAction("NewRoom"));
                }

                ViewBag.User = user.UserName;
                asset        = await _userService.GetUserAsset(user.UserId);
            }
            else
            {
                return(Redirect("/"));
            }

            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.ContractResolver = new CamelCasePropertyNamesContractResolver();

            var liveClass = await _liveClass.GetDict();

            ViewBag.classDict = liveClass;


            ViewBag.Dict_Class = JsonConvert.SerializeObject(liveClass, settings);

            var romm = await _anchorService.GetRoomByUserId(user.UserId);

            ViewBag.RoomInfo      = romm;
            ViewBag.UserAssetJson = Newtonsoft.Json.JsonConvert.SerializeObject(asset, settings);
            ViewBag.UserAsset     = asset;


            return(View());
        }
コード例 #5
0
        public async Task <IActionResult> Index(int id)
        {
            BroadcastRoomDTO room = await _anchorService.GetRoomByRoomNum(id);

            if (room == null)
            {
                return(NotFound());
            }

            bool isFollow = false;

            UserData  user  = UserData.Current;
            UserAsset asset = null;

            if (user != null)
            {
                ViewBag.User = user.UserName;
                asset        = await _userService.GetUserAsset(user.UserId);

                isFollow = await _followService.IsFollowed(user.UserId, room.Room.Id);
            }
            else
            {
                ViewBag.User = "";
            }

            ViewBag.IsFollow = isFollow;

            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.ContractResolver = new CamelCasePropertyNamesContractResolver();

            ViewBag.UserAssetJson = Newtonsoft.Json.JsonConvert.SerializeObject(asset, settings);
            ViewBag.UserAsset     = asset;

            ViewBag.ID = id;

            //主播头像
            //ViewBag.AnchorPicUrl = "/upload/QQ图片20190402225643.jpg";

            ViewBag.RTMPAddress = _serverService.GetRtmpAddress();

            ViewBag.Room = room;

            Dictionary <int, List <LiveClass> > classDict = await _liveClass.GetDict();

            ViewBag.classDict = classDict;

            return(View());
        }