//constructeur par défault
 public ActionViewModel(Models.Action action)
 {
     _action        = action;
     _action.statut = false;
     _context       = new Models.pyrenactionEntities();
     loadFields();
 }
Example #2
0
        public Questionnaire(int idAction)
        {
            InitializeComponent();
            actAssoc = idAction;

            using (Models.pyrenactionEntities context = new Models.pyrenactionEntities())
            {
                //On récupère le questionnaire associé à l'action
                Models.Action action = (from A in context.Actions where A.id == idAction select A).FirstOrDefault();

                if (action != null)
                {
                    _questionnaireController = new QuestionnaireViewModel(action.Questionnaire);
                    this.DataContext         = _questionnaireController;

                    var query = from Q in context.Questions where Q.id_Questionnaire == action.Questionnaire.id select Q;
                    List <Models.Question> listeQuestions = query.ToList();

                    //Questions
                    textBlock1.Text = listeQuestions[0].intitule;
                    textBlock2.Text = listeQuestions[1].intitule;
                    textBlock3.Text = listeQuestions[2].intitule;
                    textBlock4.Text = listeQuestions[3].intitule;
                    textBlock5.Text = listeQuestions[4].intitule;

                    //Réponses
                    inputQ1.IsChecked = listeQuestions[0].reponse;
                    inputQ2.IsChecked = listeQuestions[1].reponse;
                    inputQ3.IsChecked = listeQuestions[2].reponse;
                    inputQ4.IsChecked = listeQuestions[3].reponse;
                    inputQ5.IsChecked = listeQuestions[4].reponse;
                }
            }
        }
        public QuestionnaireViewModel(Models.Questionnaire questionnaire)
        {
            _questionnaire = questionnaire;

            _context     = new Models.pyrenactionEntities();
            checkedFalse = false;
        }
        public ListeQuestionnaireViewModel()
        {
            _context      = new Models.pyrenactionEntities();
            _listeActions = new List <Models.Action>();
            var query = from U in _context.Actions select U;

            _listeActions = query.ToList();
        }
        //constructeur pour pour modifier une action existante. id récupéré depuis le tableaude bord.
        public ActionViewModel(int id)
        {
            _context = new Models.pyrenactionEntities();
            var query = from U in _context.Actions select U;
            List <Models.Action> listeActions = query.ToList();
            bool find = false;

            foreach (Models.Action act in listeActions)
            {
                if (act.id == id)
                {
                    _action = act;
                    find    = true;
                }
            }

            if (find == false)
            {
                _action = new Models.Action();
            }
            loadFields();
        }
        public ucTabBord()
        {
            InitializeComponent();

            using (Models.pyrenactionEntities context = new Models.pyrenactionEntities())
            {
                var query = from U in context.Actions select U;
                List <Models.Action> listeActions = query.ToList();
                List <ligneTab>      listeLigne   = new List <ligneTab>();

                foreach (Models.Action lAction in listeActions)
                {
                    // Nom du site
                    var    site     = context.Sites.Find(lAction.id_Site);
                    String nom_Site = site.nom;

                    // Niveau d'importance
                    var    importance      = context.Importances.Find(lAction.id_Importance);
                    String type_Importance = importance.nom;

                    // Famille
                    var    famille      = context.Familles.Find(lAction.id_Famille);
                    String type_Famille = famille.nom;

                    // Questionnaire
                    var    questionnaire  = context.Questionnaires.Find(lAction.id_Questionnaire);
                    String _questionnaire = "";
                    try
                    {
                        _questionnaire = questionnaire.nom;
                    }
                    catch (System.NullReferenceException)
                    {
                        _questionnaire = "N/A";
                    };

                    // Présence d'une tache rattachée
                    var    id1          = context.Actions.Find(lAction.id_1);
                    String presence_id1 = "";
                    try
                    {
                        presence_id1 = id1.description;
                    }
                    catch (System.NullReferenceException)
                    {
                        presence_id1 = "N/A";
                    };

                    // Utilisateur 1 : Responsable
                    var    utilisateur1 = context.Utilisateurs.Find(lAction.id_Utilisateur);
                    String responsable  = utilisateur1.nom;

                    // Utilisateur 2 : Exécutant
                    var    utilisateur2 = context.Utilisateurs.Find(lAction.id_Utilisateur_2);
                    String executant    = "";
                    try // Si présence d'un Utilisateur 2, on recherche son nom
                    {
                        executant = utilisateur2.nom;
                    }
                    catch (System.NullReferenceException)  //Sinon on le met en "N/A"
                    {
                        executant = "N/A";
                    };

                    // Date de création de la tache
                    var date_Action = lAction.date_a;
                    // Date de deadline
                    var delais = lAction.delais;
                    // Description de la tâche
                    String description = lAction.description;
                    // Source de la création de la tâche
                    String source = lAction.source;
                    // Analyse de la tache
                    String analyse = lAction.analyse;
                    // Statut de la tâche (vrai/faux -> terminée/en cours)
                    var statut = lAction.statut;
                    // ID de l'action
                    int id_Action = lAction.id;

                    // Création de la ligne du tableau (visuellement parlant)
                    ligneTab maLigne = new ligneTab();
                    maLigne.id = id_Action;

                    // Affichage de la date de création au format français "jj/mm/aaaa" ou "N/A" si pas de date
                    if (date_Action != null)
                    {
                        maLigne.date1 = ((DateTime)date_Action).ToShortDateString().ToString(System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR"));
                    }
                    else
                    {
                        maLigne.date1 = "N/A";
                    }

                    // Affichage de la date dead-line au format français "jj/mm/aaaa" ou "N/A" si pas de date
                    if (delais != null)
                    {
                        maLigne.date2 = ((DateTime)delais).ToShortDateString().ToString(System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR"));
                    }
                    else
                    {
                        maLigne.date2 = "N/A";
                    }


                    maLigne.source      = source;
                    maLigne.analyse     = analyse;
                    maLigne.description = description;

                    // Formatage du statut : true/false -> terminée/en cours
                    if (statut != null)
                    {
                        maLigne.statut = ((Boolean)statut ? "Terminée" : "En cours");
                    }
                    else
                    {
                        maLigne.statut = "";
                    }

                    maLigne.importance    = type_Importance;
                    maLigne.famille       = type_Famille;
                    maLigne.site          = nom_Site;
                    maLigne.questionnaire = _questionnaire;
                    maLigne.parente       = presence_id1;
                    maLigne.utilisateur1  = responsable;
                    maLigne.utilisateur2  = executant;
                    maLigne.pourcentage   = 0;

                    // Liste de tâches rattachées
                    ObservableCollection <Models.Tache> theListe = new ObservableCollection <Models.Tache>();


                    int nbTaches       = lAction.Taches.Count;
                    int nbTachesFinies = 0;

                    foreach (Models.Tache _tch in lAction.Taches)
                    {
                        if (_tch.statut == true) // Incrément du nb de taches soldées
                        {
                            nbTachesFinies++;
                        }
                    }


                    // Calcul du pourcentage d'avancement de la tache
                    if (nbTachesFinies > 0 && nbTaches > 0)
                    {
                        maLigne.pourcentage = (nbTachesFinies * 100) / nbTaches;
                    }
                    else
                    {
                        maLigne.pourcentage = 0;
                    }



                    foreach (Models.Tache _tch in lAction.Taches) // Ajout des tâches dans la liste destinée à remplir le tableau
                    {
                        theListe.Add(_tch);
                    }

                    maLigne.taches = theListe;


                    ObservableCollection <Models.Lien> theListeLien = new ObservableCollection <Models.Lien>(); // Liste des liens rattachés à l'action

                    foreach (Models.Lien _tch in lAction.Liens)
                    {
                        theListeLien.Add(_tch);
                    }

                    maLigne.liens = theListeLien;

                    listeLigne.Add(maLigne);
                }

                myDashboard.ItemsSource = listeLigne; // Remplissage du tableau via binding de listeLigne
            }
        }