public JsonResult MakeACall(string callee_user_id) { var callee = UserManager.FindById(callee_user_id); string[] parts = new string[] { UserName, callee.UserName }; string token = Guid.NewGuid().ToString(); var room = new WebRTCRoom { Id = token, Token = token, Name = "Single-Call-Room", SharedWith = "public", Status = "available", LastUpdated = DateTime.Now, OwnerName = UserName, OwnerToken = UserId, ParticipantName = callee.UserName, ParticipantToken = callee.Id, Participants = string.Join(",", parts), }; _roomRepository.Save(room); return(Json(room, JsonRequestBehavior.AllowGet)); }
public JsonResult MakeACall(string callee_user_id) { Users callee = entities.Users.FirstOrDefault(t => t.Id == callee_user_id); string[] parts = new string[] { WebRTCLib.Utils.Helper.CurrentUser.User.UserName, callee.UserName }; string token = Guid.NewGuid().ToString(); WebRTCRoom room = new WebRTCRoom() { ID = token, Token = token, Name = "Single-Call-Room", SharedWith = "public", Status = "available", LastUpdated = DateTime.Now, OwnerName = WebRTCLib.Utils.Helper.CurrentUser.User.UserName, OwnerToken = WebRTCLib.Utils.Helper.CurrentUser.User.Id, ParticipantName = callee.UserName, ParticipantToken = callee.Id, CreateOn = DateTime.Now, CreateOnStr = DateTime.Now.ToString("yyyy-MM-dd"), Participants = String.Join(",", parts), }; entities.WebRTCRoom.Add(room); entities.SaveChanges(); return(Json(room, JsonRequestBehavior.AllowGet)); }
public JsonResult Ignore(string id) { WebRTCRoom room = entities.WebRTCRoom.FirstOrDefault(t => t.ID == id); room.Status = "Ignore"; entities.Entry(room).CurrentValues.SetValues(room); entities.SaveChanges(); return(Json(true, JsonRequestBehavior.AllowGet)); }
public JsonResult GetParticipant() { string roomname = Request["roomname"]; WebRTCRoom room = entities.WebRTCRoom.FirstOrDefault(t => t.ID == roomname); if (room.Status != "active") { return(Json(false, JsonRequestBehavior.AllowGet)); } else { Users userPart = entities.Users.FirstOrDefault(t => t.Id == room.ParticipantToken); return(Json(new { participant = userPart.UserName, partPhoto = userPart.Photo }, JsonRequestBehavior.AllowGet)); } }
public JsonResult CallGroupOrTeam(string id, string type) { var users = _userRepository.GetAssignUsers(type, id); if (users.Any()) { string[] parts = new string[users.Count + 1]; parts[0] = UserName; for (int i = 1; i <= users.Count; i++) { parts[i] = users[i - 1].UserName; } string token = Guid.NewGuid().ToString(); var rooms = new List <WebRTCRoom>(); foreach (var callee in users) { var item = new WebRTCRoom { Token = token, Name = "Multi-Call-Room", SharedWith = "public", Status = "available", LastUpdated = DateTime.Now, OwnerName = UserName, OwnerToken = UserId, ParticipantName = callee.UserName, ParticipantToken = callee.Id, Participants = string.Join(",", parts), }; rooms.Add(item); } _roomRepository.AddMany(rooms); return(Json(new { Successful = true, roomtoken = token }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Successful = false, Message = "Haven't found any user, Please invite user first." })); } }
/// <summary> /// WebRTC/Room /// </summary> /// <param name="id">Room ID</param> /// <returns></returns> public ActionResult Room(string id) { WebRTCRoom room = entities.WebRTCRoom.FirstOrDefault(t => t.ID == id); List <WebRTCRoom> rooms = new List <WebRTCRoom>(); rooms.Add(room); ViewBag.Rooms = rooms; ViewBag.RoomToken = id; if (room.ParticipantToken == WebRTCLib.Utils.Helper.CurrentUser.User.Id) { room.Status = "active"; entities.Entry(room).CurrentValues.SetValues(room); entities.SaveChanges(); } return(View("~/Views/WebRTC/MultiCallRoom.cshtml")); }
public JsonResult MakeMMCall(string callee_user_id_list) { string[] callee_id_list = callee_user_id_list.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); var callee_list = _userRepository.GetAllUsers(callee_id_list).ToList(); string[] parts = new string[callee_list.Count + 1]; parts[0] = UserName; for (int i = 1; i <= callee_list.Count; i++) { parts[i] = callee_list[i - 1].UserName; } string token = Guid.NewGuid().ToString(); var rooms = new List <WebRTCRoom>(); foreach (var callee in callee_list) { var item = new WebRTCRoom { Token = token, Name = "MM-Call-Room", SharedWith = "public", Status = "available", LastUpdated = DateTime.Now, OwnerName = UserName, OwnerToken = UserId, ParticipantName = callee.UserName, ParticipantToken = callee.Id, Participants = string.Join(",", parts), }; rooms.Add(item); } _roomRepository.AddMany(rooms); return(Json(new { roomtoken = token }, JsonRequestBehavior.AllowGet)); }
public JsonResult MakeMMCall(string callee_user_id_list) { string[] callee_id_list = callee_user_id_list.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); List <Users> callee_list = entities.Users.Where(t => callee_id_list.Contains(t.Id)).ToList <Users>(); string[] parts = new string[callee_list.Count + 1]; parts[0] = WebRTCLib.Utils.Helper.CurrentUser.User.UserName; for (int i = 1; i <= callee_list.Count; i++) { parts[i] = callee_list[i - 1].UserName; } string token = Guid.NewGuid().ToString(); foreach (Users callee in callee_list) { WebRTCRoom room = new WebRTCRoom() { ID = Guid.NewGuid().ToString(), Token = token, Name = "MM-Call-Room", SharedWith = "public", Status = "available", LastUpdated = DateTime.Now, OwnerName = WebRTCLib.Utils.Helper.CurrentUser.User.UserName, OwnerToken = WebRTCLib.Utils.Helper.CurrentUser.User.Id, ParticipantName = callee.UserName, ParticipantToken = callee.Id, CreateOn = DateTime.Now, CreateOnStr = DateTime.Now.ToString("yyyy-MM-dd"), Participants = String.Join(",", parts), }; entities.WebRTCRoom.Add(room); } entities.SaveChanges(); return(Json(new { roomtoken = token }, JsonRequestBehavior.AllowGet)); }
public JsonResult CallGroupOrTeam(string id, string type) { List <Users> users = new List <Users>(); if (type == "group") { var entrys = from assignGroup in entities.UserAssignGroup join user in entities.Users on assignGroup.UserID equals user.Id where assignGroup.GroupID == id select new { UserName = user.UserName, Id = user.Id }; foreach (var entry in entrys) { users.Add(new Users() { UserName = entry.UserName, Id = entry.Id }); } } else if (type == "team") { var entrys = from assignTeam in entities.UserAssignTeam join user in entities.Users on assignTeam.UserID equals user.Id where assignTeam.TeamID == id select new { UserName = user.UserName, Id = user.Id }; foreach (var entry in entrys) { users.Add(new Users() { UserName = entry.UserName, Id = entry.Id }); } } if (users.Count > 0) { string[] parts = new string[users.Count + 1]; parts[0] = WebRTCLib.Utils.Helper.CurrentUser.User.UserName; for (int i = 1; i <= users.Count; i++) { parts[i] = users[i - 1].UserName; } string token = Guid.NewGuid().ToString(); foreach (Users callee in users) { WebRTCRoom room = new WebRTCRoom() { ID = Guid.NewGuid().ToString(), Token = token, Name = "Multi-Call-Room", SharedWith = "public", Status = "available", LastUpdated = DateTime.Now, OwnerName = WebRTCLib.Utils.Helper.CurrentUser.User.UserName, OwnerToken = WebRTCLib.Utils.Helper.CurrentUser.User.Id, ParticipantName = callee.UserName, ParticipantToken = callee.Id, CreateOn = DateTime.Now, CreateOnStr = DateTime.Now.ToString("yyyy-MM-dd"), Participants = String.Join(",", parts), }; entities.WebRTCRoom.Add(room); } entities.SaveChanges(); return(Json(new { Successful = true, roomtoken = token }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Successful = false, Message = "Haven't found any user, Please invite user first." })); } }