public async Task <JsonModel> StartBroadcast(int userid) { try { BroadcastRoom r = await _dbcontext.BroadcastRooms.Where(t => t.UserId == userid).FirstOrDefaultAsync(); if (r == null) { return(new JsonModel(false, "失败", "找不到直播间")); } r.IsLiving = true; if (string.IsNullOrEmpty(r.StreamCode)) { r.StreamCode = this.GenarateStreamCode(userid); } r.LastLiveTime = DateTime.Now; _dbcontext.BroadcastRooms.Update(r); await _dbcontext.SaveChangesAsync(); return(new JsonModel(true, "成功", new Dictionary <string, string>() { { "streamCode", r.StreamCode }, { "streamChannel", r.StreamChannel } }));//返回推流码 } catch (Exception e) { return(new JsonModel(false, "失败", e.Message)); } }
public async Task <JsonModel> SetRoomInfo(int userid, BroadcastRoom room) { try { BroadcastRoom r = await _dbcontext.BroadcastRooms.Where(t => t.UserId == userid).FirstOrDefaultAsync(); if (r == null) { return(new JsonModel(false, "修改失败", null)); } r.Name = room.Name; r.Notice = room.Notice; r.ClassId = room.ClassId; r.CoverUrl = room.CoverUrl; r.IsCustomCover = room.IsCustomCover; _dbcontext.BroadcastRooms.Update(r); await _dbcontext.SaveChangesAsync(); return(new JsonModel(true, "修改成功")); } catch (Exception e) { return(new JsonModel(false, "修改失败", e.Message)); } }
public async Task <JsonModel> UpdateStreamCode(int userid) { BroadcastRoom r = await _dbcontext.BroadcastRooms.Where(t => t.UserId == userid).FirstOrDefaultAsync(); if (r == null) { return(new JsonModel(false, "失败", "找不到直播间")); } r.StreamCode = this.GenarateStreamCode(userid); r.LastLiveTime = DateTime.Now; _dbcontext.BroadcastRooms.Update(r); await _dbcontext.SaveChangesAsync(); return(new JsonModel(true, "成功", r.StreamCode)); }
public async Task <IActionResult> CreateBroadcastRoom() { UserData user = UserData.Current; if (user == null) { return(Json(false, "没有登录", null)); } var room = new BroadcastRoom() { UserId = user.UserId, ClassId = int.Parse(GetVal("CLASSID")), Name = GetVal("Name"), Notice = GetVal("Notice") }; return(Json(await _anchorService.CreateBroadcastRoom(user.UserId, room))); }
public async Task <IActionResult> SetRoomInfo() { UserData user = UserData.Current; if (user == null) { return(Json(false, "没有登录", null)); } var room = new BroadcastRoom() { UserId = user.UserId, ClassId = int.Parse(GetVal("CLASSID")), Name = GetVal("Name"), Notice = GetVal("Notice"), CoverUrl = GetVal("CoverUrl"), IsCustomCover = GetVal("IsCustomCover") == "true" ? true : false }; return(Json(await _anchorService.SetRoomInfo(user.UserId, room))); }
public async Task <JsonModel> CreateBroadcastRoom(int userid, BroadcastRoom room) { bool isExist = await(from a in _dbcontext.Anchors where a.UserId == userid select 1).AnyAsync(); if (isExist) { return(new JsonModel(false, "已经有直播间")); } Anchor anchor = new Anchor { UserId = userid, Follower = 0 }; var r = await _dbcontext.Anchors.AddAsync(anchor); await _dbcontext.SaveChangesAsync(); int anchorId = anchor.Id; int roomNum = 10000; //直播间号 if (await _dbcontext.BroadcastRooms.AnyAsync()) { roomNum = await _dbcontext.BroadcastRooms.MaxAsync(t => t.RoomNum) + 1; } room.RoomNum = roomNum; room.IsBan = false; room.IsLiving = false; room.AnchorId = anchorId; room.UserId = userid; room.StreamChannel = roomNum.ToString(); await _dbcontext.BroadcastRooms.AddAsync(room); await _dbcontext.SaveChangesAsync(); return(new JsonModel(true, "创建成功", room)); }
public async Task <JsonModel> StopBroadcast(int userid) { try { BroadcastRoom r = await _dbcontext.BroadcastRooms.Where(t => t.UserId == userid).FirstOrDefaultAsync(); if (r == null) { return(new JsonModel(false, "失败", "找不到直播间")); } r.IsLiving = false; _dbcontext.BroadcastRooms.Update(r); await _dbcontext.SaveChangesAsync(); return(new JsonModel(true, "成功", null));//返回推流码 } catch (Exception e) { return(new JsonModel(false, "失败", e.Message)); } }