在asp.net中的一步調用

來源:互聯網
上載者:User

   ///
        /// </summary>
        /// <param name="objType"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        AsyncCallback callback = new AsyncCallback(ProcessContact);//這是。netFrameWork提供的class,AsyncCallback是一個委託
         UserBCard userBCard = new UserBCard() { UserId = Cfsns.Bll.User.CurrentUserId, NetAccessType = type };
          iContact.BeginGetContact(callback, userBCard);//
                    

        static void ProcessContact(IAsyncResult ar)
        {
            UserBCard userBCard = (UserBCard)ar.AsyncState;
            AsyncResult aResult = (AsyncResult)ar;
            Cfsns.NetAccess.Model.ServiceBase.GetContactorListDelegate temp = (Cfsns.NetAccess.Model.ServiceBase.GetContactorListDelegate)aResult.AsyncDelegate;
            List<IUserInfo> list = temp.EndInvoke(aResult);//
            using (var conn = Cfsns.Common.Sql.Operate.Sns)
            {
                OperateSqlAnswer answer = Cfsns.Applications.Connection.Bll.BCard.SelectImportFromBind(userBCard.NetAccessType, userBCard.UserId, conn);
                DataTable dt1 = answer.DataSource.ToSourceTable();
                IEnumerable<IUserInfo> list2 = list.Where(model => (dt1.Select("BindUID='" + model.Uid + "'").Length == 0));

                List<Cfsns.Common.Tools.Model.IModelBase> toSave = new List<Cfsns.Common.Tools.Model.IModelBase>();
                foreach (IUserInfo iUserInfo in list2)
                {
                    //編輯json位置
                    string userInfoJson = "{\"Name\":{\"LastName\":\"" + iUserInfo.RealName.ToEmptyString(string.Empty) + "\",\"FirstName\":\"\",\"AdditionalNames\":\"\"},\"NickName\":\"" + iUserInfo.NickName + "\",\"NoteText\":\"\",\"Organization\":\"" + iUserInfo.Organization.ToEmptyString(string.Empty) + "\"," +
                             "\"PhoneNumbers\":[{\"Number\":\"" + iUserInfo.Phone.ToEmptyString(string.Empty) + "\",\"NumberType\":8},{\"Number\":\"" + iUserInfo.Phone.ToEmptyString(string.Empty) + "\",\"NumberType\":32},{\"Number\":\"" + iUserInfo.Phone.ToEmptyString(string.Empty) + "\",\"NumberType\":64}],\"Photo\":\"" + iUserInfo.Logo.ToEmptyString(Cfsns.PagePath.Images.IUserDefaultLogo) + "\",\"Title\":\"" + iUserInfo.Title.ToEmptyString(string.Empty) + "\"," +
                             "\"WorkURL\":[{\"WebSite\":\"" + iUserInfo.WebSite.ToEmptyString(string.Empty) + "\",\"WebSiteType\":32}],\"EmailAddresses\":[{\"Email\":\"" + iUserInfo.Email.ToEmptyString(string.Empty) + "\",\"EmailType\":64}],\"BirthDate\":\"" + iUserInfo.BirthDay.ToEmptyString(string.Empty) + "\"," +
                             "\"Address\":[{\"AddressType\":64,\"Address\":\"" + iUserInfo.Address.ToEmptyString(string.Empty) + "\"}],\"Specialities\":\"\"}";
                    Model.BCard iBcard = new Model.BCard();
                    iBcard.CreatorId = userBCard.UserId;
                    iBcard.BindType = userBCard.NetAccessType;
                    iBcard.JsonContent = userInfoJson;
                    iBcard.BindUID = iUserInfo.Uid;
                    toSave.Add(iBcard);
                }
                OperateSqlAnswer answerBCard = Cfsns.Common.Sql.Operate.Save(toSave, conn);
                if (answer.ErrMessage.ErrorFlag)
                {
                    Cfsns.Bll.SiteLog.LogIt(answer.ErrMessage, 1);
                }
            }

        }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.