public async Task <IActionResult> PutLitige(int id, Litige litige)
        {
            if (id != litige.Id)
            {
                return(BadRequest());
            }

            _context.Entry(litige).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LitigeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <Litige> > PostLitige(Litige litige)
        {
            _context.Litige.Add(litige);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetLitige", new { id = litige.Id }, litige));
        }
Beispiel #3
0
        public ActionResult Litige(int IdFeat, int IdMembre)
        {
            Litige newLitige = new Litige()
            {
                CreationDate = DateTime.Now,
                Createur     = GetMembre(IdMembre),
                Feat         = GetFeat(IdFeat)
            };

            ViewBag.TypeLitige = new SelectList((from m in _context.TypeLitiges
                                                 orderby m.Libelle
                                                 select m.Libelle).ToList().Distinct());
            Membre membre = _context.Membres
                            .Where(b => b.Id == IdMembre)
                            .FirstOrDefault();

            ViewBag.PrenomMembre = membre.Prenom;
            ViewBag.NomMembre    = membre.Nom;
            ViewBag.IdMembre     = membre.Id;
            _context.Add(newLitige);



            return(View(newLitige));
        }
Beispiel #4
0
        public void GenerateCasesLarge()
        {
            var dtRaw = new DataTable("allData");

            dtRaw.Columns.Add("Facteur", typeof(double));
            dtRaw.Columns.Add("Dommage", typeof(double));
            dtRaw.Columns.Add("Frais", typeof(double));
            dtRaw.Columns.Add("Depens", typeof(double));
            dtRaw.Columns.Add("Honoraires", typeof(double));
            dtRaw.Columns.Add("ProbaGain", typeof(double));

            foreach (var m in multipliersLarge)
            {
                for (int i = 1; i <= N; i++)
                {
                    var l = new Litige(Math.Round(1 * m));
                    l.decidePremiereInstance();
                    dtRaw.Rows.Add(
                        m,
                        l.dommage,
                        l.fraisJudiciaires,
                        l.depens,
                        l.honoraireAvocats,
                        l.calculeProbabiliteMinimum()
                        );
                }
            }
            Csv.Write(dtRaw, foDataLarge);
        }
Beispiel #5
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,CreationDate,ClotureDate,Commentaire")] Litige litige)
        {
            if (id != litige.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(litige);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!LitigeExists(litige.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(litige));
        }
Beispiel #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Litige litige = db.Litiges.Find(id);

            db.Litiges.Remove(litige);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #7
0
        public ActionResult LitigePost(int Id, [Bind("Id, CreationDate,ClotureDate,Commentaire,TypeLitige,Createur,Feat")] Litige newLitige, int IdMembre)
        {
            _context.Update(newLitige);
            _context.SaveChanges();


            return(RedirectToAction("MesFeats", "PAFeats", new { @id = IdMembre }));
        }
Beispiel #8
0
 public ActionResult Edit([Bind(Include = "LitigeID,UserId,RaisonLitige,DateLitige")] Litige litige)
 {
     if (ModelState.IsValid)
     {
         db.Entry(litige).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.UserId = new SelectList(db.Users, "Id", "Email", litige.UserId);
     return(View(litige));
 }
Beispiel #9
0
        public async Task <IActionResult> Create([Bind("Id,CreationDate,ClotureDate,Commentaire")] Litige litige)
        {
            if (ModelState.IsValid)
            {
                _context.Add(litige);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(litige));
        }
Beispiel #10
0
        public ActionResult Create([Bind(Include = "LitigeID,UserId,RaisonLitige,DateLitige")] Litige litige)
        {
            if (ModelState.IsValid)
            {
                db.Litiges.Add(litige);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.UserId = new SelectList(db.Users, "Id", "Email", litige.UserId);
            return(View(litige));
        }
Beispiel #11
0
        // GET: Litiges/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Litige litige = db.Litiges.Find(id);

            if (litige == null)
            {
                return(HttpNotFound());
            }
            return(View(litige));
        }
Beispiel #12
0
        // GET: Litiges/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Litige litige = db.Litiges.Find(id);

            if (litige == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UserId = new SelectList(db.Users, "Id", "Email", litige.UserId);
            return(View(litige));
        }
Beispiel #13
0
        public void CalculTauxProcedure()
        {
            var dt = new DataTable("choice");

            dt.Columns.Add("Facteur", typeof(double));
            dt.Columns.Add("TauxProces", typeof(double));
            dt.Columns.Add("Type", typeof(string));

            foreach (var m in multipliersTaux)
            {
                int count = 0, countSans = 0, countAvec = 0, countDemi = 0;
                for (int i = 1; i <= N; i++)
                {
                    count++;
                    var l = new Litige(m);
                    if (l.decidePremiereInstance())
                    {
                        countAvec++;
                    }
                    if (l.decidePremiereInstanceSansAvocat())
                    {
                        countSans++;
                    }
                    if (l.decidePremiereInstanceDemiAvance())
                    {
                        countDemi++;
                    }
                }
                System.Console.WriteLine("Finished set {0} ; total {1} simulations", m, count);
                dt.Rows.Add(m, ((double)countSans) / N, "CPC sans avocat");
                dt.Rows.Add(m, ((double)countAvec) / N, "CPC avec avocat");
                dt.Rows.Add(m, ((double)countDemi) / N, "P-CPC avec avocat");
            }
            var foTaux = new FileInfo(Path.Combine(doBase.FullName, "results-taux.csv"));

            Csv.Write(dt, foTaux);
        }
Beispiel #14
0
        public void GenerateCasesPool()
        {
            Dictionary <double, List <Litige> > dictLitige = new Dictionary <double, List <Litige> >();

            var dtRaw = new DataTable("allData");

            dtRaw.Columns.Add("Facteur", typeof(double));
            dtRaw.Columns.Add("Dommage", typeof(double));
            dtRaw.Columns.Add("Frais", typeof(double));
            dtRaw.Columns.Add("Depens", typeof(double));
            dtRaw.Columns.Add("Honoraires", typeof(double));
            dtRaw.Columns.Add("ProbaGain", typeof(double));

            var dtTauxPool = new DataTable("choicePool");

            dtTauxPool.Columns.Add("Dommage", typeof(double));
            dtTauxPool.Columns.Add("TauxProces", typeof(double));
            dtTauxPool.Columns.Add("Type", typeof(string));

            var dtRawPool = new DataTable("allDataPool");

            dtRawPool.Columns.Add("Facteur", typeof(double));
            dtRawPool.Columns.Add("FacteurGroup", typeof(double));
            dtRawPool.Columns.Add("Frais", typeof(double));
            dtRawPool.Columns.Add("Depens", typeof(double));
            dtRawPool.Columns.Add("Honoraires", typeof(double));
            dtRawPool.Columns.Add("ProbaGain", typeof(double));
            dtRawPool.Columns.Add("TypeGroup", typeof(string));

            foreach (var m in multipliers)
            {
                dictLitige[m] = new List <Litige>();
                int count = 0;
                foreach (var ds in damageJitter)
                {
                    var l = new Litige(Math.Round(ds * m));
                    dictLitige[m].Add(l);
                    dtRaw.Rows.Add(
                        m,
                        ds * m,
                        l.fraisJudiciaires,
                        l.depens,
                        l.honoraireAvocats,
                        l.calculeProbabiliteMinimum()
                        );
                    if (l.decidePremiereInstanceDemiAvance())
                    {
                        count++;
                    }
                }
                dtTauxPool.Rows.Add(m, ((double)count) / N, "PCP/1");
            }
            Csv.Write(dtRaw, foData);

            // Part pooling
            var pooling = new List <int>()
            {
                2, 4, 10, 50, 100
            };

            foreach (var m in multipliers)
            {
                var shuffledLitiges = dictLitige[m].OrderBy(a => Guid.NewGuid()).ToList();
                foreach (var p in pooling)
                {
                    var groupType = String.Format("G-{0}", p);
                    int count     = 0;
                    int n         = N / p;
                    for (int i = 0; i < n; i++)
                    {
                        var test  = shuffledLitiges.GetRange(i * p, p);
                        var group = new LitigeGroup(test);
                        if (group.decidePremiereInstanceDemiAvance())
                        {
                            count += group.count;
                        }
                        dtRawPool.Rows.Add(m,
                                           m * p,
                                           group.fraisJudiciaires,
                                           group.depens,
                                           group.honoraireAvocats,
                                           group.calculeProbabiliteMinimum(),
                                           groupType
                                           );
                    }
                    dtTauxPool.Rows.Add(m, ((double)count) / N, groupType);
                }
            }
            Csv.Write(dtTauxPool, foTauxGroup);
            Csv.Write(dtRawPool, forRawPool);
        }
        /// <summary>
        /// Ajoute une nouvelle civilité à la liste à l'aide d'une nouvelle fenêtre
        /// </summary>
        public Litige Add()
        {
            //Affichage du message "ajout en cours"
            ((App)App.Current)._theMainWindow.parametreMain.progressBarMainWindow.IsIndeterminate = true;
            ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Ajout d'un litige en cours ...";

            //Initialisation de la fenêtre
            LitigeWindow litigeWindow = new LitigeWindow();

            //Création de l'objet temporaire
            Litige tmp = new Litige();

            //Mise de l'objet temporaire dans le datacontext
            litigeWindow.DataContext = tmp;

            //booléen nullable vrai ou faux ou null
            bool? dialogResult = litigeWindow.ShowDialog();

            if (dialogResult.HasValue && dialogResult.Value == true)
            {
                //Si j'appuie sur le bouton Ok, je renvoi l'objet banque se trouvant dans le datacontext de la fenêtre
                return (Litige)litigeWindow.DataContext;
            }
            else
            {
                try
                {
                    //On détache la commande
                    ((App)App.Current).mySitaffEntities.Detach((Litige)litigeWindow.DataContext);
                }
                catch (Exception)
                {
                }

                //Si j'appuie sur le bouton annuler, je préviens que j'annule mon ajout
                ((App)App.Current)._theMainWindow.parametreMain.progressBarMainWindow.IsIndeterminate = false;
                this.recalculMax();
                ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Ajout d'un litige annulé : " + this.mesLitiges.Count() + " / " + this.max;

                return null;
            }
        }
        /// <summary>
        /// Met à jour l'état en bas pour l'utilisateur
        /// </summary>
        /// <param name="typeEtat">texte : "Filtrage", "Ajout", "Modification", "Suppression", "Look", "" ("" = Chargement)</param>
        /// <param name="dao">un objet Commande_Fournisseur soit pour l'ajouter au listing, soit pour afficher qui a été modifié ou supprimé</param>
        public void MiseAJourEtat(string typeEtat, Litige lib)
        {
            //Je racalcul le nombre max d'élements
            this.recalculMax();
            //En fonction de l'libion, j'affiche le message
            if (typeEtat == "Filtrage")
            {
                ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "filtrage des litiges terminé : " + this.mesLitiges.Count() + " / " + this.max;
            }
            else if (typeEtat == "Ajout")
            {
                //J'ajoute la commande_fournisseur dans le linsting
                this.mesLitiges.Add(lib);
                //Je racalcul le nombre max d'élements après l'ajout
                this.recalculMax();
                ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Ajout d'un litige dénommé '" + lib.Libelle + "' effectué avec succès. Nombre d'élements : " + this.mesLitiges.Count() + " / " + this.max;
            }
            else if (typeEtat == "Modification")
            {
                //Je raffraichis mon datagrid
                this._DataGridMain.Items.Refresh();
                ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Modification d'un litige dénommé : '" + lib.Libelle + "' effectuée avec succès. Nombre d'élements : " + this.mesLitiges.Count() + " / " + this.max;
            }
            else if (typeEtat == "Suppression")
            {
                //Je supprime de mon listing l'élément supprimé
                this.mesLitiges.Remove(lib);
                //Je racalcul le nombre max d'élements après la suppression
                this.recalculMax();
                ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Suppression d'un litige dénommé : '" + lib.Libelle + "' effectuée avec succès. Nombre d'élements : " + this.mesLitiges.Count() + " / " + this.max;
            }
            else if (typeEtat == "Look")
            {

            }
            else
            {
                ((App)App.Current)._theMainWindow.parametreMain.textBlockMainWindow.Text = "Chargement des litiges terminé : " + this.mesLitiges.Count() + " / " + this.max;
            }
            //Je retri les données dans le sens par défaut
            this.triDatas();
            //J'arrete la progressbar
            ((App)App.Current)._theMainWindow.parametreMain.progressBarMainWindow.IsIndeterminate = false;
        }