예제 #1
0
 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;
 }
예제 #2
0
 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?";
     }
 }
예제 #3
0
 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;
 }
예제 #4
0
 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;
 }
예제 #5
0
 private void ExecuteInviteGroupRequest(InviteGroupRequest request)
 {
     RespondForm invitegroupForm = new RespondForm(1, request);
     invitegroupForm.Show();
 }
예제 #6
0
        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);
        }
예제 #7
0
 public static bool AddGroupRequest(InviteGroupRequest request)
 {
     return ObjectController.DataProvider.AddGroupRequest(request);
 }