BizTalk C# Functoid 生成动态日期

BizTalk C# Functoid Generate dynamic Dates

我遇到了一个小挑战,我可能需要一些关于如何使这成为可能的输入。

在我的解决方案中,我总是会收到一条特定的消息来触发它。 我想要做的是始终生成一个 StartDate 和一个 EndDate,但是一个 functoid 调用每个方法。

所以,例如,如果文件是在 2016-12-20 收到的 节点名称 EndDate 获取值(“2016-12-20 23:59:59.999999”),然后 StartDate 获取 2016-12-14 00:00:00.000000。 这是倒退一周。

两个不同的 functoid,所以每个都有一个方法,我们正在使用服务器时间,所以我们没有收到任何日期等。 感觉我需要做这样的事情

    public string FormatDate(string outputFormat)
        {
            System.DateTime date;
            if (System.DateTime.TryParseExact(               System.Globalization.CultureInfo.InvariantCulture,
                System.Globalization.DateTimeStyles.AssumeLocal, out date))
            {
                return date.ToString(outputFormat);
            }
            return "";
        }

但是我无法理解这个

由于您从系统时间生成日期,因此您不必尝试解析任何内容。您可以只计算静态 DateTime.Today 属性 的值,其中包含当地时间午夜的今天日期。

Functoid 1:

DateTime startDate = DateTime.Today.AddDays(-6);

public string GetStartDate(string outputFormat)
{
    return startDate.ToString(outputFormat);
}

Functoid 2:

public string GetEndDate(string outputFormat)
{
    return startDate.AddDays(7).AddTicks(-1).ToString(outputFormat);
}

通过在两个函数中使用相同的 startDate 变量,您可以确保它不会在极不可能的情况下跳过一天,代码恰好在午夜运行。