public ActionResult AddOrEditDossier(Dossier dossier)
        {
            List <Produit> ListeProduits = dbContext.Produits.ToList();
            List <Boite>   ListeBoites   = dbContext.Boites.ToList();

            ViewBag.ListeProduits = new SelectList(ListeProduits, "idProduit", "nomProduit");
            ViewBag.ListeBoites   = new SelectList(ListeBoites, "idBoite", "codeBoite");

            if (dossier.idDossier == 0)
            {
                dbContext.Configuration.ProxyCreationEnabled = false;

                string query    = "SELECT * FROM Dossier WHERE codeDossier = @p0";
                var    dossiers = dbContext.Dossiers.SqlQuery(query, dossier.codeDossier).ToList();
                int    count    = dossiers.Count();

                if (count == 0)
                {
                    dbContext.Dossiers.Add(dossier);
                    dbContext.SaveChanges();
                    return(Json(new { success = true, message = "Ajout : Succés" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = false, message = "Ce dossier existe déjà" }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                dbContext.Configuration.ProxyCreationEnabled = false;
                dbContext.Entry(dossier).State = EntityState.Modified;
                dbContext.SaveChanges();
                return(Json(new { success = true, message = "Mise à jour : Succés" }, JsonRequestBehavior.AllowGet));
            }
        }
예제 #2
0
        public IHttpActionResult PutDossier(int id, Dossier dossier)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != dossier.ID)
            {
                return(BadRequest());
            }

            db.Entry(dossier).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DossierExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task <ActionResult> Register(RegisterUserViewModel userModel)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var registerResult = await WebApiHelper.RegisterUserAsync(userModel);

            if (!registerResult.Success)
            {
                ModelState.Clear();

                foreach (var error in registerResult.Errors)
                {
                    foreach (var message in error.Value)
                    {
                        ModelState.AddModelError(error.Key, message);
                    }
                }

                return(View());
            }

            var loginModel = new LoginViewModel
            {
                Username = userModel.UserName,
                Password = userModel.Password
            };

            var loginResult = await Login(loginModel, Url.Action("Index", "Home"));

            // Return when login failed
            if (loginResult is ViewResult)
            {
                return(loginResult);
            }

            if (userModel.IsParent)
            {
                var dossier = new Dossier
                {
                    Name    = userModel.DossierName,
                    OwnerId = registerResult.User.Id
                };

                //var dossierResult = await webApiDossierHelper.CreateAsync(registerResult.User.Id, dossier);

                // Redirect to a temporary method to create a dossier. This temporary fix is used because the user
                // is not yet authorized after logging in. A new request must be made to validate the identity as
                // logged in.
                return(RedirectToAction("CreateDossier", new
                {
                    userId = registerResult.User.Id,
                    dossierName = userModel.DossierName
                }));
            }

            return(RedirectToAction("Index", "Home"));
        }
예제 #4
0
        public void Consume(NewInmateArrived newInmateArrived)
        {
            var inmate = new Inmate()
            {
                FullName = newInmateArrived.FullName,
                Surname  = newInmateArrived.LastName
            };

            _documentSession.Store(inmate);

            var inmateRecord = new InmateRecord()
            {
                InmateId    = inmate.Id,
                LocationId  = newInmateArrived.LocationId,
                CliffNotes  = new List <CliffNote>(),
                StickyNotes = new List <StickyNote>()
            };

            _documentSession.Store(inmateRecord);

            var dossier = new Dossier()
            {
                InmateId    = inmate.Id,
                FlagReasons = new List <Flag>(),
                IsFlagged   = false,
                Warrants    = new List <Warrant>()
            };

            _documentSession.Store(dossier);

            AcceptInmateIfDone();
        }
예제 #5
0
        public ActionResult Creneau(string id, int id2)
        {
            using (var context = new Context_db())
            {
                //recupere la section correspondant a l'id2
                Section section = context.Section
                                  .Where(c => c.Id_Section == id2)
                                  .FirstOrDefault();
                //recupere tous les creneaux correspondants
                List <Creneau> creneaux = context.Creneau
                                          .Where(c => c.Section_Id_Section == id2)
                                          .ToList();
                //passe tout a la vue
                ViewBag.SectionId  = id2;
                ViewBag.Section    = section;
                ViewBag.Discipline = id;
                ViewBag.Creneaux   = creneaux;

                //si l'utilisateur est connecte
                if (Session["P_id"] != null)
                {
                    int id_personne = (int)Session["P_id"];
                    //recupere le dossier de l'adherent qui correspond a cette section
                    Dossier dossier = context.Dossier.Where(d => d.Personne_Id_Personne == id_personne && d.Section_Id_Section == section.Id_Section).SingleOrDefault();
                    if (dossier != null)
                    {
                        //si ce dossier existe le passe a la vue
                        ViewBag.dossier = dossier.Id_Dossier;
                    }
                }
            }
            return(View());
        }
예제 #6
0
        private static void TrackPlayer(MovementEventArgs e, bool Penalty)
        {
            Mobile from = e.Mobile;

            // Look to see if we are already tracking this player
            if (m_doissier.ContainsKey(from.Serial) == false)
            {
                // add it
                m_doissier.Add(from.Serial, new Dossier());
            }

            // okay process this player's Dossier
            Dossier dx = m_doissier[from.Serial];

            // check the timeout
            if (dx.Timeout == true)
            {   // start over with this guy.
                m_doissier.Remove(from.Serial);
                return;
            }

            // Mark the current time
            dx.MarkTime();

            // handle the exploit 3 strikes and you're out
            //  You get a Penalty point if you stepped off a porch onto a stack of > 3 items to begin with
            if ((++dx.InfractionCount + ((Penalty == true) ? 1 : 0)) >= 3)
            {
                BlockAndReport(e);
            }
        }
예제 #7
0
        public void DernierePrestationTest()
        {
            Dossier    unDossier     = InitialiseDossier();
            Prestation unePrestation = new Prestation("Libelle P3", new DateTime(2015, 9, 10, 12, 0, 0), new Intervenant("Dupont", "Jean"));

            Assert.AreEqual(unePrestation.ToString(), unDossier.DernierePrestation().ToString(), "Erreur !!!!");
        }
예제 #8
0
        public void DernierePrestationTest()
        {
            Dossier monDoss      = InitialiseDossier();
            String  maLastPresta = new Prestation("Libelle P5", new DateTime(2015, 9, 10, 6, 0, 0), new Intervenant("Tournier", "helene")).ToString();

            Assert.AreEqual(maLastPresta, monDoss.DernierePrestation().ToString(), "oui");
        }
        /// <summary>
        ///     Initializes a new instance of the <see cref="DossierDecorator" /> class.
        /// </summary>
        /// <param name="dossier">The <see cref="Dossier" /> to decorate.</param>
        /// <param name="decoratorService">The <see cref="IDecoratorService" />.</param>
        public DossierDecorator(Dossier dossier, IDecoratorService decoratorService)
        {
            this._decoratorService = decoratorService;

            Name          = dossier.Name;
            base.RootUnit = this._decoratorService.Decorate(dossier.RootUnit);

            this._scenarioReportsView = CollectionViewSource.GetDefaultView(base.ScenarioReports) as ListCollectionView;

            Contract.Assert(this._scenarioReportsView != null);

            ((INotifyCollectionChanged)this._scenarioReportsView).CollectionChanged +=
                OnScenarioReportsCollectionChanged;

            foreach (var report in dossier.ScenarioReports)
            {
                AddNewReport(this._decoratorService.Decorate(report));
            }
            this._scenarioReportsView.Refresh();

            foreach (var unit in UnitsInHierarchy)
            {
                unit.PropertyChanged += OnUnitDecoratorPropertyChanged;
            }
        }
예제 #10
0
 private void supprimerToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (selected != null)
     {
         if (DialogResult.Yes == MessageBox.Show("voulez vous vraiment supprimer ce dossier de façon permanente", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
         {
             currentDir.supp(dossiers, selected.NomRep);
             selected = null;
             fillList(listEnt);
             fillTree();
         }
     }
     else
     {
         if (selectedf != null)
         {
             if (DialogResult.Yes == MessageBox.Show("voulez vous vraiment supprimer ce fichier de façon permanente", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
             {
                 currentDir.supp(fichiers, selectedf.NomFic);
                 selectedf = null;
                 fillList(listEnt);
             }
         }
     }
 }
예제 #11
0
        public void TestCloneDossiers()
        {
            // given
            var records = new List <Record>()
            {
                new Record()
                {
                    Naam = "a"
                }
            };
            var dossier = new Dossier()
            {
                IdentificatieKenmerk = "1", Records = records
            };

            var recordsClone = records.Select(record => record.Clone()).ToList();

            // when
            var newDossier = new Dossier()
            {
                IdentificatieKenmerk = "3", Records = recordsClone
            };

            // then
            Assert.That(newDossier.Records.FirstOrDefault().Naam, Is.EqualTo(dossier.Records.FirstOrDefault().Naam));
        }
예제 #12
0
 /// <summary>
 /// constructeur pour l'ajout d'un mot de passe
 /// </summary>
 /// <param name="dossierPossesseur">le dossier dans lequel sera créer le mot de passe</param>
 public EditPasswordViewModel(Dossier dossierPossesseur)
 {
     PasswordOriginal  = null;
     DossierPossesseur = dossierPossesseur;
     ListeIcone        = new ObservableCollection <Image>(ContexteAppli.ListeIcone);
     Action            = ActionMotDePasseEnum.Ajouter;
 }
예제 #13
0
        /// <summary>
        /// Creation d'un dossier dans l'arboresence
        /// </summary>
        /// <param name="ListeDossier">L'arborescence</param>
        private static void CaseCreationDossier(ref Dossier ListeDossier)
        {
            // On instancie un nouveau dossier
            Console.WriteLine("Comment voulez vous appeller votre dossier ?\n");
            string  NomDossier     = Console.ReadLine();
            Dossier NouveauDossier = new Dossier(NomDossier);

            Console.WriteLine();

            // Si l'arborescence est vide alors on le cree a la racine
            if (ListeDossier == null)
            {
                NouveauDossier.Profondeur = 0;
                ListeDossier = NouveauDossier;
            }
            // Sinon on propose a l'utilisateur de l'inserer ou il le souhaite
            else
            {
                Console.WriteLine("Où voulez vous inserer ce nouveau dossier ?");
                Dossier DossierParent = RechercheDossier(ListeDossier);

                NouveauDossier.Profondeur = DossierParent.Profondeur + 1;
                DossierParent.AjouterEntite(NouveauDossier);
            }
        }
예제 #14
0
        /// <summary>
        /// Permet de supprimer un dossier et tous ses enfants (physiquement et logiquement)
        /// </summary>
        /// <param name="id">id du dossier</param>
        /// <returns></returns>
        public ActionResult DeleteDossier(int id)
        {
            int idDossierParent = int.Parse(System.Web.HttpContext.Current.Session["niveauDossier"] as string);

            //récupération du dossier ou fichier
            Dossier dossier = db.Dossiers.Find(id);

            if (dossier != null)
            {
                //suppression physique
                try
                {
                    var path = Server.MapPath(GenererCheminPourDossier(dossier.Nom));
                    Directory.Delete(path, true);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                //suppression en base
                SupprimerDossierRecursif(dossier.ID);

                TraiteDonneesUtilisateur(30, int.Parse(System.Web.HttpContext.Current.Session["societeIdEnCours"].ToString()), int.Parse(System.Web.HttpContext.Current.Session["produitIdEnCours"].ToString()),
                                         int.Parse(System.Web.HttpContext.Current.Session["versionIdEnCours"].ToString()), dossier.Nom);

                db.Dossiers.Remove(dossier);
                db.SaveChanges();

                Success(string.Format("La dossier {0} a été supprimé avec succès.", dossier.Nom), true);
            }

            return(RedirectToAction("GereFichier", "Admin", new { id = idDossierParent }));
        }
예제 #15
0
        public int SaveNewDossier(out int id, string nummer, string titel, string stavaza)
        {
            int result = 0;

            id = -1;
            using (Database.DossierContext dossierContext = new Database.DossierContext())
            {
                Dossier dossier = new Dossier();
                dossier.DossierNummer        = nummer;
                dossier.DossierTitel         = titel;
                dossier.DossierStandvanzaken = stavaza;
                dossier.IsGearchiveerd       = false;
                dossier.DossierLinkToFiles   = Automat.Rules.DossierRules.GetFileLocation(nummer);

                FluentValidation.Results.ValidationResult validationResult = new DossierValidator().Validate(dossier);

                if (validationResult.IsValid)
                {
                    dossierContext.Dossiers.Add(dossier);
                    result = dossierContext.SaveChanges();

                    this.RefreshDossierList(this.overviewForm.IsShowingArchivedItems());
                    if (result > 0)
                    {
                        id = dossier.Id;
                    }
                }
                else
                {
                    DossierValidator.DisplayErrorMessage(validationResult);
                }
            }

            return(result);
        }
예제 #16
0
 public Fichier( string nom, string type,Dossier parent, string text)
     : base(nom, type)
 {
     this.parent = parent;
     this.text = text;
     this.autorisation = 7;
 }
        public void CanGetLocationOrResponseUrl()
        {
            // Arrange
            Dossier dossier = new Dossier
            {
                Title = "A new dossier"
            };

            Request request = Session.Request(DossiersUrl);

            // Act
            using (Response <Dossier> response = request.Post <Dossier>(dossier))
            {
                Uri newDossierUrl = new Uri(BaseUrl, CMSConstants.DossierPath.Replace("{id}", response.Body.Id.ToString()));

                // Assert
                Uri location        = response.Location;
                Uri responseUrl     = response.ResponseUri;
                Uri createdLocation = response.CreatedLocation;

                Assert.AreEqual(DossiersUrl, responseUrl);
                Assert.AreEqual(newDossierUrl, location);
                Assert.AreEqual(newDossierUrl, createdLocation);
            }
        }
예제 #18
0
        public static void ModifierDossier(Dictionary <string, string> values)
        {
            Dossier d = manager.GetFolderByTitle(values["name"]);

            if (d == null)
            {
                throw new Exception("Dossier introuvable");
            }

            string icon = d.Icone;

            if (values.ContainsKey("icone"))
            {
                icon = values["icone"];
            }
            string descr = d.Description;

            if (values.ContainsKey("descr"))
            {
                descr = values["descr"];
            }
            string title = d.Title;

            if (values.ContainsKey("titre"))
            {
                title = values["titre"];
            }
            manager.EditFolder(values["name"], title, icon, descr);
            Console.WriteLine("Le dossier a été modifié");
        }
예제 #19
0
        public void Test_DossierValidator_Dates_Success()
        {
            var date    = "22-1-2000";
            var dossier = new Dossier()
            {
                Dekking_InTijd_Begin             = date,
                Dekking_InTijd_Eind              = date,
                Classificatie_DatumOfPeriode     = date,
                Gebruiksrechten_DatumOfPeriode   = date,
                Vertrouwelijkheid_DatumOfPeriode = date,
                Openbaarheid_DatumOfPeriode      = date,
                Eventgeschiedenis_DatumOfPeriode = date,
                Relatie_DatumOfPeriode           = date,
                Eventgeschiedenis_Type           = "x",
                Taal = "dut",
                Vertrouwelijkheid_ClassificatieNiveau = "x",
                Openbaarheid_OmschrijvingBeperkingen  = "x",
                Naam = "x",
                Eventgeschiedenis_VerantwoordelijkeFunctionaris = "x",
                IdentificatieKenmerk               = "x",
                Context_Activiteit_Naam            = "x",
                Context_Actor_AggregatieNiveau     = "x",
                Context_Actor_GeautoriseerdeNaam   = "x",
                Context_Actor_IdentificatieKenmerk = "x"
            };
            var dossierValidator = new DossierValidator(dossier);

            var result = dossierValidator.Validate();

            Assert.That(result, Is.True);
            Assert.That(dossierValidator.ValidationErrors.Count, Is.EqualTo(0));
        }
예제 #20
0
        public void CanGetCreatedLocationAndBody_Dynamic()
        {
            // Arrange
            Dossier dossier = new Dossier
            {
                Title = "A new dossier"
            };

            IService service = SetupFixture.CreateDefaultService();
            ISession session = service.NewSession();

            session.Service.CodecManager.AddCodec <object, JsonSerializerCodec>(CMSConstants.CMSMediaType);
            Request request = session.Request(DossiersUrl).AcceptJson();

            // Act
            using (Response response = request.Post(dossier))
            {
                // Assert
                Uri     createdDossierLocation = response.CreatedLocation;
                dynamic createdDossier         = response.Body;

                Assert.IsNotNull(createdDossierLocation);
                Assert.IsNotNull(createdDossier);
                Assert.AreEqual("A new dossier", createdDossier.Title);
            }
        }
예제 #21
0
        /// <summary>
        /// Updates the location of the dossier data, matching it to the dossier's name.
        /// </summary>
        /// <param name="dossier">The dossier to update.</param>
        /// <param name="newTitle">The new dossier title.</param>
        /// <param name="ct">The cancellation token in use.</param>
        /// <returns>An entity modification result which may or may not have succeeded.</returns>
        public async Task <ModifyEntityResult> UpdateDossierDataLocationAsync
        (
            Dossier dossier,
            string newTitle,
            CancellationToken ct = default
        )
        {
            var originalDossierPath = GetDossierDataPath(dossier);

            var newDossierPath = UPath.Combine(this.BaseDossierPath, $"{newTitle}.pdf");

            if (!_content.FileSystem.FileExists(originalDossierPath) || originalDossierPath == newDossierPath)
            {
                return(ModifyEntityResult.FromSuccess());
            }

            try
            {
                _content.FileSystem.MoveFile(originalDossierPath, newDossierPath);
            }
            catch (Exception e)
            {
                return(ModifyEntityResult.FromError(e.Message));
            }

            await _database.SaveChangesAsync(ct);

            return(ModifyEntityResult.FromSuccess());
        }
        public void TestCreationDossier()
        {
            Adresse adresse = new Adresse("Marie Curie", "Saint-Jean-sur-Richelieu", "QC", "J2W3C3");

            Compte compte = new Compte("Louis", "Lesage", 1111, new DateTime(1999, 4, 23), adresse, "5146609246", "*****@*****.**", Grade.Capitaine, Hashage.Encrypter("bonjour"));

            List <Personne> listePersonne = new List <Personne>();
            Personne        personne      = new Personne(1, "Jean", "Pagé", new DateTime(1997, 1, 24), "114 Marie Curie", CodePersonne.AVU);
            Personne        personne2     = new Personne(2, "Bob", "Tourmaline", new DateTime(1995, 03, 05), "234 Chalifoux", CodePersonne.DEM);

            listePersonne.Add(personne);
            listePersonne.Add(personne2);

            List <Vehicule> listeVehicule = new List <Vehicule>();

            listeVehicule.Add(new Vehicule(1, "Honda", "Civic", 1997, CodeVehicule.VDP, personne));

            RapportEnquete   rapportEnquete   = new RapportEnquete("1 Le chat appartenais à la locataire de l'immeuble A123", compte);
            RapportEvenement rapportEvenement = new RapportEvenement(CodeDeNature.TousLesCodesDeNature[0], new DateTime(2016, 2, 23, 12, 32, 22), adresse, "Aucune chose à précisé");
            RapportAccident  rapportAccident  = new RapportAccident(1, listeVehicule, adresse, new DateTime(1999, 10, 12, 1, 23, 44), "Grave blessé sur place et un chat écrasé par une auto.");
            Statut           statut           = new Statut("ASD123", DateTime.Now, CodeStatut.A, compte.Matricule);
            Destination      destination      = new Destination(DateTime.Now, CodeDestination.ATT, " nothing ", "ASD123", compte.Matricule);
            Dossier          dossier          = new Dossier("ASD123", statut, rapportAccident, rapportEvenement, rapportEnquete, destination, listeVehicule, listePersonne);


            Assert.AreEqual(listePersonne, dossier.Personnes);
            Assert.AreEqual(listeVehicule, dossier.Vehicules);
            Assert.AreEqual(rapportEnquete, dossier.RapportEnquete);
            Assert.AreEqual(rapportEvenement, dossier.RapportEvenement);
            Assert.AreEqual(rapportAccident, dossier.RapportAccident);
            Assert.AreEqual(statut, dossier.Statut);
            Assert.AreEqual(destination, dossier.Destination);
        }
예제 #23
0
        public void Chargerlesfichierdsd(Utulisateur user, Dossier directory)
        {
            fichier d;
            string  smt = "SELECT nom,proprietair,emplacement,format,droitacces,datecreation,blob,id FROM dbo.Fichier Where proprietair=@owner and  emplacement=@parent ";

            cmd = new SqlCommand(smt, conn);
            cmd.Parameters.AddWithValue("@owner", user.GetNom());
            cmd.Parameters.AddWithValue("@parent", directory.Getid());
            SqlDataReader rs = cmd.ExecuteReader();

            while (rs.Read())
            {
                if (rs.IsDBNull(6))
                {
                    d = new fichier(rs.GetString(0), rs.GetString(3), user, directory, rs.GetInt32(7));
                }
                else
                {
                    byte[] byteData = (byte[])rs[6];
                    d = new fichier(rs.GetString(0), rs.GetString(3), user, directory, byteData);
                }
                directory.Setlistfichier(d);
            }
            rs.Close();
        }
예제 #24
0
        /// <summary>
        /// Methode pour lancer la deserialisation d'un fichier chiffre
        /// </summary>
        /// <param name="Chiffrement">Chiffrement du fichier</param>
        /// <param name="ListeDossier">L'arborescence qui va recuperer le resultat de la deserialisation</param>
        private static void CaseDeserialisation(Rijndael Chiffrement, ref Dossier ListeDossier)
        {
            // Si nous n'avons pas serialiser avant ou que notre base de donnee a ete supprime, on ne peut pas deserialiser
            if (Constantes.ChoixSerialisation == null)
            {
                Console.WriteLine("Le fichier de Serialisation n'existe pas (vous n'avez peut etre pas serialiser de donnee)\n");
            }
            else
            {
                // Si l'utilisateur saisit un mot de passe invalide, alors on supprime la base de donnee
                if (!SaisieUtilisateur.MotDePasseValide())
                {
                    Constantes.ChoixSerialisation = null;
                    File.Delete(Constantes.CheminFichierChiffrer);
                    Console.WriteLine("Mot de passe Invalide 3 tentatives .. Suppression de la Base de donnée\n");
                }

                // Sinon on essaie de deserialiser
                else
                {
                    try
                    {
                        Constantes.ChoixSerialisation.Deserialise(Chiffrement, ref ListeDossier);
                        Constantes.ChoixSerialisation = null;
                    }
                    catch (FileNotFoundException)
                    {
                        Console.WriteLine("Le fichier n'existe pas\n");
                    }
                }
            }
        }
예제 #25
0
        public void DernierePrestationTest()
        {
            Dossier    unDossier      = InitialiseDossier();
            Prestation DernierePresta = new Prestation("Libelle P5", new DateTime(2015, 9, 10, 6, 0, 0), new Intervenant("Tournier", "Hélène"));

            Assert.AreEqual(DernierePresta.ToString(), unDossier.DernierePrestation().ToString(), "Ce n'est pas la derniere prestation enregistrée dans le dossier");
        }
예제 #26
0
        public void WhenCreatedHasNoBodyItFollowsLocation()
        {
            // Arrange
            Dossier dossier = new Dossier
            {
                Title = "Do not return body" // magic string!
            };

            Request request = Session.Request(DossiersUrl);

            // Act
            using (Response <Dossier> response = request.Post <Dossier>(dossier))
            {
                // Assert that server does as expected
                Uri     createdDossierLocation = response.CreatedLocation;
                Dossier createdDossier         = response.Body;

                Assert.IsNotNull(createdDossierLocation);
                Assert.Null(createdDossier);

                // Assert that client does as expected
                createdDossier = response.Created();
                Assert.IsNotNull(createdDossier);
            }
        }
예제 #27
0
        public void CanGetCreatedLocationAndBody_AsyncEvent()
        {
            // Arrange
            Dossier dossier = new Dossier
            {
                Title = "A new dossier"
            };

            Request request = Session.Request(DossiersUrl);

            // Act
            TestAsyncEvent(wh =>
            {
                request.AsyncEvent().Post <Dossier>(dossier, response =>
                {
                    // Assert
                    Uri createdDossierLocation = response.CreatedLocation;
                    Dossier createdDossier     = response.Body;

                    Assert.IsNotNull(createdDossierLocation);
                    Assert.IsNotNull(createdDossier);
                    Assert.AreEqual("A new dossier", createdDossier.Title);
                    Assert.AreEqual(999, createdDossier.Id);
                    wh.Set();
                });
            });
        }
예제 #28
0
        /// <summary>
        /// Permet de supprimer un fichier (physiquement et en base).
        /// </summary>
        /// <param name="id">id du fichier</param>
        /// <returns></returns>
        public ActionResult DeleteFichier(int id)
        {
            int idDossierParent = int.Parse(System.Web.HttpContext.Current.Session["niveauDossier"] as string);

            //récupération du fichier
            Dossier fichier = db.Dossiers.Find(id);

            if (fichier != null)
            {
                //suppression physique
                var path = Server.MapPath(GenererCheminPourDossier(fichier.Nom));
                System.IO.File.Delete(path);

                //suppression en base pour le côté client
                TraiteDonneesUtilisateur(31, 0, 0, int.Parse(System.Web.HttpContext.Current.Session["versionIdEnCours"].ToString()), fichier.Nom);

                //suppression en base
                db.Dossiers.Remove(fichier);
                db.SaveChanges();

                Success(string.Format("La fichier {0} a été supprimé avec succès.", fichier.Nom), true);
            }

            return(RedirectToAction("GereFichier", "Admin", new { id = idDossierParent }));
        }
예제 #29
0
 private void txtNN_TextChanged(object sender, EventArgs e)
 {
     btnAddDocs.Enabled = false;
     btnSave.Text       = " (F1) ذخیره پرونده";
     _Dossier           = new Dossier();
     _Dossier           = _DossierService.getByPN(txtPN.Text);
     if (_Dossier != null)
     {
         txtReshte.Text     = _Dossier.Reshte;
         txtMaghta.Text     = _Dossier.Maghta;
         txtName.Text       = _Dossier.Name;
         txtFamily.Text     = _Dossier.Family;
         txtNN.Text         = _Dossier.NN;
         txtFatherName.Text = _Dossier.FatherName;
         showImage();
         btnAddDocs.Enabled = true;
         btnSave.Text       = "(F1) ویرایش پرونده";
     }
     else
     {
         txtReshte.Text     = "";
         txtMaghta.Text     = "";
         txtReshte.Text     = "";
         txtName.Text       = "";
         txtFamily.Text     = "";
         txtNN.Text         = "";
         txtFatherName.Text = "";
     }
 }
예제 #30
0
        private void btn_ajouter_Click(object sender, EventArgs e)
        {
//B-4
            //	Créer un dossier (ou fichier) et ajouter le à la collections des dossiers du disq_c.
            //	Afficher le message d’exception au cas d’un espace insuffisant sur le disque.
            //	Ajouter le chemin du dossier (seulement les dossiers) au ComboBox cmb_dossiers

            Dossier d;

            if (Cb_fichier.Checked)
            {
                d = new Fichier(txt_nom.Text, Pb_icone.Image, disq_c.DossierParChemin(cmb_dossiers.Text), txt_extension.Text, long.Parse(txt_taille.Text));
            }
            else
            {
                d = new Dossier(txt_nom.Text, Pb_icone.Image, disq_c.DossierParChemin(cmb_dossiers.Text));
                cmb_dossiers.Items.Add(d.Chemin());
            }
            try
            {
                disq_c.AjouterDossier(d);
                ////
                ////
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #31
0
        public DirectoryInfo CreerDossier(Boolean Forcer = false)
        {
            try
            {
                String DossierGED = Societe.UtilisateurCourant.Dossier_GED;

                if (Directory.Exists(DossierGED) && (Dossier == null))
                {
                    String Chemin = Path.Combine(DossierGED, NomDossierClient());

                    DirectoryInfo pDossier = Directory.CreateDirectory(Chemin);

                    //CreerStructureDossier();

                    return(pDossier);
                }

                if (Forcer && (Dossier != null))
                {
                    String Chemin = Path.Combine(DossierGED, NomDossierClient());
                    if (Dossier.FullName != Chemin)
                    {
                        Dossier.MoveTo(Chemin);
                    }

                    return(Dossier);
                }
            }
            catch { }

            return(null);
        }
 /// <summary>
 ///     Decorates the specified <see cref="Dossier" />.
 /// </summary>
 /// <param name="dossier">The <see cref="Dossier" />.</param>
 /// <returns>The decorated <see cref="Dossier" />.</returns>
 public DossierDecorator Decorate(Dossier dossier)
 {
     return new DossierDecorator(dossier, this);
 }
예제 #33
0
        private void ReloadDossier(DossierManager sender)
        {
            try
            {
                if (dictPlayers.Count > 0)
                {
                    DossierManager dm = (DossierManager)sender;
                    Dossier fileB = new Dossier(dm.GetFileB(), dm.GetPlayerName, _message);
                    Dossier fileA = new Dossier(dm.GetFileA(), dm.GetPlayerName, _message);

                    _currentStatsFile[dm.GetPlayerID.Replace("_", "*")] = new WOTCompare(fileB.GetStats(), fileA.GetStats());

                    CreateWebPage(_currentPage, _currentPlayer);
                }
            }
            catch (Exception ex)
            {
                _message.Add("Error: cannot refresh dossier file. - " + ex.Message);
            }
        }
        /// <summary>
        ///     Saves a dossier asynchronously to a stream.
        /// </summary>
        /// <param name="dossier">The dossier to save.</param>
        /// <param name="stream">The stream to save to.</param>
        /// <param name="onFail">The error handler.</param>
        /// <exception cref="ArgumentNullException">When <paramref name="dossier" /> or <paramref name="stream" />is null.</exception>
        public static IResult SaveToAsync(Dossier dossier, Stream stream, Action<Exception> onFail)
        {
            Contract.Requires<ArgumentNullException>(dossier != null);
            Contract.Requires<ArgumentNullException>(stream != null);

            var serializer = new DataContractSerializer(typeof(Dossier));
            var xmlWriterSettings = new XmlWriterSettings
                                    {
                                        CheckCharacters = true,
                                        Encoding = new UTF8Encoding(),
                                        Indent = true
                                    };

            return new AsyncResult(() =>
                                   {
                                       using (
                                           XmlDictionaryWriter writer =
                                               XmlDictionaryWriter.CreateDictionaryWriter(XmlWriter.Create(stream,
                                                                                                           xmlWriterSettings))
                                           )
                                       {
                                           serializer.WriteObject(writer, dossier, new DecoratedTypeResolver());
                                       }
                                   },
                                   null,
                                   onFail);
        }
예제 #35
0
 public void SetUp()
 {
     // la configuration de base qui va être rétablie après chaque test unitaire
     Path utilisateur = new Path();
     Dossier home = new Dossier("c:");
     utilisateur.start(home);
     utilisateur.current.create("f","unfichier");
     utilisateur.current.create("d", "undossier");
 }
예제 #36
0
파일: Path.cs 프로젝트: zarper/FileSystem
 public void start(Dossier first)
 {
     this.current = first;
     this.etat = "fichier";
     int taille = arbo.Length;
     Array.Resize(ref arbo, taille + 1);
     this.arbo[taille] = ""+first.nom+"";
 }
예제 #37
0
        static void Main(string[] args)
        {
            bool fin = false;
            string commande;
            string[] listecommande;

            Path utilisateur = new Path();
            Dossier home = new Dossier("c:");
            utilisateur.start(home);

            while (fin == false)
            {

                commande = Console.ReadLine();
                listecommande = commande.Split(' ');
                commande = listecommande[0];

                switch (commande)
                {
                    #region attribut CD
                    case "cd":
                            if (2 == listecommande.Length)
                            {
                                if (utilisateur.current.canExecute(utilisateur.current.autorisation))
                                {
                                    utilisateur.cd(listecommande[1]);
                                }
                                else
                                {
                                Console.WriteLine("Vous n'avez pas les droit pour vous déplacer dans ce fichier");
                                }
                            }
                            else
                            {
                                Console.WriteLine("Votre commande cd n'est pas bien écrite EX:\"cd [nom du répertoire]\"");
                            }
                            break;
                    #endregion

                    #region attribut mkdir
                    case "mkdir":
                          if (2 == listecommande.Length)
                          {
                              if(utilisateur.current.canWrite(utilisateur.current.autorisation))
                              {
                                  Dossier ledossier = new Dossier (listecommande[2],"dossier",utilisateur.current);
                                  utilisateur.adddossier(ledossier, utilisateur.current);
                              }
                              else
                              {
                                  Console.WriteLine("Vous n'avez pas les droit pour écrire dans ce fichier");
                              }
                          }
                          break;
                    #endregion

                    #region attribut getPath
                    case "getPath":
                            if (1 != listecommande.Length)
                            {
                                Console.WriteLine("Votre commande path n'est pas bien écrite EX:\"path\"");
                            }
                            else
                            {
                                Console.WriteLine(utilisateur.getPath());
                            }
                            break;
                    #endregion

                    #region attribut ls
                        case "ls":
                         if (1 == listecommande.Length)
                         {
                             Console.WriteLine(utilisateur.current.ls(utilisateur.current));
                         }
                         else
                         {
                             Console.WriteLine("Votre commande ls n'est pas bien écrite EX:\"ls\"");
                         }
                         break;
                        #endregion

                    #region attribut search
                    case "search":
                    if (2 == listecommande.Length)
                        {
                            Console.WriteLine(utilisateur.search(listecommande[2],utilisateur.current));
                        }
                        break;
                    #endregion

                    #region attribut getRoot
                    case "getRoot":
                        utilisateur.getRoot();
                         break;
                    #endregion

                    #region attribut nano
                    case "nano":
                         if (1 != listecommande.Length)
                         {
                             if (utilisateur.current.canWrite(utilisateur.current.autorisation))
                             {
                                 string chaine;
                                 Console.Clear();
                                 chaine = Console.ReadLine();
                                 Fichier lefichier = new Fichier(listecommande[1], "fichier", utilisateur.current, chaine);
                                 utilisateur.current.addfichier(lefichier);
                                 Console.Clear();
                             }
                             else
                             {
                                 Console.WriteLine("Vous n'avez pas les droit pour modifier ce fichier");
                             }
                         }
                         break;
                    #endregion

                    #region attribut createNewFile
                    case "create":
                        if (2 == listecommande.Length)
                        {
                             if (utilisateur.current.canWrite(utilisateur.current.autorisation))
                             {
                                 string letype = "";
                                 while (letype != "d" || letype != "f")
                                 {
                                     Console.WriteLine("\n fichier => f"
                                                     + "\n ou"
                                                     + "\n dossier => d");
                                     letype = Console.ReadLine();
                                 }

                                 if (letype == "f")
                                 {
                                     string chaine;
                                     Console.Clear();
                                     chaine = Console.ReadLine();
                                     Fichier lefichier = new Fichier(listecommande[2], "fichier", utilisateur.current, chaine);
                                     utilisateur.current.addfichier(lefichier);
                                     Console.Clear();
                                 }
                                 else if (letype == "d")
                                 {
                                     Dossier ledossier = new Dossier(listecommande[2], "dossier", utilisateur.current);
                                     utilisateur.current.adddossier(ledossier);
                                 }
                                 else
                                 {
                                     Console.WriteLine("Votre commande create n'est pas bien écrite EX:\"create [nom du fichier]\"");
                                 }
                             }
                             else
                             {
                                 Console.WriteLine("Vous n'avez pas les droit pour modifier ce fichier");
                             }
                         }
                         break;
                    #endregion

                    #region attribut delete
                    case "delete":
                         if (2 == listecommande.Length)
                         {
                             if (utilisateur.current.canWrite(utilisateur.current.autorisation))
                             {
                                 string lefile = listecommande[1];
                                 utilisateur.delete(lefile);
                             }
                             else
                             {
                                 Console.WriteLine("Vous n'avez pas les droit pour modifier ce fichier");
                             }
                         }
                         else
                         {
                             Console.WriteLine("Votre commande delete n'est pas bien écrite EX:\"delete [nom du fichier]\"");
                         }

                         break;
                    #endregion

                    #region attribut renameTo
                    case "renameTo":
                         if (3 == listecommande.Length)
                         {
                             utilisateur.current.renameTo(listecommande[2]);
                         }
                         else
                         {
                             Console.WriteLine("Votre commande rename n'est pas bien écrite EX:\"rename [fichier a modifier] [nouveau nom]\"");
                         }
                         break;
                    #endregion

                    #region attribut chmod
                    case "chmod":
                        if (2 == listecommande.Length)
                        {
                            utilisateur.current.chmod(Int32.Parse(listecommande[1]));
                        }
                         break;
                    #endregion

                    #region attribut isFile
                    case "file":
                         if (utilisateur.current.type == "fichier")
                         {
                             Console.WriteLine("vous êtes bien dans un fichier");
                         }
                         else
                         {
                             Console.WriteLine("vous n'êtes pas dans un fichier");
                         }
                         break;
                    #endregion

                    #region attribut isDirectory
                    case "directory":
                         if (utilisateur.current.type == "dossier")
                         {
                             Console.WriteLine("le dossier courant est un directory");
                         }
                         else
                         {
                             Console.WriteLine("le dossier courant n'est pas un directory");
                         }
                         break;
                    #endregion

                    #region attribut getName
                    case "name":
                         if (1 == listecommande.Length)
                         {
                             Console.WriteLine(utilisateur.current.nom);
                         }
                         break;
                    #endregion

                    #region attribut getParent
                    case "parent":
                         if (1 == listecommande.Length)
                         {
                             utilisateur.cd();
                         }
                         else
                         {
                             Console.WriteLine("Votre commande .. n'est pas bien écrite EX:\"..\"");
                         }

                         break;
                    #endregion

                    #region attribut lirefichier
                    case "show":
                         if (1 != listecommande.Length)
                         {
                             utilisateur.ficheraffichage(listecommande[1]);
                         }
                         else
                         {
                             Console.WriteLine("Votre commande show n'est pas bien écrite EX:\"show [nom de fichier]\"");
                         }
                         break;
                    #endregion

                    #region attribut canWrite
                    case "write":
                         if (1 != listecommande.Length)
                         {
                             if (utilisateur.canWrite() == true)
                             {
                                 Console.WriteLine("vous pouvez modifier le fichier");
                             }
                         }
                         else
                         {
                             Console.WriteLine("Votre commande write n'est pas bien écrite EX:\"write\"");
                         }
                         break;
                    #endregion

                    #region attribut canRead
                    case "read":
                         if (1 != listecommande.Length)
                         {
                             if (utilisateur.canRead() == true)
                             {
                                 Console.WriteLine("vous pouvez lire le fichier");
                             }
                         }
                         else
                         {
                             Console.WriteLine("Votre commande read n'est pas bien écrite EX:\"read\"");
                         }
                         break;
                    #endregion

                    #region attribut canExecute
                    case "execute":
                         if (1 != listecommande.Length)
                         {
                             if (utilisateur.canExecute() == true)
                             {
                                 Console.WriteLine("vous pouvez éxécuter le fichier");
                             }
                         }
                         else
                         {
                             Console.WriteLine("Votre commande execute n'est pas bien écrite EX:\"execute\"");
                         }
                         break;
                    #endregion

                    #region attribut shutdown
                    case "shutdown":
                         fin = true;
                         Console.WriteLine("appuyer pour éteindre");
                         Console.ReadLine();
                         break;
                    #endregion

                    #region attribut default
                    default:
                        Console.WriteLine("La commande : " + commande + " est érroné");
                        break;
                    #endregion

                    #region attribut vide
                    case "":
                    break;
                    #endregion
                }
            }
        }