//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (http://www.swig.org).
// Version 3.0.5
//
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------

namespace DocxFactory {

using System;

public class WordProcessingMerger {
  public static void Load(string p_fileName) {
    WordProcessingMergerPINVOKE.Load(p_fileName);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void Save(string p_fileName) {
    WordProcessingMergerPINVOKE.Save(p_fileName);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void Print(string p_printerName, ushort p_copyCnt) {
    WordProcessingMergerPINVOKE.Print(p_printerName, p_copyCnt);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void Close() {
    WordProcessingMergerPINVOKE.Close();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void Merge(string p_data) {
    WordProcessingMergerPINVOKE.Merge(p_data);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetChartValue(string p_itemName, string p_fieldName, string p_series, string p_category, double p_value) {
    WordProcessingMergerPINVOKE.SetChartValue__SWIG_0(p_itemName, p_fieldName, p_series, p_category, p_value);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetChartValue(string p_itemName, string p_fieldName, string p_series, double p_category, double p_value) {
    WordProcessingMergerPINVOKE.SetChartValue__SWIG_1(p_itemName, p_fieldName, p_series, p_category, p_value);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetChartValue(string p_itemName, string p_fieldName, double p_series, double p_category, double p_value) {
    WordProcessingMergerPINVOKE.SetChartValue__SWIG_2(p_itemName, p_fieldName, p_series, p_category, p_value);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetClipboardValue(string p_itemName, string p_fieldName, string p_value) {
    WordProcessingMergerPINVOKE.SetClipboardValue__SWIG_0(p_itemName, p_fieldName, p_value);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetClipboardValue(string p_itemName, string p_fieldName, double p_value) {
    WordProcessingMergerPINVOKE.SetClipboardValue__SWIG_1(p_itemName, p_fieldName, p_value);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void Paste(string p_itemName) {
    WordProcessingMergerPINVOKE.Paste(p_itemName);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetUpdateTocMethod(byte p_method) {
    WordProcessingMergerPINVOKE.SetUpdateTocMethod(p_method);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static byte GetUpdateTocMethod() {
    byte ret = WordProcessingMergerPINVOKE.GetUpdateTocMethod();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetFields() {
    string ret = WordProcessingMergerPINVOKE.GetFields();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetItems() {
    string ret = WordProcessingMergerPINVOKE.GetItems();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetItemParent(string p_itemName) {
    string ret = WordProcessingMergerPINVOKE.GetItemParent(p_itemName);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetItemFields(string p_itemName) {
    string ret = WordProcessingMergerPINVOKE.GetItemFields(p_itemName);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void SetCodePage(string p_codePage) {
    WordProcessingMergerPINVOKE.SetCodePage(p_codePage);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetNumFracSep(char p_frac) {
    WordProcessingMergerPINVOKE.SetNumFracSep(p_frac);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetNumThSep(char p_th) {
    WordProcessingMergerPINVOKE.SetNumThSep(p_th);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetDateFormat(string p_format) {
    WordProcessingMergerPINVOKE.SetDateFormat(p_format);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetYearOffset(ushort p_year) {
    WordProcessingMergerPINVOKE.SetYearOffset(p_year);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetFirstWeekDay(ushort p_weekday) {
    WordProcessingMergerPINVOKE.SetFirstWeekDay(p_weekday);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetWeekDayNames() {
    WordProcessingMergerPINVOKE.SetWeekDayNames__SWIG_0();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetWeekDayNames(string p_weekDay1, string p_weekDay2, string p_weekDay3, string p_weekDay4, string p_weekDay5, string p_weekDay6, string p_weekDay7) {
    WordProcessingMergerPINVOKE.SetWeekDayNames__SWIG_1(p_weekDay1, p_weekDay2, p_weekDay3, p_weekDay4, p_weekDay5, p_weekDay6, p_weekDay7);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetWeekDayNames(string p_fullName1, string p_fullName2, string p_fullName3, string p_fullName4, string p_fullName5, string p_fullName6, string p_fullName7, string p_shortName1, string p_shortName2, string p_shortName3, string p_shortName4, string p_shortName5, string p_shortName6, string p_shortName7) {
    WordProcessingMergerPINVOKE.SetWeekDayNames__SWIG_2(p_fullName1, p_fullName2, p_fullName3, p_fullName4, p_fullName5, p_fullName6, p_fullName7, p_shortName1, p_shortName2, p_shortName3, p_shortName4, p_shortName5, p_shortName6, p_shortName7);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetMonthNames() {
    WordProcessingMergerPINVOKE.SetMonthNames__SWIG_0();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetMonthNames(string p_month1, string p_month2, string p_month3, string p_month4, string p_month5, string p_month6, string p_month7, string p_month8, string p_month9, string p_month10, string p_month11, string p_month12) {
    WordProcessingMergerPINVOKE.SetMonthNames__SWIG_1(p_month1, p_month2, p_month3, p_month4, p_month5, p_month6, p_month7, p_month8, p_month9, p_month10, p_month11, p_month12);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetMonthNames(string p_fullName1, string p_fullName2, string p_fullName3, string p_fullName4, string p_fullName5, string p_fullName6, string p_fullName7, string p_fullName8, string p_fullName9, string p_fullName10, string p_fullName11, string p_fullName12, string p_shortName1, string p_shortName2, string p_shortName3, string p_shortName4, string p_shortName5, string p_shortName6, string p_shortName7, string p_shortName8, string p_shortName9, string p_shortName10, string p_shortName11, string p_shortName12) {
    WordProcessingMergerPINVOKE.SetMonthNames__SWIG_2(p_fullName1, p_fullName2, p_fullName3, p_fullName4, p_fullName5, p_fullName6, p_fullName7, p_fullName8, p_fullName9, p_fullName10, p_fullName11, p_fullName12, p_shortName1, p_shortName2, p_shortName3, p_shortName4, p_shortName5, p_shortName6, p_shortName7, p_shortName8, p_shortName9, p_shortName10, p_shortName11, p_shortName12);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static string GetCodePage() {
    string ret = WordProcessingMergerPINVOKE.GetCodePage();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static char GetNumFracSep() {
    char ret = WordProcessingMergerPINVOKE.GetNumFracSep();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static char GetNumThSep() {
    char ret = WordProcessingMergerPINVOKE.GetNumThSep();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetDateFormat() {
    string ret = WordProcessingMergerPINVOKE.GetDateFormat();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static ushort GetYearOffset() {
    ushort ret = WordProcessingMergerPINVOKE.GetYearOffset();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static ushort GetFirstWeekDay() {
    ushort ret = WordProcessingMergerPINVOKE.GetFirstWeekDay();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetWeekDayFullNames() {
    string ret = WordProcessingMergerPINVOKE.GetWeekDayFullNames();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetWeekDayShortNames() {
    string ret = WordProcessingMergerPINVOKE.GetWeekDayShortNames();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetMonthFullNames() {
    string ret = WordProcessingMergerPINVOKE.GetMonthFullNames();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetMonthShortNames() {
    string ret = WordProcessingMergerPINVOKE.GetMonthShortNames();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void SetTempDir(string p_dir) {
    WordProcessingMergerPINVOKE.SetTempDir(p_dir);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static string GetTempDir() {
    string ret = WordProcessingMergerPINVOKE.GetTempDir();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string GetWorkDir() {
    string ret = WordProcessingMergerPINVOKE.GetWorkDir();
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }


  static private readonly DateTime _epoch;
  static WordProcessingMerger()
  {
    _epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0);
  }

  private static double ConvertToUnixTime(DateTime date)
  {
    return (date - _epoch).TotalSeconds;
  }

  public static void SetClipboardValue(string p_itemName, string p_fieldName, DateTime p_value) {
    WordProcessingMergerPINVOKE.SetClipboardValue__SWIG_1(p_itemName, p_fieldName, ConvertToUnixTime(p_value));
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void SetChartValue(string p_itemName, string p_fieldName, string p_series, DateTime p_category, double p_value) {
    WordProcessingMergerPINVOKE.SetChartValue__SWIG_1(p_itemName, p_fieldName, p_series, ConvertToUnixTime(p_category), p_value);
    if (WordProcessingMergerPINVOKE.SWIGPendingException.Pending) throw WordProcessingMergerPINVOKE.SWIGPendingException.Retrieve();
  }

}

}
