Beispiel #1
0
        /// <summary>
        /// Ajoute une tâche dans la dgv
        /// </summary>
        /// <param name="tache">Données à insérer</param>
        private async Task AddToDgv(TacheReadDto tache)
        {
            string dateFin;

            if (tache.Cycle == 0)             // si la tâche n'a pas de cycle fixe
            {
                dateFin = "";
            }
            else             // sinon on ajoute le cycle à la date de fin
            {
                dateFin = tache.DateFin.ToShortDateString();
            }

            LocataireReadDto idLocataireSuivant = await new ControllerTaches().LocataireSuivant(tache.Id, tache.LocataireId);             // récupère l'id du locataire suivant

            LocataireReadDto locataireSuivant = await _repositoryLocataires.LireId(idLocataireSuivant.Id);

            // todo mettre la datte de fin en rouge si dépassée
            _list.Add(
                new object[]
            {
                tache.Id,
                tache.Nom,
                tache.Locataire.Nom,
                locataireSuivant.Nom,
                dateFin
            }
                );
        }
Beispiel #2
0
        /// <summary>
        /// Pré-rempli les champs avec les données du locataire
        /// </summary>
        /// <param name="flatTextBoxNom">Textbox pour modifier le nom du locataire</param>
        /// <param name="flatTextBoxPassword">Textbox pour modifier le mot de passe du locataire</param>
        public async Task RempliChamps(FlatTextBox flatTextBoxNom, FlatTextBox flatTextBoxPassword)
        {
            LocataireReadDto locataireCourant = await _repositoryLocataires.LireId(Settings.IdLocataire);             // récupère le locataire dans la bdd

            // modifie les champs
            flatTextBoxNom.Text      = locataireCourant.Nom;
            flatTextBoxPassword.Text = Cryptage.Uncrypt(locataireCourant.Password);
        }
        public ActionResult <LocataireReadDto> Create(LocataireCreateDto locataireCreateDto)
        {
            Locataire locataireModel = _mapper.Map <Locataire>(locataireCreateDto); // trouve le model à utiliser

            _repository.Create(locataireModel);                                     // crée la command en ram
            _repository.SaveChanges();                                              // sauvegarde les changements dans la bdd

            // mapper, mets l'objet commandModel dans CommandReadDto
            LocataireReadDto readDto = _mapper.Map <LocataireReadDto>(locataireModel);

            // renvoie l'uri permettant d'accéder à l'élément créé
            // fonction gérant la route à appeler (GET api/commands/{id})
            // paramètre à passer à la route (l'id créé)
            // classe pour formatter les données
            //return CreatedAtRoute(nameof(GetById), new { Id = commandReadDto.Id }, commandReadDto);
            return(Ok(readDto));
        }
Beispiel #4
0
        /**
         * <summary>Valide une tâche dans la bdd</summary>
         * <param name="tache">Donnée de la tâche à valider</param>
         */
        public async Task <string> ValidTache(TacheReadDto tache)
        {
            string result;

            try
            {
                // récupère l'id du locataire suivant
                LocataireReadDto locataireSuivant = await _tacheController.TrouveLocataireSuivant(tache.Id, Session.Instance.Get.Id);

                await _tacheController.LocataireSuivant(tache.Id, locataireSuivant.Id);                 // modifie le locataire devant effectuer la tâche

                result = $"La tâche {tache.Nom} est validée";
            }
            catch
            {
                result = "Une erreur est survenue pendant la validation de la tâche";
            }

            return(result);
        }
        /// <summary>
        /// Permet de savoir si les logs correspondent à ceux dans la base de données
        /// </summary>
        /// <param name="nom">Le nom du locataire</param>
        /// <param name="password">Le mot de passe du locataire</param>
        /// <returns>true si le nom et le mot de passe correspondent, false sinon</returns>
        public async Task <bool> Authentifie(string nom, string password)
        {
            LocataireReadDto locataire = await Existe(nom);

            if (locataire == null)
            {
                return(false);
            }

            _idValid = locataire.Id;

            using (StreamWriter file =
                       new StreamWriter(@"debug.txt", true))
            {
                await file.WriteLineAsync("1 - " + Encoding.ASCII.GetString(locataire.Password));

                await file.WriteLineAsync("2 - " + Encoding.ASCII.GetString(Cryptage.Crypt(password)));
            }

            return(locataire.Password.SequenceEqual(Cryptage.Crypt(password)));
        }
        /// <summary>
        /// Event lors du clic sur un élément de la dgv
        /// </summary>
        /// <param name="sender">Objet qui lance l'event</param>
        /// <param name="args">Arguments optionnels</param>
        public async Task Clic(object sender, DataGridViewCellMouseEventArgs args)
        {
            int ligne   = args.RowIndex;
            int colonne = args.ColumnIndex;

            if (colonne == _flatDataGridView.GetColumnId("Valider"))                                                                        // si la colonne cliquée correspond
            {
                LocataireReadDto locataireSuivant = await new ControllerTaches().LocataireSuivant(_taches[ligne].Id, Settings.IdLocataire); // récupère l'id du locataire suivant

                await _repositoryTaches.ModifierLocataireCourant(_taches[ligne].Id, locataireSuivant.Id);                                   // modifie le locataire devant effectuer la tâche

                // recharge la page avec un message de validation
                string texteValide = "Vous avez validé la tâche " + _taches[ligne].Nom;
                _vue.LoadPage("Taches.MesTaches", texteValide);
            }

            else if (colonne == _flatDataGridView.GetColumnId("Nom"))             // si la colonne cliquée correspond
            {
                int idTache = Convert.ToInt32(_flatDataGridView.Get(ligne, "Id"));

                _vue.LoadPage("Taches.Lecture", idTache);
            }
        }
Beispiel #7
0
 /**
  * <summary>Détruis la session courante</summary>
  */
 public void Disconnect()
 {
     _session = null;
 }