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

ASP.NET Discussion :

Créer une tâche planifié


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut Créer une tâche planifié
    Bonjour !!!

    J'ai un site en asp.
    Je voudrais savoir comment créer un service ou une tache planifié qui utilise la base de donnée et certaine des fonctions de ce projet???
    Comment lier les deux projets pour pouvoir utiliser les fonctions???

    Merci
    Cordialement,
    LASBATS Xavier

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    quel rapport avec le site asp?
    Sinon pour créer un service il y a un projet proposé par visual pour en créer un il me semble.
    quand à la tache planifié tu veux la créer via ton site asp je pense?
    il faut que tu regardes sur le net s'il n'existe pas un projet qui aurait wrappé l'interface COM, qui est utilisée pour créer les taches planifiés, en .Net.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    En fait il faut que je crée une tache planifié qui envoi des mails tous les jours.
    Pour ca j'ai penser à créer un fichier.exe qui contient le code de la tache. Pour cela je pense utiliser un projet autre que monsite web.
    je voudrais pouvoir accéder à des fonctions créer dans des fichier contenu dans mon projet site comment faire???

    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
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
     
     List<C_Q_NCONF> oListeQNConfRelByFournST = new List<C_Q_NCONF>();// Liste des non conformités à relancer par fournisseur
                Decimal cdqnconf = new Decimal();//Identifiant de la FNC en cours
                String fncPage="";//Lien vers la fnc 
                int trouve = 0;
                List<String> ListAddrMail= new List<string>();
     
                // Liste des fnc datée du jour
                List<C_Q_NCONF> olistCQNConf = C_Q_NCONF.ListQNConfDateCreatEgDateJour();         
     
                // Liste des fnc qui ont une date de relance égale à celle du jour
                List<C_Q_NCONF> oListQNConfDateRelEgDateJour = C_Q_NCONF.ListQNConfDateRelEgDateJour();
     
                // Liste des fnc ayant été modifié par le sous-traitant ce jour.
                List<C_Q_NCONF> oListQNConfModif = C_Q_NCONF.ListQNCONFModif();
     
     
                                {
                    //Envoi des mails concernant les nouvelles FNC
                        foreach( C_Q_NCONF oQnconf in olistCQNConf)
                        {
                          if(oQnconf.Ref_FOURN_ST_For_CD_FOURN_ST.NOM.Value =="ESKULANAK" )
                            {
                                // Adrresse e-mail du contact sous-traitant de la FNC
                                List<String> listTempMail = oQnconf.getEmailAdrressFstContact_BY_CD_Q_NCONF();
     
                                foreach (String addrMail in listTempMail)
                                {
                                    foreach (String addr in ListAddrMail)
                                    {
                                        if(addr == addrMail)
                                        {
                                            trouve = 1;
                                        }
                                    }
                                    if (trouve == 0)
                                        ListAddrMail.Add(addrMail);
                                    else trouve = 0;
                                }
                                // Adresse e-mail du contrôleur responsable de la FNC
                                String AddrMailControleur = oQnconf.getEmailAdrressControleurResp_BY_CD_Q_NCONF();
     
                                //Identité contrôleur
                                String identiteControl = oQnconf.getIdentiteControleurResp_BY_CD_Q_NCONF();
     
                                //Création du lien vers la FNC concernée
                                cdqnconf = oQnconf.CD_Q_NCONF.Value;
     
                                //fncPage = "<a href=http://localhost:1767/AtlasWebSite1/conformite/FNC.aspx?id=" + cdqnconf + ">" + cdqnconf + "</a>";
                                fncPage = "<a href=https://extranet/extranet/conformite/FNC.aspx?id=" + cdqnconf + ">" + cdqnconf + "</a>";
     
                                //Création du Mail de signification d'une nouvelle FNC
                                MailManagement mail;
                                mail = new MailManagement();
     
                                //Adresse e-mail de l'expéditeur
                                mail.From = "portail_potez";
     
                              //Adresse e-mail du destinataire  
                                //S'il n'y a pas de contact dans helios
                                if (ListAddrMail.Count == 0)
                                {
                                    mail.To = AddrMailControleur;
     
                                    //Sujet du mail
                                    mail.Subject = "Pas de contact disponible dans helios ";
     
                                    mail.Body = "Aucun contact vers le sous-traitant, n'est disponible veuillez transférer le mail suivant au sous-traitant!!!<br><br>"
                                        + " Objet : Litige sur vos fournitures <br><br>";
                                }
                                else
                                {
                                    foreach (String AddrMail in ListAddrMail)
                                    {
                                        mail.To = mail.To + AddrMail + ";";
                                    }
     
                                    //Sujet du mail
                                    mail.Subject = "Litige sur vos fournitures ";
     
                                    mail.Body = "";
                                }
     
                              // mail.To = "xlasbats@potez.com";
     
                                //Corps du mail
                                mail.Body = mail.Body +
                                    "Madame, Monsieur <br><br>" +
                                    "Veuillez trouver en suivant le lien, la Fiche de Non_Conformité (FNC) N°" + fncPage + ", concernant des anomalies constatées sur vos fournitures. <br>" +
                                    "<br>" +
                                    "Vous voudrez bien répondre par notre portail dans les 15jours suivant la réception en précisant : <br>" +
                                    "   - les causes de cette non-conformité <br>" +
                                    "   - les actions correctives que vous mettez en oeuvre afin d'éviter la réapparition de défaut <br><br>" +
                                    "Pour tout éclaircissement concernant cette FNC vous pouvez contacter la personne dont le nom est indiqué dans la rubrique 'responsable contrôleur'. <br>" +
                                    "   - par email : " + AddrMailControleur + " <br>" +
                                    "   - par téléphone au 05.58.71.47.78 <br><br>" +
                                    "Nous vous demandons de répondre à toutes les FNC, sans réponse de votre part,  vous serez relancé. <br>" +
                                    "Nous vous prions de recevoir, Madame, Monsieur, l'expression de nos salutations distinguées." +
                                    " <br><br><br>" +
     
                                    "Madam, Sir <br>" +
                                    "Please, find by following the link , the Non-Conformance Form(FNC) number " + fncPage + ", concerning a dispute caused by one of your delivery. <br>" +
                                     "<br>" +
                                    "Please acknowledge receipt of thid e-mail within 48 hours by e-mail. <br><br>" +
                                    "Please answer no more than 15 days following the FNC receipt including : <br>" +
                                    "   - the non conformance root cause statement" +
                                    "   - the corrective action that you'll take in order to avoid any non conformance reoccurence " +
                                    "   - the date of effectivety of the corrective action implementation <br><br>" +
                                    "For any clarification about this FNC you can contact the person mentioned in the headeing 'departement manager' : <br>" +
                                    "   - by e-mail : " + AddrMailControleur + "<br>" +
                                    "   - by phone 33.5.58.71.47.78 <br><br>" +
                                    "No similar part number must be send to POTEZ AERONAUTIQUE before acceptation of your corrective action or POTEZ AERONAUTIQUE authorization " +
                                    "in accordance with paragraph 2.9 of the applicable SQAR. <br><br>" +
                                    "We ask you to answer the all the Non-Conformance Form. <br>" +
                                    "Otherwise, you will be contact again. <br><br>" +
                                    "We ask you to receive, Madam, Sir the expression of our best regards. ";
     
                                //Définition du server mail
                                mail.SmtpServer = "EXCHANGE.potez.com";
     
                                //Envoi du mail
                                mail.IsMailSent();
     
                                //Passage de la FNC en statut diffusée
                                oQnconf.STATUT.Value = "D";
                            }
                        }
     
                    //Envoi du mail de relance
                    //Chaque fin de semaine un mail est envoyé avec la lsite des liens vers toutes les FNC à relancer
                        if (DateTime.Now.DayOfWeek.ToString() == "Friday")
                        {
                            //Identifiant du sous_traitant concerné
                            Decimal cdFournSt = oListQNConfDateRelEgDateJour[0].CD_FOURN_ST.Value;
     
                            //Parcours de la liste des FNC à relancer
                            foreach (C_Q_NCONF oQnconfRel in oListQNConfDateRelEgDateJour)
                           {                               
                               //Adresse mail contact fournisseur
                               List<String> listTempMail = oQnconfRel.getEmailAdrressFstContact_BY_CD_Q_NCONF();
     
                                    foreach (String addrMail in listTempMail)
                                    {
                                        foreach (String addr in ListAddrMail)
                                        {
                                            if (addr == addrMail)
                                            {
                                                trouve = 1;
                                            }
                                        }
                                        if (trouve == 0)
                                            ListAddrMail.Add(addrMail);
                                        else
                                            trouve = 0;
                                    }
     
                                    //Adresse mail contrôleur responsable
                                    String AddrMailControleur = oQnconfRel.getEmailAdrressControleurResp_BY_CD_Q_NCONF();
     
                                    //Identité contrôleur
                                    String identiteControl = oQnconfRel.getIdentiteControleurResp_BY_CD_Q_NCONF();
     
                                    //Si le fournisseur reste le même on rajoute la FNC à la liste
                                    if (oQnconfRel.CD_FOURN_ST.Value == cdFournSt)
                                    {
                                        oListeQNConfRelByFournST.Add(oQnconfRel);
                                    }
                                    //sinon on envoi le mail et l'identifiant fournisseur est mis à jour
                                    else
                                    {
                                        //Mise à jour Identifiant fournisseur
                                        cdFournSt = oQnconfRel.CD_FOURN_ST.Value;
     
                                      if (oListeQNConfRelByFournST[0].Ref_FOURN_ST_For_CD_FOURN_ST.NOM.Value == "ESKULANAK")
                                        {
                                            String liensFr = "", liensEn = "";
     
                                            List<String> listfncpage = new List<String>();//liens vers les différentes FNC
     
                                            //Création de la liste de lien
                                            foreach (C_Q_NCONF oQnconfRelByFournSt in oListeQNConfRelByFournST)
                                            {
                                                listfncpage.Add("<a href=https://extranet/extranet/conformite/FNC.aspx?id=" + oQnconfRelByFournSt.CD_Q_NCONF.Value + ">" + oQnconfRelByFournSt.CD_Q_NCONF.Value + "</a>");
                                            }
     
                                            liensFr = "Veuillez trouver en suivant les liens, les Fiches de Non-Conformité (FNC) N° ";
                                            liensEn = "Please, find by following the link , the Non-Conformance Form (FNC) number ";
     
                                            foreach (String nfnc in listfncpage)
                                            {
                                                liensFr += nfnc.ToString() + ", ";
                                                liensEn += nfnc.ToString() + ", ";
                                            }
                                            liensFr += "concernants les anomalies constatées sur vos fournitures, pour lesquelles nous sommes toujours en attente de réponse. <br><br>";
                                            liensEn += ", relevant to your suplies for which we are still a waiting your answer. <br><br>";
     
                                            //Création du mail
                                            MailManagement mail;
                                            mail = new MailManagement();
     
                                            //Adresse mail expéditeur
                                            mail.From = "portail_potez";
     
                                            if (ListAddrMail.Count == 0)
                                            {
                                                mail.To = AddrMailControleur;
     
                                                //Sujet du mail
                                                mail.Subject = "Pas de contact disponible dans helios ";
     
                                                mail.Body = "Aucun contact vers le sous-traitant n'est disponible veuillez transférer le mail suivant au sous-traitant!!!<br><br>"
                                                    + " Objet : Relance : Litige sur vos fournitures <br><br>";
                                            }
                                            else
                                            {
                                                //Adresse mail destinataire
                                                foreach (String AddrMail in ListAddrMail)
                                                {
                                                    mail.To = mail.To + AddrMail + ";";
                                                }
     
                                                //Sujet du mail
                                                mail.Subject = "Relance : litige sur vos fournitures ";
                                                mail.Body = "";
                                            }            
     
                                         //   mail.To = "xlasbats@potez.com; ";
     
                                            //Corps mail
                                            mail.Body = mail.Body +
                                                "Madame, Monsieur <br><br>" +
                                                "Sauf erreur de notre part. "
                                                + liensFr +
                                                "Si vous avez déjà répondu, veuillez ne pas tenir compte de cette relance <br>" +
                                                "Nous vous prions de recevoir, Madame, Monsieur, l'expression de nos salutations distinguées." +
                                                " <br><br><br>" +
     
                                                "Madam, Sir <br><br>" +
                                                "Except mistake of our share " +
                                                liensEn +
                                                "If you have already answered, please do not take in account this mail. <br>" +
                                                "We ask you to receive, Madam, Sir, the expression of your best regards. ";
     
                                            //Définition du server
                                            mail.SmtpServer = "EXCHANGE.potez.com";
     
                                            //Envoi Mail
                                            mail.IsMailSent();
     
                                            ListAddrMail.Clear();
     
                                        }
                                        oListeQNConfRelByFournST.Clear();
                                        oListeQNConfRelByFournST.Add(oQnconfRel);
                                 } 
                            }                                  
                        }
     
                    //Envoie mmail au contrôleur responsable, lorsque la fnc est modifiée.
                    if (oListQNConfModif.Count > 0)
                    {
                        foreach (C_Q_NCONF oQnconfModif in oListQNConfModif)
                        {
                          if(oQnconfModif.Ref_FOURN_ST_For_CD_FOURN_ST.NOM.Value =="ESKULANAK" )
                            {
                                //Adresse mail contrôleur reponsable 
                                String AddrMailControleur = oQnconfModif.getEmailAdrressControleurResp_BY_CD_Q_NCONF();
     
                                //Identifiant FNC en cours
                                cdqnconf = oQnconfModif.CD_Q_NCONF.Value;
     
                                //Nom du sous traitant
                                String nomFourn = oQnconfModif.Ref_FOURN_ST_For_CD_FOURN_ST.NOM.Value;
     
                                //Programme auquel appartient la FNC
                                String Programme = oQnconfModif.Ref_OFS_PHASE_For_CD_OFS_CONCERNE_CD_GAMME_N_LIEN_CD_PHASE.Ref_OFS_CDC_For_CD_CDC.Ref_OFS_For_CD_OFS.Ref_OFS_ARTICLE_For_CD_OFS_ARTICLE.ARTI_FAMILLE.Value;
     
                                //Lien vers la FNC correspondante
                                fncPage = "<a href=https://extranet/extranet/conformite/FNC.aspx?id=" + cdqnconf + ">" + cdqnconf + "</a>";
     
                                //Création du mail
                                MailManagement mail;
                                mail = new MailManagement();
     
                                //Adresse expediteur
                                mail.From = "portail_potez";
     
                                //Adresse destinataire
                                if (Programme == "E2C")
                                {
                                    mail.To = "dducamin@potez.com" ;
                                }
                                else
                                {
                                    mail.To = AddrMailControleur;
                                }
                               mail.To = "xlasbats@potez.com";
     
                                //Sujet mail
                               // mail.Subject = "Action Corrective";
     
                                //Corps mail
                                mail.Body =
                                    "Madame, Monsieur <br><br>" +
                                    "Le fournisseur " + nomFourn + " a répondu à la Fiche de Non-Conformité (FNC) N°" + fncPage + ".<br><br>" +
                                    "Veuillez vérifier et valider la cause et l'action corrective qu'il a formalisé.";
     
                                //définition server mail
                                mail.SmtpServer = "EXCHANGE.potez.com";
     
                                //Envoi mail
                                mail.IsMailSent();
                            }
                        }
                    }

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    ce dont tu parle ressemble un peu a un projet n-tiers.
    Le mieux pour toi je pense est d'avoir:
    - un projet Class Library (qui creera une dll) qui contient tes objets métiers et tes fonctions (apres ca depend ce que font ces dernieres evodment).
    - Un projet web qui références tes objet métiers.
    - Et un projet Windows Service (qui créera un service autonome) qui referencera aussi tes objets metiers

    Evidment ca c'est du pseudo N-tiers.


    Aprés tu peux faire du vrai N-Tiers en séparant l'accés aux données, la logique metier et le web. Mais bon faut voir tes besoins.

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    les classes communes aux 2 projets il faut que tu les mets dans une class library. comme ca tu n'auras qu'a faire un ajout de référence dans les 2 projets.

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    Connaissez vous une autre solution???
    Dans quel type de projet doit créer mon .exe???

  7. #7
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    c'est un projet console dans lequel tu peux ajouter des références en gros d'autres assemblies.
    apres tu peux rajouter ce projet dans la solution de ton appli web.

Discussions similaires

  1. Créer une tâche planifiée sous Windows 7
    Par Jean-Philippe André dans le forum Articles
    Réponses: 4
    Dernier message: 29/11/2013, 16h19
  2. Réponses: 3
    Dernier message: 16/10/2012, 12h24
  3. Réponses: 0
    Dernier message: 23/02/2011, 11h58
  4. Réponses: 2
    Dernier message: 11/12/2010, 12h20

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