コード例 #1
0
ファイル: Reference.cs プロジェクト: ZhouAnPing/Mail
 /// <remarks/>
 public void createAsync(CreateContactRequest createRequest, object userState) {
     if ((this.createOperationCompleted == null)) {
         this.createOperationCompleted = new System.Threading.SendOrPostCallback(this.OncreateOperationCompleted);
     }
     this.InvokeAsync("create", new object[] {
                 createRequest}, this.createOperationCompleted, userState);
 }
コード例 #2
0
ファイル: ContactAction.cs プロジェクト: ZhouAnPing/Mail
        /// <summary>
        /// Create contact
        /// </summary>
        /// <param name="contactDatabaseId">contact database id</param>      
        /// <param name="contactJsonList">contact list</param>
        /// <returns>contact id</returns>
        public String createContact(String contactDatabaseId, ArrayList contactJsonList)
        {
            if (logger.IsDebugEnabled)
            {
                logger.Debug("createContact:createContactcontactDatabaseId=" + contactDatabaseId );
            }
            String result = OK_RESULT;
            ContactDatabaseFieldAction contactDatabaseFieldAction = new ContactDatabaseFieldAction(client, userName, password, (System.Net.WebProxy)contactService.Proxy);
            Hashtable contactFieldTable = contactDatabaseFieldAction.getContactDatabaseFields(contactDatabaseId);
            foreach (String str in contactJsonList)
            {
                int index = 0;
                if (!String.IsNullOrEmpty(str))
                {
                    String[] arrContact = str.Split(',');
                    cn.tripolis.dialogue.contact.CreateContactRequest request = new cn.tripolis.dialogue.contact.CreateContactRequest
                        {
                            contactDatabaseId = contactDatabaseId,
                            contactFields = new cn.tripolis.dialogue.contact.ContactFieldValue[arrContact.Length]
                        };

                    foreach (String strContact in arrContact)
                    {

                        String[] arryFiled = strContact.Split(new[] { "#" }, StringSplitOptions.None);
                        cn.tripolis.dialogue.contact.ContactFieldValue field = new cn.tripolis.dialogue.contact.ContactFieldValue
                            {
                                name = arryFiled[0].ToLower(),
                                value = arryFiled[1]
                            };

                        request.contactFields.SetValue(field, index++);
                        //add contact filed to table
                        if (contactFieldTable != null && !contactFieldTable.ContainsKey(field.name))
                        {
                            contactDatabaseFieldAction.addContactField(contactDatabaseId, field.name, field.value);

                        }
                        
                    }

                    try
                    {
                        cn.tripolis.dialogue.contact.IDResponse response = contactService.create(request);
                        result = response.id;
                        if (logger.IsDebugEnabled)
                        {
                            logger.Debug("new contact id=" + result);
                        }
                    }
                    catch (System.Web.Services.Protocols.SoapException ex)
                    {
                        // if the error is not caused by exist id, continue the loop
                        if (!Util.isCodeExist(ex.Detail) || Util.getExistId(ex.Detail).Equals(""))
                        {
                            result = ex.Detail.InnerXml;
                            if (logger.IsDebugEnabled)
                            {
                                logger.Debug("error happens in create contact, error is" + result);
                            }
                            continue;
                            // throw new Exception(ex.Detail.InnerXml);
                        }
                        result = Util.getExistId(ex.Detail);
                        if (logger.IsDebugEnabled)
                        {
                            logger.Debug("exist contact id=" + result);
                        }
                    }
                   
                   // addContactToGroup(result, contactGroupId);
                }
            }


            return result;
        }
コード例 #3
0
ファイル: Reference.cs プロジェクト: ZhouAnPing/Mail
 /// <remarks/>
 public void createAsync(CreateContactRequest createRequest) {
     this.createAsync(createRequest, null);
 }