Appointment Helper

using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Query;

/// <summary>
/// 约会
/// </summary>
public class AppointmentHelper
{
    public static readonly string entityName = "appointment";
    public Guid appointmentId = Guid.Empty;
    public IOrganizationService service;

    /// <summary>
    /// 创建约会
    /// </summary>
    public void Create()
    {
        WhoAmIRequest userRequest = new WhoAmIRequest();
        WhoAmIResponse userResponse = (WhoAmIResponse)service.Execute(userRequest);
        Entity activitypartyEn = new Entity() { LogicalName = "activityparty" };
        activitypartyEn["partyId"] = new EntityReference() { LogicalName = "systemuser", Id = userResponse.UserId };

        Entity en = new Entity() { LogicalName = entityName };
        en["subject"] = "约会测试";
        en["scheduledstart"] = DateTime.Now.AddHours(1);
        en["scheduledend"] = DateTime.Now.AddHours(2);
        en["location"] = "办公室";
        en["requiredattendees"] = new Entity[] { activitypartyEn };
        en["organizer"] = new Entity[] { activitypartyEn };
        appointmentId = service.Create(en);
    }

    /// <summary>
    /// 向现有约会中添加定期信息,以使其成为定期主约会
    /// </summary>
    /// <param name="target">目标信息</param>
    public void AddRecurrence(Entity target)
    {
        AddRecurrenceRequest request = new AddRecurrenceRequest();
        request.AppointmentId = appointmentId;
        request.Target = target;
        AddRecurrenceResponse response = (AddRecurrenceResponse)service.Execute(request);
        Guid id = response.id;
    }

    /// <summary>
    /// 将约会分派给其他用户或团队
    /// </summary>
    /// <param name="assignee">用户或团队引用</param>
    public void Assign(EntityReference assignee)
    {
        AssignRequest request = new AssignRequest();
        request.Target = new EntityReference() { LogicalName = entityName, Id = appointmentId };
        request.Assignee = assignee;
        AssignResponse response = (AssignResponse)service.Execute(request);
    }

    /// <summary>
    /// 安排或预定约会
    /// </summary>
    public void Book()
    {
        BookRequest request = new BookRequest();
        request.Target = new Entity() { LogicalName = entityName, Id = appointmentId };
        BookResponse response = (BookResponse)service.Execute(request);
        ValidationResult validationResult = response.ValidationResult;
    }

    /// <summary>
    /// 重新安排约会
    /// </summary>
    public void Reschedule()
    {
        RescheduleRequest request = new RescheduleRequest();
        request.Target = new Entity() { LogicalName = entityName, Id = appointmentId };
        RescheduleResponse response = (RescheduleResponse)service.Execute(request);
        ValidationResult validationResult = response.ValidationResult;
    }

    /// <summary>         /// 
    /// 删除约会         /// 
    /// </summary>         
    public void Delete() { service.Delete(entityName, appointmentId); }
}

 

posted @ 2018-11-07 10:56  大漠银狐  阅读(191)  评论(0编辑  收藏  举报