Ejemplo n.º 1
0
        public ActionResult Modifier(DocFormViewModel vm)
        {
            if (ModelState.IsValid)
            {
                _dal.ModifierDocument(vm.Doc.Id, vm.DocCode, vm.Doc.Titre, vm.SelectedTypeString);
                _dal.AjouterDocumentAReferentiel(vm.Doc.Id, vm.SelectedReferentielId);
                _dal.AjouterDocumentASecteur(vm.Doc.Id, vm.SelectedSecteurId);
                return(RedirectToAction("Index", "Principal"));
            }

            return(View(vm));
        }
Ejemplo n.º 2
0
        public ActionResult Modifier(int id)
        {
            Document docAmodifier = _dal.ObtenirDocumentParId(id);

            DocFormViewModel vm = new DocFormViewModel()
            {
                Doc                   = docAmodifier,
                DocCode               = docAmodifier.Code,
                Referentiels          = _dal.ObtientTousLesReferentiels(),
                SelectedReferentielId = docAmodifier.IdRef,
                SelectedTypeString    = docAmodifier.Type,
                Secteurs              = _dal.ObtientTousLesSecteurs(),
                SelectedSecteurId     = docAmodifier.IdSec
            };

            return(View(vm));
        }
Ejemplo n.º 3
0
        /********************************************
        *
        * Méthodes de création, d'ajout dans la base
        *
        ********************************************/

        /// <summary>
        ///     Instantie un nouveau modèle Document avec un
        ///     nom donné, puis ajoute le document à la
        ///     base de données avec le référentiel par défaut "Indéfini", le secteur "Aucun" et sans type.
        ///     On commence par analyser les documents dont l'extension est .pdf,
        ///     puis on vérifie pour chaque fichier s'il n'existe pas.
        ///     S'il n'existe pas alors on va déterminer ses propriétés selon son nom.
        ///     On analyse la chaîne de caractères du nom du fichier pour
        ///     déterminer son type, son titre, son référentiel, son secteur et son code éventuel.
        /// </summary>
        /// <param name="fichier">Nom du fichier (avec extension) à créer si inexistant</param>
        private void CreerDocument(string fichier)
        {
            if (fichier.Split('.')[fichier.Split('.').Length - 1].Equals("pdf"))
            {
                string code     = "",
                       type     = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.Indéfini);
                var referentiel = Bdd.Referentiels.Find(1);
                var secteur     = Bdd.Secteurs.Find(1);

                if (!DocumentExisteBdd(fichier))
                {
                    // on ignore l'extension du fichier
                    var nomFichier = "";
                    for (var i = 0; i < fichier.Split('.').Length - 1; i++)
                    {
                        nomFichier += fichier.Split('.')[i];
                    }

                    // on distingue les mots séparés par un espace
                    var strFichier = nomFichier.Split(' ');

                    // un fichier avec un code commence par "F00"
                    string titre;
                    if (strFichier[0].Contains("FR05"))
                    {
                        // le type du document correspond au deuxième mot
                        switch (strFichier[1])
                        {
                        case "BP":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.BP);
                            break;

                        case "DF":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.DF);
                            break;

                        case "DO":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.DO);
                            break;

                        case "EN":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.EN);
                            break;

                        case "IT":
                        case "GR":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.IT);
                            break;

                        case "PR":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.PR);
                            break;

                        case "MO":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.MO);
                            break;

                        case "CS":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.CS);
                            break;

                        case "SP":
                            type = DocFormViewModel.GetEnumDescription(DocFormViewModel.Types.SP);
                            break;

                        default:
                            type = DocFormViewModel.Types.Indéfini.ToString();
                            break;
                        }

                        // le code contiend les trois premiers mots
                        code = strFichier[0] + " " + strFichier[1] + " " + strFichier[2];

                        // si le titre du fichier existe dans la liste préexistante alors on l'ajoute
                        titre = ObtenirTitreAvecCode(code);

                        // si le nom du fichier a plus de 3 mots, alors il a un titre
                        if (titre == null && strFichier.Length > 3)
                        {
                            // pour chaque mot supplémentaire, on l'ajoute au titre
                            for (var i = 3; i < strFichier.Length; i++)
                            {
                                titre += strFichier[i] + " ";
                            }
                        }
                    }
                    // si le nom du fichier n'est pas un code, alors il devient le titre du document
                    else
                    {
                        titre = nomFichier;
                    }

                    var doc = new Document
                    {
                        Code        = code,
                        Type        = type,
                        Titre       = titre,
                        NomFichier  = fichier,
                        Referentiel = referentiel,
                        Secteur     = secteur
                    };
                    Bdd.Documents.Add(doc);
                    Bdd.SaveChanges();
                }
            }
        }