예제 #1
0
        private string FindEmplacementAndAddVoiture()
        {
            List <string> listEmplacementsLibres = ListEmplacementsLibresLoad();

            VoitureDto voiture = _accesBD.GetVoiture(this.voitureModeleDto.VoitureImmatriculation).ToDto();

            AjouterVoitureDansEmplacement(voiture.Id, listEmplacementsLibres[0]);
            return(listEmplacementsLibres[0]);
        }
예제 #2
0
        private bool DoesImmatriculationExistInDB(string immatriculation)
        {
            VoitureDto voitureFromDb = this._accesBD.GetVoiture(immatriculation).ToDto();

            if (voitureFromDb.Immatriculation == immatriculation)
            {
                return(true);
            }
            return(false);
        }
예제 #3
0
 public static Voiture ToMetier(this VoitureDto input)
 {
     return(new Voiture
     {
         Id = input.Id == null ? 0 : input.Id,
         ModeleId = Convert.ToInt32(input.ModeleId),
         Immatriculation = input.Immatriculation,
         Couleur = input.Couleur
     });
 }
예제 #4
0
        public string EffectuerAction(int index)
        {
            if (this.effectuer == "Effectuer l'ajout")
            {
                VoitureValidator validator = new VoitureValidator(voitureModeleDto);
                validator.Validate();

                if (!IsEmplacementFree(this.IntituleEmplacement))
                {
                    throw new Exception($"L'emplacement sélectionné n'est pas libre.");
                }


                if (DoesImmatriculationExistInDB(this.voitureModeleDto.VoitureImmatriculation))
                {
                    throw new Exception($"L'immatriculation existe déjà en DB.");
                }

                int resultat = this._accesBD.AjouterVoiture(this.voitureModeleDto.ToMetier());

                if (resultat != 0)
                {
                    VoitureDto voiture = _accesBD.GetVoiture(this.voitureModeleDto.VoitureImmatriculation).ToDto();
                    AjouterVoitureDansEmplacement(voiture.Id, this.IntituleEmplacement);
                }

                if (resultat != 0)
                {
                    GetListVoituresModelesDto();
                    collectionVoituresModeles.Clear();

                    this.Clear_voiture();
                    this.Effectuer = "";
                    return("L'ajout s'est bien déroulée.");
                }
            }

            if (this.effectuer == "Effectuer la suppression")
            {
                if (DoesImmatriculationExistInDB(this.voitureModeleDto.VoitureImmatriculation))
                {
                    int voitureId = this.voitureModeleDto.VoitureId == null ? -1 : (int)this.voitureModeleDto.VoitureId;

                    if (IsRent(voitureId))
                    {
                        throw new Exception($"La voiture que vous voulez supprimer est en cous de location. Suppression impossible !");
                    }

                    int resultat = this._accesBD.SupprimerVoiture(voitureId);

                    if (resultat != 0)
                    {
                        collectionVoituresModeles.Clear();
                        GetListVoituresModelesDto();

                        this.Clear_voiture();
                        this.Effectuer = "";
                        return("La suppression s'est bien déroulée.");
                    }
                }
            }
            return("Action inconnue ");
        }