有没有办法区分序列约会的单次出现是第一次,中间还是最后一次出现?

时间:2020-08-31 10:12:13

标签: c# outlook outlook-addin

当前,所有约会,单个约会和重复约会都被发送到一个场景,在该场景中,它们将使用“ dateFrom”和“ dateTo”值保存在数据库中。

如果您在Outlook中打开系列的单个约会而不是第一个或最后一个约会,则这些值绝不能更改。 仅当您明确单击第一个或最后一个约会并更改日期或时间时,它们才必须更改。

问题: 一旦我编辑了任何事件,该单个事件的开始和结束日期将作为整个系列约会的开始和结束日期保存在数据库中。

如果有一种方法可以区分发生是开始发生,中间发生还是结束发生,我可以针对每种情况进行解决。

我更新代码的值并将其随后发送到方案的代码如下:

public static IRestResponse PutMeeting(Users users, Users.User user, AppointmentItem appointmentItem, UserProperty roomName, UserProperty roomPassword, UserProperty hostPassword) {

        var client = new RestClient(users.OrchestraURL);
        var req = new RestRequest("Schedule?", Method.POST);

        req.AddOrUpdateParameter("username", user.UserName, ParameterType.QueryString);
        req.AddOrUpdateParameter("password", user.GetPasswordEncrypted(), ParameterType.QueryString);

        if (appointmentItem.IsRecurring) {
            RecurrencePattern pattern = appointmentItem.GetRecurrencePattern();
            req.AddOrUpdateParameter("dateFrom", pattern.PatternStartDate.ToString("yyyyMMdd") + pattern.StartTime.ToString("HHmm"), ParameterType.QueryString);
            req.AddOrUpdateParameter("dateTo", pattern.PatternEndDate.ToString("yyyyMMdd") + pattern.EndTime.ToString("HHmm"), ParameterType.QueryString);
            req.AddOrUpdateParameter("recurringFlag", true, ParameterType.QueryString);
        }
        else {
            req.AddOrUpdateParameter("dateFrom", appointmentItem.Start.ToString("yyyyMMddHHmm"), ParameterType.QueryString);
            req.AddOrUpdateParameter("dateTo", appointmentItem.End.ToString("yyyyMMddHHmm"), ParameterType.QueryString);
            req.AddOrUpdateParameter("recurringFlag", false, ParameterType.QueryString);
        }
        req.AddOrUpdateParameter("spaceName", roomName.Value, ParameterType.QueryString);
        req.AddOrUpdateParameter("deleteFlag", false, ParameterType.QueryString);
        req.AddOrUpdateParameter("wishedPassword", roomPassword.Value, ParameterType.QueryString);
        if (appointmentItem.Subject == null) {
            req.AddParameter("subject", resourceDefaultLanguage.meetingSubject, ParameterType.QueryString);
        }
        else {
            req.AddParameter("subject", appointmentItem.Subject, ParameterType.QueryString);
        }

        req.AddOrUpdateParameter("hostPassword", hostPassword.Value, ParameterType.QueryString);
        req.AddHeader("Content-Type", "application/x-www-form-urlencoded");

        var response = client.Post(req);

        return response;
    }

“ pattern.PatternStartDate.ToString(“ yyyyMMdd”)+ pattern.StartTime.ToString(“ HHmm”)“必须归类,否则将返回废话。

0 个答案:

没有答案