0

CRM 2011 で特定のリソースの利用可能なすべてのタイム スロットを検索したいと考えています。現在、CRM 2011 SDK は、正常に動作しているコンソール アプリケーションでサンプルを提供しますが、Silverlight アプリケーションでも同じことを行いたいと考えています。私の Silverlight アプリケーションでは、SearchRequest クラスと SearchReponse クラスが見つかりません。

シルバーライトアプリケーションでこれを行う方法を教えてもらえますか?

4

1 に答える 1

0

最初に AppointmentRequest オブジェクトを準備します

     private void checkButton_Click(object sender, RoutedEventArgs e)
        {           
            AppointmentRequest appReq = new AppointmentRequest
            {
                Objectives = new ObservableCollection<ObjectiveRelation>(),
                RequiredResources = new ObservableCollection<RequiredResource>(),
                AppointmentsToIgnore = new ObservableCollection<AppointmentsToIgnore>(),
                Constraints = new ObservableCollection<ConstraintRelation>(),
                Sites = new ObservableCollection<Guid>(),
        Duration = 60,
        Direction = SearchDirection.Forward,
        NumberOfResults = 5,
        ServiceId = new Guid("DD535FD0-F84B-E111-8F2F-00505688095F"),
        SearchWindowStart = DateTime.UtcNow,
        SearchWindowEnd = DateTime.UtcNow.AddDays(7.0),
        AnchorOffset = 300
    };

    OrganizationRequest req = new OrganizationRequest() { RequestName = "Search" };

    req["AppointmentRequest"] = appReq;

    IOrganizationService service = SilverlightUtility.GetSoapService();

    service.BeginExecute(req, new AsyncCallback(GetAppReqResult), service);
}

Following is the Asynchromus callback function

private void GetAppReqResult(IAsyncResult res)
{
   try
   {
     OrganizationResponse resp = 
                          ((IOrganizationService)res.AsyncState).EndExecute(res);

     SearchResults results = (SearchResults)resp["SearchResults"];

     this.Dispatcher.BeginInvoke(() => ProcessAppointments(results));        

   }
   catch (Exception)
   {
       MessageBox.Show("Error Occurred");
   }
}

結果オブジェクトには、渡された予約リクエスト オブジェクトのすべての可能なタイム スロットが含まれます。これが私のような人々に役立つことを願っています

于 2013-09-23T09:40:27.270 に答える