package com.aspose.email.examples.outlook.msg;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import com.aspose.email.MapiMessage;
import com.aspose.email.MapiSensitivity;
import com.aspose.email.MapiTask;
import com.aspose.email.MapiTaskHistory;
import com.aspose.email.MapiTaskOwnership;
import com.aspose.email.MapiTaskStatus;
import com.aspose.email.TaskSaveFormat;
import com.aspose.email.examples.Utils;
import com.aspose.email.system.exceptions.IOException;
public class OutlookTasks {
public static void main(String[] args) throws java.io.IOException {
// The path to the resource directory.
String dataDir = Utils.getSharedDataDir(OutlookTasks.class) + "outlook/";
//Creating and Saving a MapiTask
createAndSaveMapiTask(dataDir);
//Reading a MapiTask
readingAMapiTask(dataDir);
//Reading a VToDo Task
readingAVToDoTask(dataDir);
//Adding Reminder Information to a MapiTask
addReminderInformationToAMapiTask(dataDir);
//Adding Attachment to a MapiTask
addingAttachmentToAMapiTask(dataDir);
}
public static void createAndSaveMapiTask(String dataDir) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
calendar.set(2016, Calendar.NOVEMBER, 1, 0, 0, 0);
Date startDate = calendar.getTime();
calendar.set(2016, Calendar.DECEMBER, 1);
Date endDate = calendar.getTime();
MapiTask task = new MapiTask("To Do", "Just click and type to add new task", startDate, endDate);
task.setPercentComplete(20);
task.setEstimatedEffort(2000);
task.setActualEffort(20);
task.setHistory(MapiTaskHistory.Assigned);
task.getUsers().setOwner("Darius");
task.getUsers().setLastAssigner("Harkness");
task.getUsers().setLastDelegate("Harkness");
task.getUsers().setOwnership(MapiTaskOwnership.AssignersCopy);
String[] companies = { "company1", "company2", "company3" };
task.setCompanies(companies);
String[] categories = { "category1", "category2", "category3" };
task.setCategories(categories);
task.setMileage("Some test mileage");
task.setBilling("Test billing information");
task.getUsers().setDelegator("Test Delegator");
task.setSensitivity(MapiSensitivity.Personal);
task.setStatus(MapiTaskStatus.Complete);
task.save(dataDir + "MapiTask_out.msg", TaskSaveFormat.Msg);
}
public static void readingAMapiTask(String dataDir) {
MapiMessage msg = MapiMessage.fromFile(dataDir + "MapiTask_out.msg");
MapiTask task2 = (MapiTask) msg.toMapiMessageItem();
}
public static void readingAVToDoTask(String dataDir) {
MapiTask task = MapiTask.fromVTodo(dataDir + "sample.ics");
task.save(dataDir + "Test_out.msg", TaskSaveFormat.Msg);
}
public static void addReminderInformationToAMapiTask(String dataDir) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
calendar.set(2012, Calendar.NOVEMBER, 1, 0, 0, 0);
Date date = calendar.getTime();
MapiTask testTask = new MapiTask("task with reminder", "this is a body", date, date);
testTask.setReminderSet(true);
testTask.setReminderTime(date);
testTask.setReminderFileParameter(dataDir + "Alarm01.wav");
testTask.save(dataDir + "OutputTask_out.msg", TaskSaveFormat.Msg);
}
public static void addingAttachmentToAMapiTask(String dataDir) throws java.io.IOException {
MapiTask task = new MapiTask("To Do", "Just click and type to add new tasks", new Date(), new Date());
Path p = FileSystems.getDefault().getPath("", dataDir + "Attach.txt");
try
{
task.getAttachments().add(dataDir + "TestAtt.txt", Files.readAllBytes(p));
}
catch (IOException e)
{
e.printStackTrace();
}
task.save(dataDir + "MapiTask_out.msg", TaskSaveFormat.Msg);
}
}