Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre régulier
    Inscrit en
    avril 2006
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : avril 2006
    Messages : 205
    Points : 80
    Points
    80

    Par défaut Retrouver mes types Dans une liste

    Bonjour,

    ASP.NET MVC - RAZOR - C#

    un soucis sur l'édition de ma list<company>

    J'ai une classe company et companyA et companyB qui spécialise company
    Dans mon controller je charge une list<company> qui reçoit des companyA et des companyB.

    Dans ma vue j'édite ma liste et lorsque je sauvegarde et que je me retrouve dans mon action, toutes les companyA et companyB sont de type company et je ne sais plus où est ce que je dois enregistrer mes compagnies car les companyA et companyB s'enregistre dans des bases différentes....

    Merci beaucoup pour votre précieuse aide

  2. #2
    Membre du Club Avatar de Nadinette
    Femme Profil pro Nadine M
    Développeur Web
    Inscrit en
    octobre 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Nom : Femme Nadine M
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2012
    Messages : 95
    Points : 56
    Points
    56

    Par défaut

    Salut,

    Déjà tu pourrais être plus clair dans la notion de liste...

    Tu parles d'un select ? D'une Table ?

    Peu importe l'enveloppe, tu te débrouilleras :

    Tu ajoutes un champ à ton modèle qui s'appelle typecompagnie
    Tu ajoutes un hiddenfor à ta vue pour que le type de compagnie de sortes que lorsque tu postes ta réponse, coté serveur elle puisse être identifée par rapport à ce champ.

    Dans ton contrôlleur lorsque tu récupères ta ligne de type compagnie dans la variable model, tu testes le champ typecompagnie.

    Si typecompagnie = A alors
    compagnieA MaCompagnieA = (compagnieA)model;
    compagnieA.Sauve(); //méthode d'exention adaptée à compagnieA.
    Si typecompagnie = B alors
    compagnieB MaCompagnieB = (compagnieB)model;
    compagnieB.Sauve(); //méthode d'exention adaptée à compagnieB.

    Tu peux faire ça de plein de façons avec des interfaces, une classe abstraite, des vieux if à l'ancienne....

    Merci de me dire si ça t'aide

    @+


    SauveCompagnie(compagnieA comp);



    Si typecompagnie = B tu appelles SauveCompagnie(compagnieB comp);

    Ensuite tu codes ton truc à l'intérieur en sauvant dans la bonne base et en factorisant comme il faut.

  3. #3
    Membre à l'essai
    Inscrit en
    octobre 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : octobre 2007
    Messages : 84
    Points : 20
    Points
    20

    Par défaut

    Bonsoir,

    Il me semble qu'il suffit de tester le type de ta classe avec l'opérateur "is".

    Code :
    1
    2
    3
    4
    5
    6
    7
     
    foreach(Company c in companies) {
         if(c is CompanyA)
             ...
         if(c is CompanyB)
             ...
    }

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •