IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

creation de tache outlook


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 312
    Par défaut creation de tache outlook
    Bonjour, j'ai créé un Webservice me permettant d'interagir avec une base Exchange via CDO, hors si mon webservice un fois renseigné m'écris bien dans le bon calendrier, je m'aperçois que le format qu'il vient d'envoyer n'est pas le bon et que le fichier n'est donc pas pris correctement.
    Je ne connais pas exactement le format de donnée utilisé pour les taches, j'ai fait la même pour des rendez vous qui marche a peu près correctement, mais les taches restent un mystère.
    quelqu'un pourrait il m'aguiller sur le manière donc je devrai ou encore me renseigner sur le schema dav exact d'une tache (outlook task), le site de la msdn est pour le moins évasif a ce sujet.

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;
    		}

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 312
    Par défaut
    Personne ne peut il m'aider ?

Discussions similaires

  1. Créer une tache Outlook
    Par devdev dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/06/2012, 00h37
  2. Réponses: 3
    Dernier message: 08/06/2009, 11h36
  3. creation de taches succesive avec vs
    Par samworkflow dans le forum SharePoint
    Réponses: 4
    Dernier message: 20/05/2009, 19h08
  4. workflow et creation de tache
    Par loik dans le forum SharePoint
    Réponses: 3
    Dernier message: 16/03/2008, 20h43
  5. Automatisation tâches Outlook
    Par Nicomart dans le forum VBA Outlook
    Réponses: 21
    Dernier message: 06/08/2007, 08h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo