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 :

Conception appli C#


Sujet :

C#

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut Conception appli C#
    Bonsoir,

    J'aimerais réaliser une appli de gestion de rendez vous pour un dentiste en C#. J'ai récupéré sur le web un controle Calendar assez bien fait(si vous en connaissez d'autres du style outlook, je suis preneur...) mais à ce stade je cherche à voir comment concevoir l'appli.
    En fait, j'ai besoin d'aide sur comment organiser l'appli pour avoir de bonnes performances(utilisation de DB et de quelle maniére,utilisation de buffer pour ne pas charger toute la base à chaque fois,etc...).

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    C'est vraiment trop vague, difficile de repondre: on ne sait même pas si c'est de l'asp, wpf, winform,....

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut
    C'est une appli qui utilisera les WinForms pour le graphique, elle devra stocker les données dans une DB(laquelle?à vous de mon conseiller...). Elle proposera à l'utilisateur(le dentiste) de gérer sa liste de patients, de créer des rendez vous, de naviguer dans le calendrier pour voir les rendez vous,etc...

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    pourquoi ne pas faire celà avec access ?

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2005
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 131
    Par défaut
    Bonjour

    Si on part du principe que ton application est centrée sur les données (utilisation d'une base de donnée),donc le meilleur choix pour moi c'est une architecture 3 couches,cad : couche données,couche métier et une couhe présentation. C'est simple et efficace au même temps. L'idée c'est de partir déja depuis ton modèle de données et arriver a modéliser ton application,par exemple : si j'ai une table Rendez-vous avec les champs Id,DateHeure,IdPatient,Description, donc j'aurai la class entitée suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class RendezVous {
     
    public int Id { get ; set;}
     
    public DateTime DateHeure { get ; set;}
     
    public int IdPatient { get ; set;}
     
    public string Description { get ; set;}
     
    }
    et dans ma couche métier, il faut avoir juste les fonctions métiers que le dentiste aura besoin, par exemple :

    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
    class MaClassMetier {
     
     
    public void AjouterRendezVous(RendezVous argrdv){
     
    //traitement pour l'ajout
    }
     
    public List<RendezVous> LireLesRendezVousDuneDate(DateTime argDate){
     
    //traitment
    }
     
    public List<RendezVous> LireLesRendezVousDunPatient(int argIdPatient){
     
    //traitment
    }
     
    }

    et donc dans mes IHM (couche présentation), je vais juste appeler les méthode de ma class métier et voila, je suis prêt si tu veux de te créer le squelette de la solution sous visual studio.

    En ce qui concerne le choix de la base de données, pour moi le choix est simple : Access. Sauf si tu veux faire une application distribué et pas mono poste.

  6. #6
    Membre éprouvé
    Inscrit en
    Mars 2005
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 131
    Par défaut
    Bein voila un article trés intéressant :

    http://philippe.developpez.com/artic...dedependances/

  7. #7
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut
    Merci pour la réponse pour ce qui est des couches, c'est un bon début.
    Mais ce que je voulais savoir aussi, c'est comment je vais travailler avec les données, est ce que je récupére tout le contenu de la base dans un dataset et je travaille avec pendant l'execution puis je sauvegarde à la fermeture de l'appli ou d'autres solutions sont envisageables?

  8. #8
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par Miko95 Voir le message
    Merci pour la réponse pour ce qui est des couches, c'est un bon début.
    Mais ce que je voulais savoir aussi, c'est comment je vais travailler avec les données, est ce que je récupére tout le contenu de la base dans un dataset et je travaille avec pendant l'execution puis je sauvegarde à la fermeture de l'appli ou d'autres solutions sont envisageables?
    Le Dataset est une bonne solution pour les débutants et pour une application donc la volumétrie des données n'est pas élevé donc si c'est le cas pour toi tu peu utiliser un Dataset. Sinon pour une application pro je ne te conseillerais pas d'utiliser un Dataset.

    Pour ce qui est du SGBD avec même une version express SQL server je crois que tu sera plus a l'aise qu'avec Acces.

    Pour l'architecture je dirais +1 pour Mehdi_ab.


    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  9. #9
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut
    Je me suis pas mal renseigné pour l'utilisation de DataSet avec les bases de données, j'ai meme fais des tests et j'arrive au stade ou j'ai les données de ma base dans le DataSet mais sous forme de DataRow[] et chaque champ d'une DataRow est de type object. En fait on est plus sous le modèle objet(classes) et ca me pose des petits problèmes sur plusieurs points.

    Par exemple, l'affichage des données d'une datatable dans une list box, j'aimerais qu'à chaque élément de la list box on voit le nom et le prénom d'un patient, alors que là ca m'affiche System.""".DataRow(alors que si on avait une classe Patient, on résout le problème simplement en surdéfinissant ToString). Je sais pas si ya une astuce pour ca.

  10. #10
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Pourquoi ne pas utiliser le DataBinding pour charger les données dans ton ListBox ou dans un DataGridView a partir du DataSet.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  11. #11
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut
    J'ai entendu parler de ca mais je ne sais pas du tout comment ca fonctionne, j'ai toujours affecté une collection à la propriété DataSource jusqu'à maintenant.

  12. #12
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut
    J'ai trouvé cet exemple sur MSDN mais ca ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void BindComboBox()
    {
      comboBox1.DataSource = dataSet1.Tables["Suppliers"];
      comboBox1.DisplayMember = "ProductName";
    }
    J'affecte à la propriété DataSource la table que je veux et à la propriété DisplayMember, la colonne que je veux et ca m'affiche encore System."""".DataRow

  13. #13
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut
    Finalement, ca a fonctionné, je ne sais pas d'ou venait l'erreur.
    Sinon j'aurais encore deux questions:
    Sur l'utilisation de la méthode select des DATATABLES. Comment faire pour faire référence à une variable locale dans l'expression donnée en paramètre? ca fait pas mal de temps que je cherche et on ne parle pas de cette possibilité.
    Je pourrais parcourir moi meme toute la table concerné et récuperer les DataRow qu'il me faut mais la fonction select doit etre plus performante.

    Aussi, j'ai un problème avec l'utilisation de la méthode getParentRow.
    Dans mon DataSet j'ai 3 tables dont 2 qui sont "Patients" et "Rdvs".
    J'ai ajouté une relation au dataset dont le champ parent est "Patient_id" qui est la clé primaire de la table "Patients", et de champ enfant "Patient_rdv_id" qui est une clé étrangére à la table "Rdvs".
    Si j'ai par exemple un rdv dans ma table "Rdvs" dont le champ "Patient_rdv_id" vaut 0, alors normalement en appelant la méthode getParentRow à ce rdv, je devrais obtenir la DataRow correspondant au Patient dont le "Patient_id" est 0, n'est ce pas?
    Le problème est que la fonction me renvoie null.
    Je précise que le patient d'id 0 existe bien dans la table "Patients".

    Merci

  14. #14
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 257
    Par défaut
    Bonsoir,

    Je ferme le post vu que les problemes sont résolus.
    Apparement la cause de ces problèmes était qu'il fallait définir un mapping(DataTableMapping) pour chacun des DataAdapter sinon le mappage avec le DataSet utilise le meme nom que les colonne des tables de la BDD; ce qui me provoquait l'ajout de champs en plus dans mes DataTable.

    Merci, a+++

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

Discussions similaires

  1. Derniers techno pour la conception d'une appli web selon le modèle MVC
    Par deklog dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 15/03/2008, 19h31
  2. [Conception] Creation d'une appli pour consulter une base de données
    Par nico.elgringo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/07/2006, 11h58
  3. [Conception] Développement d'un appli de news
    Par NeptuS dans le forum Général Java
    Réponses: 8
    Dernier message: 19/03/2006, 02h03
  4. [conception] appli de comptabilité
    Par farfella dans le forum Modélisation
    Réponses: 2
    Dernier message: 10/11/2005, 16h10
  5. [Debutant][Conception][appli] locker une application
    Par floweez dans le forum Général Java
    Réponses: 6
    Dernier message: 25/11/2004, 09h22

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