public static void AddRoomBots(int rid, List<int> roomBotsIDs) { IHubContext _Rcontext = GlobalHost.ConnectionManager.GetHubContext<ChatRoomHub>(); RoomBot bllRoomBot = new BLL.RoomBot(); foreach (int roomBotID in roomBotsIDs) { Info.RoomBot bot = bllRoomBot.GetbyID(roomBotID); if (bot != null) { _Rcontext.Clients.Group(rid.ToString()).addRoomBot(rid, bot); } } }
public void SaveRoomBots(string roomBots) { BLL.RoomBot rmBots = new BLL.RoomBot(); string result = ""; try { List<Info.RoomBot> lst = Helper.JsonConverter.Deserialize<List<Info.RoomBot>>(roomBots); rmBots.Save(lst); var resultObj = new { status = true, error = "", bots = lst }; result = Newtonsoft.Json.JsonConvert.SerializeObject(resultObj); } catch (Exception ex) { var resultObj = new { status = false, error = ex.Message }; result = Newtonsoft.Json.JsonConvert.SerializeObject(resultObj); } HttpContext.Current.Response.ContentType = "application/json; charset=utf-8"; HttpContext.Current.Response.Write(result); }
public void LoadRoomBots(int roomId) { BLL.RoomBot rmBots = new BLL.RoomBot(); List<Info.RoomBot> lst = rmBots.GetByRoomID(roomId); string result = Newtonsoft.Json.JsonConvert.SerializeObject(lst); HttpContext.Current.Response.ContentType = "application/json; charset=utf-8"; HttpContext.Current.Response.Write(result); }
public static Helper.ChatRoom GetRoomInfo(int id, bool isTemp, Room room) { Helper.ChatRoom roomObject = new Helper.ChatRoom(); roomObject.ID = id; roomObject.Type = "Room"; roomObject.IsTemp = isTemp; roomObject.Message = ""; roomObject.AdminMessage = ""; //Room info roomObject.Name = room.Name; roomObject.RoomTopic = room.RoomTopic; roomObject.fbURL = room.FbURL; roomObject.tURL = room.TURL; roomObject.utURL = room.UtURL; roomObject.OpenCams = room.OpenCams; if (!room.IsColumnNull("CreatedBy")) roomObject.CreatedBy = room.CreatedBy; RoomBot Allbots = new RoomBot(); roomObject.RoomBots = Allbots.GetByRoomID(id); if (!room.IsColumnNull("CreatedDate")) roomObject.CreatedDate = room.CreatedDate; //Room settings roomObject.Settings.EnableCam = room.EnableCam; roomObject.Settings.EnableMic = room.EnableMic; roomObject.Settings.MarkOnLoginWithoutWrite = room.MarkOnLoginWithoutWrite; roomObject.Settings.MarkOnLoginWithWrite = room.MarkOnLoginWithWrite; roomObject.Settings.EnableMicForAdminsOnly = room.EnableMicForAdminsOnly; if (room.RoomType.RoomTypeSpecDuration.RoomTypeSpecID > 1) // not a free room roomObject.Settings.CamCount = 8; else roomObject.Settings.CamCount = 4; roomObject.Settings.MaxMic = room.RoomType.RoomTypeSpecDuration.RoomTypeSpec.MicCount; roomObject.Settings.TypeID = room.RoomType.RoomTypeSpecDuration.RoomTypeSpecID; roomObject.Settings.Color = room.RoomType.RoomTypeSpecDuration.RoomTypeSpec.Color; //Room Members RoomMember roomMember = new RoomMember(); if (!roomMember.LoadByPrimaryKey(BLL.Member.CurrentMember.MemberID, id)) { roomMember.AddNew(); roomMember.MemberID = BLL.Member.CurrentMember.MemberID; roomMember.RoomID = id; } roomMember.InRoom = true; roomMember.LastJoinDate = DateTime.Now; if (BLL.Member.CurrentMember.Status == (int)Helper.Enums.MemberStatus.Offline && Helper.Admin.HasRole(Helper.Enums.MemberRoles.InvisibleInRoom.ToString())) roomMember.InRoom = false; if (!room.IsColumnNull("CreatedBy")) { if (roomMember.MemberID == room.CreatedBy) roomMember.RoomMemberLevelID = (int)Helper.Enums.RoomMemberLevel.Owner; } roomMember.Save(); roomObject.CurrentMemberID = BLL.Member.CurrentMemberID; List<int> connectedIDs = ChatRoomHub.ConnectedUsers.Select(m => m.MemberID).ToList(); roomObject.Members = roomMember.LoadWithSettings(id, roomObject.CurrentMemberID, null, connectedIDs); var currentMemberSettings = roomObject.Members.First(m => m.MemberID == roomObject.CurrentMemberID); if (currentMemberSettings != null) { if (room.MarkOnLoginWithWrite) { currentMemberSettings.IsMarked = true; currentMemberSettings.CanWrite = true; } if (room.MarkOnLoginWithoutWrite) { currentMemberSettings.IsMarked = true; currentMemberSettings.CanWrite = false; } } // load owner / admins //roomObject.Admins = roomMember.GetAdminsMembersByRoomID(id); // load cat & subcat Category cat = new Category(); if (!room.IsColumnNull("CategoryID")) { cat.LoadByPrimaryKey(room.CategoryID); roomObject.CategoryName = cat.Name; } SubCategory scat = new SubCategory(); if (!room.IsColumnNull("SubCategoryID")) { scat.LoadByPrimaryKey(room.SubCategoryID); roomObject.SubCategoryName = scat.Name; } else { roomObject.SubCategoryName = "لا يوجد"; } //member level change roomObject.MemberLevels = Helper.EnumUtil.GetValues<Helper.Enums.RoomMemberLevel>().Where(l => (int)l < currentMemberSettings.MemberLevelID).Select(l => new { ID = (int)l, Name = Helper.StringEnum.GetStringValue(l) }).ToList(); //messages //roomObject.MessageHistory = new RoomMessages().GetLatestMessags(id, 0); roomObject.MessageHistory = new List<Helper.ChatMessage>() { }; /////////////////////////// Gift allgifts = new Gift(); allgifts.LoadAll(); roomObject.Gifts = allgifts.DefaultView.Table.AsEnumerable().Select(m => new { giftid = m["GiftID"], name = m["Name"], price = m["Price_Point"], picPath = m["PicPath"], AudioPath = m["AudioPath"] }).ToList(); //bots RoomBot bllRoomBot = new BLL.RoomBot(); //welcome bot List<Info.RoomBot> bots = bllRoomBot.GetByRoomIDandBotID(id, Helper.Enums.Bot.Welcome); if (bots.Count > 0) { Info.WelcomeBot infoWelcomeBot = (Info.WelcomeBot)bots.First().Settings; roomObject.WelcomeBot = infoWelcomeBot; } return roomObject; }
private static bool ValidateMemberLoginTypeBot(int id, out string acceptedTypes) { bool isValidMemberType = true; acceptedTypes = ""; BLL.RoomBot bllbot = new BLL.RoomBot(); List<Info.RoomBot> lstBots = bllbot.GetByRoomIDandBotID(id, Helper.Enums.Bot.MemberTypeLogin); if (lstBots.Count > 0) { Info.MemberTypeLogin infoBot = lstBots.FirstOrDefault().Settings as Info.MemberTypeLogin; if (infoBot != null) { List<string> typeNames = (from s in infoBot.AcceptedMemberTypes select Helper.StringEnum.GetStringValue(Helper.EnumUtil.ParseEnum<Helper.Enums.MemberType>(Convert.ToInt32(s)))).ToList(); acceptedTypes = String.Join(",", typeNames); switch (BLL.Member.CurrentMember.MemberType.MemberTypeSpecDuration.MemberTypeSpecID) { case (int)Helper.Enums.TypeSpec.Free: isValidMemberType = infoBot.AcceptedMemberTypes.Contains(Convert.ToString((int)Helper.Enums.MemberType.Free)); break; case (int)Helper.Enums.TypeSpec.Pink1: case (int)Helper.Enums.TypeSpec.Pink2: isValidMemberType = infoBot.AcceptedMemberTypes.Contains(Convert.ToString((int)Helper.Enums.MemberType.Upgraded)); break; case (int)Helper.Enums.TypeSpec.VIP: isValidMemberType = infoBot.AcceptedMemberTypes.Contains(Convert.ToString((int)Helper.Enums.MemberType.VIP)); break; } } } return isValidMemberType; }
public void ShowRoomProgram(int roomId) { BLL.RoomBot rmBots = new BLL.RoomBot(); List<Info.RoomBot> lst = rmBots.GetByRoomIDandBotID(roomId, Helper.Enums.Bot.RoomProgram); if (lst.Count == 0) return; SubmitProgram(lst.FirstOrDefault()); }
private void SubmitRoomProgramBotSchedule() { BLL.RoomBot bllRoomBot = new RoomBot(); List<Info.RoomBot> lstBots = bllRoomBot.GetByBotID(Helper.Enums.Bot.RoomProgram); Info.RoomProgram infoSetting; bool isSend; foreach (var infoBot in lstBots) { isSend = false; infoSetting = (Info.RoomProgram)infoBot.Settings; if (infoSetting.ProgramSchedule == Helper.Enums.RoomBotSchedule.FiveMinutes) { isSend = true; } else if (infoSetting.ProgramSchedule == Helper.Enums.RoomBotSchedule.TenMinutes && timerTricks % 2 == 0) { isSend = true; } else if (infoSetting.ProgramSchedule == Helper.Enums.RoomBotSchedule.FifteenMinutes && timerTricks % 3 == 0) { isSend = true; } else if (infoSetting.ProgramSchedule == Helper.Enums.RoomBotSchedule.ThirtyMinutes && timerTricks % 6 == 0) { isSend = true; } else if (infoSetting.ProgramSchedule == Helper.Enums.RoomBotSchedule.FifteenMinutes && timerTricks % 12 == 0) { isSend = true; } if (isSend) { Chat2Connect.services.Services.SubmitProgram(infoBot); } } }