//
// This code is part of Document Solutions for Word demos.
// Copyright (c) MESCIUS inc. All rights reserved.
//
using System;
using System.IO;
using System.Drawing;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Linq;
using System.Globalization;
using GrapeCity.Documents.Word;
namespace DsWordWeb.Demos
{
// This data template sample generates a sample vacation itinerary.
public class VacationItinerary
{
public GcWordDocument CreateDocx(int _ = 0)
{
// Sample data for the itinerary template:
var data = new[]
{
new {
clientName = "Mark Louis",
clientPhoneNumber = "876-123-7546",
ItineraryStartDate = "01/12/2019",
ItineraryEndDate = "15/12/2019",
flightDetails = new {
arrivalDate = "01/12/2019",
arrivalAirlineName = "British Airways",
arrivalTime = "08:00 AM",
arrivalTerminal = "T1",
departureDate = "15/12/2019",
departureAirlineName = "British Airways",
departureArrivalTime = "10:00 PM",
departureArrivalTerminal = "T2"
},
hotelDetails = new {
checkinTime = "12:00 PM",
hotelName = "Awasi Patagonia",
hotelAddress = "12/13, Block Street",
hotelInclusion = "Cab Service",
checkOutTime = "11:00 AM"
},
activities = new [] {
new { activityDate ="03/12/2019", activityDestination = "Jungle", activity = "Jungle Safari", remarks = "Make sure to carry woolens"},
new { activityDate = "07/12/2019", activityDestination = "Spa Room", activity = "Spa Session", remarks = "Morning would be the best time"},
new { activityDate = "11/12/2019", activityDestination = "Gym Area", activity = "Yoga Session", remarks = "Wear a comfortable attire"}
}
}
};
// Load the template DOCX, add the data source and process the template:
var doc = new GcWordDocument();
doc.Load(Path.Combine("Resources", "WordDocs", "Vacation_Itinerary_Template.docx"));
doc.DataTemplate.DataSources.Add("ds", data);
doc.DataTemplate.Process(CultureInfo.GetCultureInfo("en-US"));
// Done:
return doc;
}
public static List<string[]> GetSampleParamsList()
{
return new List<string[]>()
{
new string[] { "@data-templates/Vacation Itinerary", "Generate a vacation itinerary from template", null },
new string[] { "@use-data-tpl/Vacation Itinerary", "Generate a vacation itinerary from template", null },
};
}
}
}