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

C# Discussion :

INotifyPropertyChanged : implémentation d'un string venant d'une requète EntityFrameWork


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2015
    Messages : 26
    Points : 36
    Points
    36
    Par défaut INotifyPropertyChanged : implémentation d'un string venant d'une requète EntityFrameWork
    Bonjour,
    dans un projet WPF j'utilise MVVM pour remplir un formulaire et SonarLint pour l'analyse du code, ainsi j'ai un modèle (ici en version simplifiée) qui contient ces variables :

    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
     private int _caseNumber;
     public int CaseNumber
     {
         get => _caseNumber;
         set
         {
             _caseNumber = value;
             OnPropertyChanged(nameof(CaseNumber));
         }
     }
     
     private string _caseState;
     public string CaseState
     {
         get => _caseState;
         set { _caseState = value; OnPropertyChanged(nameof(CaseState)); }
     }
    et une vue qui référence ces propriétés via des UserControl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     <ucs:TextBoxUc
         x:Name="CaseNumberUC"
         TextBoxEnabledState="False"
         TextBoxEntitled="N° de Dossier"
         TextBoxText="{Binding Path=CaseNumber, UpdateSourceTrigger=PropertyChanged}"
         TextBoxWidth="80" />
     <ucs:TextBoxUc
         x:Name="CaseStateUC"
         TextBoxEnabledState="False"
         TextBoxText="{Binding Path=CaseState, UpdateSourceTrigger=PropertyChanged}"
         TextBoxEntitled="Etat du Dossier"
         TextBoxWidth="80" />
    dans une classe appelée UTILITY j'ai cette requète qui utilise EntityFrameWork pour intéroger une base SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public static string CaseState(int caseNumber)
     {
         return (from a in dc.CASE_GENERAL_INFORMATIONS
                 where a.CGI_ID ==  caseNumber
                 select a.CGI_STATE).FirstOrDefault();
     }
    Je souhaiterais que ma variable CaseState référence cette méthode du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private string _caseState;
    public string CaseState
    {
        get
        {
           string i = Utility.CaseState(CaseNumber); return i;
        }
        set { _caseState = value; OnPropertyChanged(nameof(CaseState)); }
    }
    mais cela ne fonctionne pas et SonarLint me dit de supprimer _caseState car sa valeur n'est jamais lu...

    Auriez-vous une idée ??

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 780
    Points : 5 537
    Points
    5 537
    Par défaut
    A tout hasard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private string _caseState;
    public string CaseState
    {
        get
        {
           _caseState = Utility.CaseState(CaseNumber); return _caseState;
        }
        set { _caseState = value; OnPropertyChanged(nameof(CaseState)); }
    }
    Mais, il me semble incohérent d'avoir un set direct alors que le get nécessite un traitement.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/11/2019, 14h57
  2. split string venant d'une BDD
    Par neogeekmo dans le forum Langage
    Réponses: 8
    Dernier message: 24/01/2018, 11h52
  3. Réponses: 3
    Dernier message: 24/07/2014, 15h44
  4. [MySQL] Requête invalide venant d'une requête SQL correcte
    Par daplayzz dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 22/04/2009, 15h35
  5. Réponses: 7
    Dernier message: 22/05/2007, 15h35

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