public void addToRoom(int memberID, int roomid) { Groups.Add(Context.ConnectionId, roomid.ToString()); try { Member member = new Member(); member.LoadByPrimaryKey(memberID); bool isHidden = member.Status == (int)Helper.Enums.MemberStatus.Offline && Roles.IsUserInRole(member.Name, Helper.Enums.MemberRoles.InvisibleInRoom.ToString()); RoomMember roomMember = new RoomMember(); if (!roomMember.LoadByPrimaryKey(memberID, roomid)) { roomMember.AddNew(); roomMember.MemberID = memberID; roomMember.RoomID = roomid; } roomMember.LastJoinDate = DateTime.Now; roomMember.InRoom = !isHidden; Room room = new Room(); room.LoadByPrimaryKey(roomid); if (!room.IsColumnNull("CreatedBy")) { if (room.CreatedBy == roomMember.MemberID) roomMember.RoomMemberLevelID = (int)Helper.Enums.RoomMemberLevel.Owner; } roomMember.Save(); Helper.ChatMember chatMember = roomMember.LoadWithSettings(roomid, roomMember.MemberID, roomMember.MemberID, null).FirstOrDefault(); if (!isHidden) Clients.Group(roomid.ToString()).addNewMember(roomid.ToString(), chatMember); if (roomMember.RoomMemberLevelID > (int)Helper.Enums.RoomMemberLevel.Visitor) Groups.Add(Context.ConnectionId, GetRoomAdminGroupName(roomid)); BLL.MemberLog log = new BLL.MemberLog(); Helper.Enums.LogType lgType = Helper.Enums.LogType.EnterRoom; if (isHidden) lgType = Helper.Enums.LogType.EnterRoomHidden; log.AddNew(memberID, new BLL.Log.EnterRoom() { Type = lgType, RoomID = roomid, RoomName = room.Name }, null, roomid); RoomMember onlineroomMember = new RoomMember(); onlineroomMember.GetAllOnlineMembersByRoomID(roomid); Clients.All.updateExistingCount(roomid, onlineroomMember.RowCount); var item = ConnectedUsers.FirstOrDefault(m => m.MemberID == memberID); if (item == null) { var newMember = new Helper.SignalRUser { ConnectionId = Context.ConnectionId, MemberName = member.Name, MemberID = member.MemberID, ProfilePic = member.ProfilePic, MemberTypeSpecID = member.MemberType.MemberTypeSpecDuration.MemberTypeSpecID }; ConnectedUsers.Add(newMember); } } catch (Exception ex) { } }
private void BindRoomInfo() { clearFields(); BLL.Room room = new BLL.Room(); room.LoadByPrimaryKey(RoomID); if (!room.IsColumnNull("CreatedDate")) uiLabelCreatedDate.Text = Helper.Date.ToString(room.CreatedDate); BLL.Member creator = new BLL.Member (); if(!room.IsColumnNull("CreatedBy")) { creator.LoadByPrimaryKey(room.CreatedBy); uiLabelCreator.Text = creator.UserName; uiLabelName.Text = room.Name; loadAdminTable(); uiGridViewAdmins.DataSource = AdminsTable; uiGridViewAdmins.DataBind(); } }
public void userStopCam(int rid, int memberid) { Clients.Group(rid.ToString(), Context.ConnectionId).HideCamLink(memberid, rid); Room room = new Room(); room.LoadByPrimaryKey(rid); if (room.IsColumnNull("OpenCams")) room.OpenCams = 0; else room.OpenCams -= 1; if (room.OpenCams < 0) room.OpenCams = 0; RoomMember roomMember = new RoomMember(); if (roomMember.LoadByPrimaryKey(memberid, rid)) { roomMember.HasCam = false; roomMember.Save(); } room.Save(); }
public void userStartCam(int rid, int memberid) { Clients.Group(rid.ToString(), Context.ConnectionId).ShowCamLink(memberid, rid); Room room = new Room(); room.LoadByPrimaryKey(rid); if (room.IsColumnNull("OpenCams")) room.OpenCams = 1; else room.OpenCams += 1; room.Save(); RoomMember roomMember = new RoomMember(); if (roomMember.LoadByPrimaryKey(memberid, rid)) { roomMember.HasCam = true; roomMember.Save(); } }
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 IsValideRoom(int id, bool isTemp, out Room room, out string message) { message = ""; room = new Room(); if (!isTemp) { RoomMemberBanning ban = new RoomMemberBanning(); if (ban.LoadByPrimaryKey(id, BLL.Member.CurrentMemberID)) { if (ban.IsColumnNull(RoomMemberBanning.ColumnNames.EndDate) || ban.EndDate > DateTime.Now) { message = "تم طردك من هذه الغرفة "; if (ban.IsColumnNull(RoomMemberBanning.ColumnNames.EndDate)) message = message + "نهائيا ولن تتمكن من الدخول مرة أخرى"; else message = message + "لن تتمكن من دحول هذه الغرفة قبل هذا الوفت: " + Helper.Date.ToDateTimeString(ban.EndDate); return false; } } } //Room Info if (!room.LoadByPrimaryKey(id)) { message = "غرفة غير متاحة"; return false; } if (room.RowStatusID != (int)Helper.Enums.RowStatus.Enabled) { message = "هذه الغرفة مغلقة حاليا"; return false; } if (!isTemp) { if (room.CreatedBy != BLL.Member.CurrentMember.MemberID) { //check member type bot string acceptedType; if (!ValidateMemberLoginTypeBot(id, out acceptedType)) { message = "عفوا هذه الغرفة تقبل الأعضاء من الفئات (" + acceptedType + ") فقط"; return false; } } if (room.IsColumnNull("CreatedBy")) { message = "حدث خطأ. الغرفة غير متاحة الأن"; return false; } RoomMember owner = new RoomMember(); if (!room.IsColumnNull("CreatedBy")) { if (!owner.LoadByPrimaryKey(room.CreatedBy, id)) { message = "حدث خطأ. الغرفة غير متاحة الأن"; return false; } } } return true; }
private void LoadRoomInfo() { Room room = new Room(); room.LoadByPrimaryKey(CurrentRoom); if (!room.IsColumnNull("CreatedDate")) uiLabelCreatedDate_Edit.Text = room.CreatedDate.ToString("dd/MM/yyyy"); uiLabelOwnerName.Text = Member.CurrentMember.Name; uiLabelRoomName.Text = room.Name; if (!room.IsColumnNull("CategoryID")) { uiDropDownListEdit_Category.SelectedValue = room.CategoryID.ToString(); BindSubCatsForEdit(); } if (!room.IsColumnNull("SubCategoryID")) uiDropDownListEditSubCat.SelectedValue = room.SubCategoryID.ToString(); BindAdmins(); if (IsCreated) { uiLabelsuccess.Text = GetLocalResourceObject("Save").ToString(); } else { uiLabelsuccess.Text = GetLocalResourceObject("Edit").ToString(); } }
protected void uiLinkButtonSaveRoom_Click(object sender, EventArgs e) { // check member type // check number of created rooms string querystring = ""; if (Request.IsAuthenticated) { Member member = new Member(); member.GetMemberByUserId(new Guid(Membership.GetUser().ProviderUserKey.ToString())); Room room = new Room(); if (!IsEdit) { // check no room exists with the same name room.Where.Name.Value = uiTextBoxADD_Name.Text; room.Where.Name.Operator = MyGeneration.dOOdads.WhereParameter.Operand.Equal; room.Query.Load(); if (room.RowCount > 0) { ClientScript.RegisterStartupScript(this.GetType(), "error_roomnameexists", "$(document).ready(function (){ notify('error','حدث خطأ. إسم الغرفة موجود من قبل.');}); ", true); return; } // max no of created room = 2 room.Where.WhereClauseReset(); room.Where.CreatedBy.Value = member.MemberID; room.Where.CreatedBy.Operator = MyGeneration.dOOdads.WhereParameter.Operand.Equal; room.Query.Load(); if (room.RowCount >= 2) { ClientScript.RegisterStartupScript(this.GetType(), "error_roomnameexists", "$(document).ready(function (){ notify('error','عفواً ، تم تخطى العدد المسموح للغرف الخاصة بك.');}); ", true); return; } room.AddNew(); room.Name = uiTextBoxADD_Name.Text; querystring = "c=true"; } else { room.LoadByPrimaryKey(CurrentRoom); querystring = "e=true"; } if (!IsEdit) { room.CreatedDate = DateTime.Now; room.CreatedBy = member.MemberID; if (uiDropDownListADD_Category.SelectedIndex != -1) room.CategoryID = Convert.ToInt32(uiDropDownListADD_Category.SelectedValue); if (uiDropDownListADD_SubCategory.SelectedIndex != 0) room.SubCategoryID = Convert.ToInt32(uiDropDownListADD_SubCategory.SelectedValue); } else { if (uiDropDownListEdit_Category.SelectedIndex != -1) room.CategoryID = Convert.ToInt32(uiDropDownListEdit_Category.SelectedValue); if (uiDropDownListEditSubCat.SelectedIndex != 0) room.SubCategoryID = Convert.ToInt32(uiDropDownListEditSubCat.SelectedValue); } if (uiFileUploadRoomPic.HasFile) { string path = "~/" + ConfigurationManager.AppSettings["roomspics"].ToString(); DirectoryInfo dir = new DirectoryInfo(Server.MapPath(path + "/" + Membership.GetUser().ProviderUserKey.ToString())); if (!dir.Exists) dir.Create(); path += "/" + Membership.GetUser().ProviderUserKey.ToString() + "/" + DateTime.Now.ToString("ddMMyyyyhhmmss") + "_" + uiFileUploadRoomPic.FileName; uiFileUploadRoomPic.SaveAs(Server.MapPath(path)); room.IconPath = path; } room.RoomPassword = uiTextBoxPassword.Text; room.RoomAdminPassword = uiTextBoxAdminPass.Text; room.RoomPasswordenabled = uiCheckBoxPasswordEnable.Checked; room.EnableCam = true; room.EnableMic = true; /* room.EnableCam = uiCheckBoxEnableCam.Checked; room.EnableOneMic = uiCheckBoxEnableOneMic.Checked; room.EnableTwoMic = uiCheckBoxEnableTwoMic.Checked; room.EnableThreeMic = uiCheckBoxEnableThreeMic.Checked;*/ room.RowStatusID = 1; room.Save(); // update room count for cats & subcats IHubContext _Rcontext = GlobalHost.ConnectionManager.GetHubContext<ChatRoomHub>(); Room rooms = new Room(); rooms.GetRoomsByCreatorID(Member.CurrentMemberID); _Rcontext.Clients.Group(member.UserName).updateRoomCount(0, 0, rooms.RowCount, true); rooms.GetRoomsByCategoryID(room.CategoryID); _Rcontext.Clients.All.updateRoomCount(room.CategoryID, 0, rooms.RowCount, false); if (!room.IsColumnNull(Room.ColumnNames.SubCategoryID)) { rooms.GetRoomsBySubCategoryID(room.SubCategoryID); _Rcontext.Clients.All.updateRoomCount(0, room.SubCategoryID, rooms.RowCount, false); } /* add room owner */ RoomMember roommember = new RoomMember(); roommember.AddNew(); roommember.RoomID = room.RoomID; roommember.MemberID = room.CreatedBy; roommember.RoomMemberLevelID = (int)Helper.Enums.RoomMemberLevel.Owner; roommember.Save(); uiPanelSuccess.Visible = true; uiTextBoxADD_Name.Text = ""; uiDropDownListADD_Category.SelectedIndex = 0; uiDropDownListADD_SubCategory.SelectedIndex = 0; uiTextBoxPassword.Text = ""; uiTextBoxAdminPass.Text = ""; uiCheckBoxPasswordEnable.Checked = false; // log if (!IsEdit) { BLL.MemberLog log = new BLL.MemberLog(); log.AddNew(BLL.Member.CurrentMemberID, new BLL.Log.CreateRoom() { RoomID = room.RoomID, RoomName = room.Name }, null, room.RoomID); } /* if (AdminsTable.Rows.Count > 0) { RoomMember roommember = new RoomMember(); roommember.GetAllAdminMembersByRoomID(room.RoomID); roommember.DeleteAll(); roommember.Save(); RoomMember toAdd = new RoomMember(); for (int i = 0; i < AdminsTable.Rows.Count; i++) { if (Convert.ToInt32(AdminsTable.Rows[i]["MemberID"].ToString()) == room.CreatedBy) continue; toAdd.AddNew(); toAdd.RoomID = room.RoomID; toAdd.MemberID = Convert.ToInt32(AdminsTable.Rows[i]["MemberID"].ToString()); toAdd.RoomMemberLevelID = Convert.ToInt32(AdminsTable.Rows[i]["AdminTypeID"].ToString()); } toAdd.Save(); } else { RoomMember roommember = new RoomMember(); roommember.AddNew(); roommember.RoomID = room.RoomID; roommember.MemberID = room.CreatedBy; roommember.RoomMemberLevelID = (int)Helper.Enums.RoomMemberLevel.Owner; roommember.Save(); } */ CurrentRoom = room.RoomID; Response.Redirect("createRoom.aspx?IsEdit=true&" +querystring); } }