public InviteGroupRequest MapGroupRequestById(IDataReader record) { if (record.Read()) { InviteGroupRequest request = new InviteGroupRequest(); if (record["Id"] != DBNull.Value) { request.Id = record["Id"].ToString(); } if (record["SenderId"] != DBNull.Value) { request.Sender = record["SenderId"].ToString(); } if (record["ReceiverId"] != DBNull.Value) { request.Receiver = record["ReceiverId"].ToString(); } if (record["GroupId"] != DBNull.Value) { request.GroupId = record["GroupId"].ToString(); } if (record["DateTime"] != DBNull.Value) { request.Datetime = DateTime.Parse(record["DateTime"].ToString()); } return(request); } return(null); }
public ChatResult InviteToGroupRespond(string connectionId, string requestId, bool agree) { if (m_mapConnectionIdCustomer.ContainsKey(connectionId)) { if (m_InviteGroupRequestDict.ContainsKey(requestId)) { InviteGroupRequest request = m_InviteGroupRequestDict[requestId]; GroupInfo group = GetGroupByGroupId(request.GroupId); if (group != null) { bool isInGroup = group.HasCustomer(request.Receiver); if (!isInGroup) { if (agree) { m_customerInfoDict[request.Receiver].JoinGroup(request.GroupId); group.JoinGroup(request.Receiver); m_adapter.JoinGroup(request.Receiver, request.GroupId);//DB } InviteGroupRequest groupRequest; m_InviteGroupRequestDict.TryRemove(requestId, out groupRequest); m_adapter.DeleteGroupRequest(request.Id);//DB return(new ChatResult(true, null)); } return(new ChatResult(false, "Customer is already in group")); } return(new ChatResult(false, "Group not found.")); } return(new ChatResult(false, "Request not found")); } return(new ChatResult(false, "Your ID doens't exist.")); }
public Dictionary <string, InviteGroupRequest> MapGroupRequest(IDataReader record) { Dictionary <string, InviteGroupRequest> requestDict = new Dictionary <string, InviteGroupRequest>(); while (record.Read()) { InviteGroupRequest request = new InviteGroupRequest(); if (record["Id"] != DBNull.Value) { request.Id = record["Id"].ToString(); } if (record["SenderId"] != DBNull.Value) { request.Sender = record["SenderId"].ToString(); } if (record["ReceiverId"] != DBNull.Value) { request.Receiver = record["ReceiverId"].ToString(); } if (record["GroupId"] != DBNull.Value) { request.GroupId = record["GroupId"].ToString(); } if (record["DateTime"] != DBNull.Value) { request.Datetime = DateTime.Parse(record["DateTime"].ToString()); } requestDict.Add(request.Id, request); } return(requestDict); }
public ChatResult <InviteGroupRequest> InviteToGroupRequest(string customerId, string groupId) { ChatResult <InviteGroupRequest> result = Manager.Instance.InviteToGroupRequest(Context.ConnectionId, customerId, groupId); if (result.Success) { InviteGroupRequest request = (InviteGroupRequest)result.Data; CustomerInfo cus = Manager.Instance.GetCustomerByCustomerId(customerId); Clients.Clients(cus.ConnectionList).OnInviteToGroupRequest(new List <InviteGroupRequest>() { request }); } return(result); }
public InviteGroupRequest GetGroupRequestById(string requestId) { if (m_InviteGroupRequestDict.ContainsKey(requestId)) { return(m_InviteGroupRequestDict[requestId]); } else { InviteGroupRequest request = m_adapter.GetGroupRequestById(requestId); if (request != null) { return(request); } } return(null); }
public bool AddGroupRequest(InviteGroupRequest request) { string query = "CHAT.GROUPREQUEST_CREATE"; try { OracleDataHelper helper = OracleHelper; helper.BeginTransaction(); helper.ExecuteNonQuery(query, request.Id, request.Sender, request.Receiver, request.GroupId, request.Datetime); helper.Commit(); } catch (Exception ex) { OracleHelper.Rollback(); throw ex; } return(true); }
public RespondForm(int requestType, object request) { InitializeComponent(); m_requestType = requestType; if (requestType == 0) { m_friendrequest = (AddFriendRequest)request; string sender = m_friendrequest.Sender; lbText.Text = sender + " wants to add you as friend.\n Agree?"; } else if (requestType == 1) { m_grouprequest = (InviteGroupRequest)request; string sender = m_grouprequest.Sender; string groupName = ""; if (m_grouprequest.GroupName != null) { groupName = m_grouprequest.GroupName; } lbText.Text = sender + " wants to add you to group +" + groupName + "+.\n Agree?"; } }
public ChatResult <InviteGroupRequest> InviteToGroupRequest(string connectionId, string newCustomerId, string groupId) { if (m_mapConnectionIdCustomer.ContainsKey(connectionId)) { string myCustomerId = m_mapConnectionIdCustomer[connectionId]; GroupInfo gr = GetGroupByGroupId(groupId);//check group exist or not if (gr != null) { if (!m_groupInfoDict[groupId].HasCustomer(newCustomerId))//check customer in group not not { //check request in cache and add to cache foreach (InviteGroupRequest request in m_InviteGroupRequestDict.Values) { m_InviteGroupRequestDict.TryAdd(request.Id, request); } //checkrequest in DB Dictionary <string, InviteGroupRequest> dict = m_adapter.GetGroupRequest(newCustomerId); foreach (InviteGroupRequest request in dict.Values) { if (request.Receiver.Equals(newCustomerId) && request.GroupId.Equals(groupId)) { return(new ChatResult <InviteGroupRequest>(false, "Request is already sent", null)); } } InviteGroupRequest newrequest = new InviteGroupRequest(Guid.NewGuid().ToString(), myCustomerId, newCustomerId, groupId, DateTime.Now); newrequest.GroupName = gr.GroupName; m_InviteGroupRequestDict.TryAdd(newrequest.Id, newrequest); m_adapter.InviteToGroupRequest(newrequest);//DB return(new ChatResult <InviteGroupRequest>(true, null, newrequest)); } return(new ChatResult <InviteGroupRequest>(false, "Customer is already in group.", null)); } return(new ChatResult <InviteGroupRequest>(false, "Group not found.", null)); } return(new ChatResult <InviteGroupRequest>(false, "Your ID doens't exist.", null)); }
public ChatResult InviteToGroupRespond(string requestId, bool agree) { InviteGroupRequest request = Manager.Instance.GetGroupRequestById(requestId); if (request == null) { return(new ChatResult(false, "Request not found.")); } string groupId = request.GroupId; string senderId = request.Sender; string receiverId = request.Receiver; ChatResult result = Manager.Instance.InviteToGroupRespond(Context.ConnectionId, requestId, agree); if (result.Success) { GroupInfo group = GetGroupByGroupId(groupId); if (group != null) { if (agree) { List <string> memberIdList = group.CustomerList; foreach (string memberId in memberIdList) { CustomerInfo cus = Manager.Instance.GetCustomerByCustomerId(memberId); Clients.Clients(cus.ConnectionList).OnInviteToGroupRespond(receiverId, group, agree); } } else { CustomerInfo cus = Manager.Instance.GetCustomerByCustomerId(senderId); Clients.Clients(cus.ConnectionList).OnInviteToGroupRespond(receiverId, group, agree); } } } return(result); }
private void ExecuteInviteGroupRequest(InviteGroupRequest request) { RespondForm invitegroupForm = new RespondForm(1, request); invitegroupForm.Show(); }
public static bool AddGroupRequest(InviteGroupRequest request) { return(ObjectController.DataProvider.AddGroupRequest(request)); }
public void InviteToGroupRequest(InviteGroupRequest request) { DBManager.Instance.Enqueue(new DBQueueObject(EnqueueType.InviteGroupRequest, request)); }