1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| public string AddTache (string destinataire,string dtstart, string dtend, string dtdue, string sujetTache, string descriptionTache)
{
string result = String.Empty;
// Core Task Properties
string cdoTaskStartDate = "{00062003-0000-0000-C000-000000000046}/0x00008104" ;
string cdoTaskDueDate = "{00062003-0000-0000-C000-000000000046}/0x00008105";
string cdoTaskPercentComplete = "{00062003-0000-0000-C000-000000000046}/0x00008102";
string cdoTaskComplete = "{00062003-0000-0000-C000-000000000046}/0x0000811c";
string cdoTaskDateCompleted = "{00062003-0000-0000-C000-000000000046}/0x0000810f";
string cdoTaskStatus = "{00062003-0000-0000-C000-000000000046}/0x00008101";
string cdoTaskState = "{00062003-0000-0000-C000-000000000046}/0x00008113";
string cdoTaskActualEffort = "{00062003-0000-0000-C000-000000000046}/0x00008110";
string cdoTaskEstimatedEffort = "{00062003-0000-0000-C000-000000000046}/0x00008111";
string cdoTaskMode = "{00062003-0000-0000-C000-000000000046}/0x00008518";
//Common Props
string cdoBillingInformation = "{00062008-0000-0000-C000-000000000046}/0x00008535";
string cdoCompanies ="{00062008-0000-0000-C000-000000000046}/0x00008539";
string cdoMileage = "{00062008-0000-0000-C000-000000000046}/0x00008534";
// Reminder Props
string cdoReminderDelta = "{00062008-0000-0000-C000-000000000046}/0x00008501";
string cdoReminderNextTime = "{00062008-0000-0000-C000-000000000046}/0x00008560";
string cdoReminderTime = "{00062008-0000-0000-C000-000000000046}/0x00008502";
string cdoReminderSet = "{00062008-0000-0000-C000-000000000046}/0x00008502";
string sURL = string.Empty;
try
{
sURL = ConfigurationSettings.AppSettings["serveur"] + destinataire + "/t%C3%A2ches/" + Guid.NewGuid().ToString() + sujetTache +".eml";
ADODB.Connection oCn = new ADODB.Connection();
ADODB.Record oRc = new ADODB.Record();
ADODB.Fields oFields;
oCn.Provider = "exoledb.datasource";
oCn.Open(sURL, "", "", 0);
if(oCn.State == 1)
{
result = result + "Connection Successful";
}
else
{
result = result + "Connection Unsuccessful";
return result;
}
oRc.Open(sURL, oCn,
ADODB.ConnectModeEnum.adModeReadWrite,
ADODB.RecordCreateOptionsEnum.adCreateOverwrite,
ADODB.RecordOpenOptionsEnum.adOpenSource,
"",
""
);
oFields = oRc.Fields;
oFields["DAV:contentclass"].Value = "urn:content-classes:task";
oFields["http://schemas.microsoft.com/exchange/outlookmessageclass"].Value = "IPM.Task";
oFields["urn:schemas:httpmail:subject"].Value = sujetTache;
oFields["urn:schemas:httpmail:htmldescription"].Value = "MACH 4 CRM : " + descriptionTache + "<br/><a href='" + ConfigurationSettings.AppSettings["MACH4CRM_path"] + "'>"+ sURL + "</a><br/>Outlook Web Access :<a href='"+sURL+"?cmd=open' >" + sujetTache + "</a>";
oFields["urn:schemas:httpmail:textdescription"].Value = descriptionTache;
oFields[cdoTaskStartDate].Value = DateTime.Parse(dtstart);
oFields[cdoTaskDueDate].Value = DateTime.Parse(dtdue);
oFields[cdoTaskActualEffort].Value = 36000; // Minutes. This prop is really funky.
oFields[cdoTaskEstimatedEffort].Value = 72000; // Minutes This prop is also funky.
oFields[cdoReminderSet].Value = true;
oFields[cdoReminderDelta].Value = 1500; // 15 minutes.
oFields[cdoReminderNextTime].Value = DateTime.Parse(dtend);
//oFields.Update();
//oFields["urn:schemas-microsoft-comfficeffice#Keywords"].Value = Array("Mango", "Kiwi");
oFields[cdoBillingInformation].Value = "MACH4";
//oFields[cdoCompanies].Value = {"MACH4"};
//oFields[cdoMileage].Value = "120";
//oFields.Append(cdoTaskStatus,ADODB.DataTypeEnum.adInteger,0 ,0 , 0);
//oFields.Append(cdoTaskPercentComplete, ADODB.DataTypeEnum.adDouble,0 ,0 , "0.0");
oFields.Update();
oRc.Close();
oRc = null;
oFields = null;
oCn.Close();
oCn = null;
}
catch (Exception e)
{
return sURL + e.Message.ToString() + "<br/>" + e.Source.ToString() + e.HelpLink +e.InnerException;
}
return result;
} |
Partager