Bonjour à tous,

Stagiaire dans une petite boite qui n'a rien avoir avec l'informatique, je développe un petit CRM répondant à leurs besoins. Les conditions sont assez bizarres. Je n'ai pas de compte administrateur sur la machine sur laquelle je développe, et il m'est impossible d'y accéder à distance.

Mon stage se termine dans 3 semaines (les vrais tests de l'appli n'ont pas encore commencé... je le regrette vraiment), mais je me pose une question au sujet des VSTO. (ceci : http://morpheus.developpez.com/vsto2/).

Donc voilà, je m'en suis servi pour développer sur la machine, et je crois que je n'ai fait que rêver depuis le début, tellement certains trucs ont été d'une grande simplicité. Le lancement d'une tâche, d'un meeting request dans Outlook était presque trop facile.

Seulement voilà. J'imagine très mal que le code que j'ai produit ait eu les résultats que j'imaginais. En effet, à certains moments, je cliquais sur "créer une tâche", et automatiquement, sur le PC client (qui est aussi le PC serveur, d'où mon problème), la tâche se rajoutait sur outlook.

Donc voici le code que j'ai produit :

Ici, je rajoute une date et une heure, puis je clique sur Ok :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
    $(function () {
        $('.datetime').datetimepicker({
            dateFormat: 'dd.mm.yy'
        });
    });
                            <form action="" method="post" id="myform">
                                <input type="text" class="datetime" name="datetime" id=@datetime value="" />
                                <input type="submit" onclick="meetTel(@item.idContact, @Model.Opportunite.idOpportunite)" value="Rajouter à Outlook" />
                                <img src="../../Content/images/picto_info.png" alt="" title="Choisir une date et une heure. Une tâche sera rajoutée sur le compte outlook connecté sur ce PC"/>
                            </form>
Ceci est la fonction ajax qui post le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<script type="text/javascript">
    function meetTel(idCont, idOpp){
        var dateTimeSelect = ("#datetime" + idCont);
        var dateTime = $(dateTimeSelect).val();
        $.ajax({
            url: '@Url.Action("meetingTel")',
            type: 'POST',
            data: { idCont: idCont, idOpp: idOpp, dateTime: dateTime },
            success: function(result){}
        });
    };
</script>
Et finalement, voici le code du controleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
        <HttpPost()>
        Sub meetingTel(idCont As Integer, idOpp As Integer, dateTime As String)
            Dim OutlookApp As New Outlook.Application
            Dim task As Outlook.TaskItem = Nothing
            task = OutlookApp.CreateItem(Outlook.OlItemType.olTaskItem)
            ' Dim idCont As Integer = Request("idCont")
            'Dim idOpp As Integer = Request("idOpp")
            task.Subject = "Meeting candidat : " + (From a In db.contact Where a.idContact = idCont Select a.nom).FirstOrDefault().ToString() + " : " + (From a In db.contact Where a.idContact = idCont Select a.telephone).FirstOrDefault().ToString()
            Dim StartDate As DateTime = dateTime
            task.StartDate = dateTime
            task.ReminderTime = dateTime
            task.Save()
        End Sub

Sachant qu'il m'est absolument impossible actuellement de tester cela à distance, je me tourne vers vous. Ce code fonctionnera-t'il? Je suis quasiment persuadé que non. Si cette méthode ne fonctionne pas, qu'ai-je comme option pour la remplacer? L'application tourne vraiment autour d'outlook.