コード例 #1
0
        public ActionResult PreSentence(int conflictId)
        {
            var conflict  = BLLConflicts.GetConflictForArbitration(conflictId);
            var demandeur = conflict.UsersInConflicts.First(c => c.IdUser == conflict.IdCreationUser);

            if (demandeur.IsLawyer != null && demandeur.IsLawyer.Value)
            {
                demandeur = conflict.UsersInConflicts.First(c => c.IdLawyer == conflict.IdCreationUser);
            }
            var defendeur = conflict.UsersInConflicts.First(c => (c.IsLawyer == null || !c.IsLawyer.Value) && c.IdUser != demandeur.IdUser);

            if (demandeur.UserCompany == null || demandeur.UserCompany.Company == null ||
                defendeur.UserCompany == null || defendeur.UserCompany.Company == null)
            {
                TempData["Error"] = "Vous devez renseigner les informations d'entreprises de chaque parties avant de pouvoir générer la pré-sentence";
                return(RedirectToAction("Conflict", "Viewer", new { conflictId = conflictId }));
            }

            var file      = DocGenerator.GeneratePreSentenceReport(conflict);
            var azureFile = AzureFileHelper.AddFile(conflictId, file.FileStream, file.FileName);

            return(View("WritePreSentence", new WritePreSentenceModel()
            {
                Conflict = conflict, Url = azureFile.Uri.AbsoluteUri
            }));
        }
コード例 #2
0
ファイル: DocumentHelper.cs プロジェクト: keshava/ODR
        public static Stream GenerateMissionAct(int conflictId)
        {
            Conflict conflict  = BLLConflicts.GetConflictForArbitration(conflictId);
            var      demandeur = conflict.UsersInConflicts.First(c => c.IdUser == conflict.IdCreationUser);

            if (demandeur.IsLawyer != null && demandeur.IsLawyer.Value)
            {
                demandeur = conflict.UsersInConflicts.First(c => c.IdLawyer == conflict.IdCreationUser);
            }
            var defendeur = conflict.UsersInConflicts.First(c => (c.IsLawyer == null || !c.IsLawyer.Value) && c.IdUser != demandeur.IdUser);

            var stream = File.OpenWrite(HttpContext.Current.Server.MapPath("~/Templates/C1.Acte De Mission.docx"));

            using (DocX document = DocX.Load(stream))
            {
                document.ReplaceText("[N° du Litige]", conflict.Id.ToString());
                document.ReplaceText("[N° RCS Demandeur]", demandeur.UserCompany != null && demandeur.UserCompany.Company != null ? demandeur.UserCompany.Company.RCS : "RCS Inconnu");
                document.ReplaceText("[N° RCS Défendeur]", defendeur.UserCompany != null && defendeur.UserCompany.Company != null ? defendeur.UserCompany.Company.RCS : "RCS Inconnu");
                document.ReplaceText("[Demandeur]", demandeur.User.DisplayName);
                document.ReplaceText("[Défendeur]", defendeur.User.DisplayName);
                document.ReplaceText("[Arbitre]", conflict.Arbiter.DisplayName);
                document.ReplaceText("[Date]", DateTime.Now.ToShortDateString());
            }

            return(stream);
        }
コード例 #3
0
        public ActionResult Sentence(int conflictId)
        {
            var conflict  = BLLConflicts.GetConflictForArbitration(conflictId);
            var file      = DocGenerator.GenerateSentenceReport(conflict);
            var azureFile = AzureFileHelper.AddFile(conflictId, file.FileStream, file.FileName);

            return(View("WriteSentence", new WritePreSentenceModel()
            {
                Conflict = conflict, Url = azureFile.Uri.AbsoluteUri
            }));
        }
コード例 #4
0
        public ActionResult ProcedureClosure(int id, int conflictId)
        {
            var conflict  = BLLConflicts.GetConflictForArbitration(conflictId);
            var debate    = BLLDebates.GetDebate(id);
            var file      = DocGenerator.GenerateOrdonnanceProcedure(conflict, debate);
            var azureFile = AzureFileHelper.AddFile(conflictId, file.FileStream, file.FileName);

            return(View("ProcedureClosure", new ProcedureClosureModel()
            {
                Conflict = conflict, Debat = debate, DocumentUrl = azureFile.Uri.AbsoluteUri
            }));
        }
コード例 #5
0
        public ActionResult AskForVisio(int conflictId, string reason)
        {
            var  conflict = BLLConflicts.GetConflictForArbitration(conflictId);
            Guid guid     = Guid.NewGuid();

            FastArbitreEmails.VisioAsked(conflict.Arbiter.Email, User.Identity.FirstName() + " " + User.Identity.LastName(), conflictId, reason,
                                         Request.UrlReferrer.DnsSafeHost + Url.Action("Conflict", "Viewer", new { conflictId = conflictId }), Request.UrlReferrer.DnsSafeHost + Url.Action("RefuseVisio", new { conflictId = conflictId }),
                                         Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid);

            TempData["info"] = "Votre message vient d'être envoyé a l'arbitre. Celui vous proposera rapidement des dates s'il accepte le motif de votre visio conférence.";

            return(RedirectToAction("Conflict", new { conflictId = conflictId }));
        }
コード例 #6
0
        public ActionResult AskArbitration(int conflictId)
        {
            AskArbitrationViewModel model = new AskArbitrationViewModel();

            model.Conflict = BLLConflicts.GetConflictForArbitration(conflictId);
            model.User     = BLLUsers.GetMyProfil(User.Identity.GetId());
            if (model.Conflict.UsersInConflicts.First(c => c.IdUser == model.User.Id).IdUserCompany != null)
            {
                model.Company = BLLCompanies.GetCompany(model.Conflict.UsersInConflicts.First(c => c.IdUser == model.User.Id).IdUserCompany.Value);
            }
            if (model.Company == null)
            {
                model.Company = new Company();
            }
            return(View(model));
        }
コード例 #7
0
ファイル: DocumentHelper.cs プロジェクト: keshava/ODR
        public static Stream GenerateIndependencyAndAcceptanceAct(int conflictId)
        {
            Conflict conflict = BLLConflicts.GetConflictForArbitration(conflictId);

            var stream = File.OpenWrite(HttpContext.Current.Server.MapPath("~/Templates/C2. Déclaration d'acceptation et d'indépendance_V1.docx"));

            using (DocX document = DocX.Load(stream))
            {
                document.ReplaceText("[N° du Litige]", conflict.Id.ToString());
                document.ReplaceText("[Demandeur]", conflict.CreatedBy.DisplayName);
                document.ReplaceText("[Défendeur]", conflict.UsersInConflicts.First(c => c.IdUser != conflict.IdCreationUser).User.DisplayName);
                document.ReplaceText("[Arbitre]", conflict.Arbiter.DisplayName);
                document.ReplaceText("[Date]", DateTime.Now.ToShortDateString());
            }

            return(stream);
        }
コード例 #8
0
        public ActionResult ContactArbitre(int conflictId, string text)
        {
            Message m = new Message();

            m.CreateDate  = DateTime.Now;
            m.IdConflict  = conflictId;
            m.IdCreatedBy = User.Identity.GetId();
            m.Text        = text;
            m             = BLLConflicts.AddMessage(m);

            var conflict = BLLConflicts.GetConflictForArbitration(conflictId);

            if (User.Identity.Email() == conflict.Arbiter.Email)
            {
                foreach (var item in conflict.UsersInConflicts)
                {
                    if (!item.IsRepresented)
                    {
                        Guid guid = Guid.NewGuid();
                        FastArbitreEmails.SendMessageToArbiter(item.User.Email, conflict.Arbiter.DisplayName, conflictId, Url.Action("Messages", "Arbitre", new { conflictId = conflictId }, this.Request.Url.Scheme), Url.Action("Index", "Email", new { id = guid.ToString() }, this.Request.Url.Scheme), guid);
                    }
                }
            }
            else
            {
                foreach (var item in conflict.UsersInConflicts)
                {
                    if (!item.IsRepresented && item.IdUser != User.Identity.GetId())
                    {
                        Guid guid = Guid.NewGuid();
                        FastArbitreEmails.SendMessageToArbiter(item.User.Email, User.Identity.FirstName() + " " + User.Identity.LastName(), conflictId, Url.Action("Messages", "Arbitre", new { conflictId = conflictId }, this.Request.Url.Scheme), Url.Action("Index", "Email", new { id = guid.ToString() }, this.Request.Url.Scheme), guid);
                    }
                }
                Guid gud = Guid.NewGuid();
                FastArbitreEmails.SendMessageToArbiter(conflict.Arbiter.Email, User.Identity.FirstName() + " " + User.Identity.LastName(), conflictId, Url.Action("Messages", "Arbitre", new { conflictId = conflictId }, this.Request.Url.Scheme), Url.Action("Index", "Email", new { id = gud.ToString() }, this.Request.Url.Scheme), gud);
            }


            TempData["Success"] = "Votre message a bien été envoyé!";
            return(RedirectToAction("Conflict", "Viewer", new { conflictId = conflictId }));
        }
コード例 #9
0
        public ActionResult Assign(int conflictId, string arbiterId)
        {
            var conflict  = BLLConflicts.GetConflictForArbitration(conflictId);
            var demandeur = conflict.UsersInConflicts.First(c => c.IdUser == conflict.IdCreationUser);

            if (demandeur.IsLawyer != null && demandeur.IsLawyer.Value)
            {
                demandeur = conflict.UsersInConflicts.First(c => c.IdLawyer == conflict.IdCreationUser);
            }
            var defendeur = conflict.UsersInConflicts.First(c => (c.IsLawyer == null || !c.IsLawyer.Value) && c.IdUser != demandeur.IdUser);

            if (demandeur.UserCompany == null || demandeur.UserCompany.Company == null || !demandeur.UserCompany.Company.isFilled() ||
                defendeur.UserCompany == null || defendeur.UserCompany.Company == null || !defendeur.UserCompany.Company.isFilled())
            {
                TempData["Error"] = "Vous devez avoir rempli les formulaires administratif des parties (adresses,rcs,etc) avant de pouvoir assigner le cas.";
                return(RedirectToAction("Conflict", "Viewer", new { conflictId = conflictId }));
            }



            BLLArbiter.AssignArbiterToConflict(conflictId, arbiterId);
            var arbiter = BLLUsers.GetUserById(arbiterId);


            //Generate Mission Order and save it on cloud
            var stream = DocGenerator.GenerateMissionOrder(conflictId);
            var blob   = AzureFileHelper.AddFile(conflictId, stream.FileStream, stream.FileName);

            stream.FileStream.Dispose();
            BLLLegalDocuments.AddLegalDocument(new LegalDocument()
            {
                IdConflict = conflictId, Filename = stream.FileName, Url = blob.Uri.AbsoluteUri, Type = (int)LegalDocumentTypeEnum.MissionAct
            });
            Guid guid = Guid.NewGuid();

            FastArbitreEmails.NewMissionOrder(arbiter.Email, blob.Uri.AbsoluteUri, Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid);

            return(RedirectToAction("Centre"));
        }
コード例 #10
0
        // GET: Viewer
        public ActionResult Conflict(int conflictId, string i)
        {
            if (TempData.Keys.Any(c => c == "Info"))
            {
                ViewBag.Info = TempData["Info"];
            }
            else if (TempData.Keys.Any(c => c == "Error"))
            {
                ViewBag.Error = TempData["Error"];
            }
            else if (TempData.Keys.Any(c => c == "Success"))
            {
                ViewBag.Success = TempData["Success"];
            }

            var conflict = BLLConflicts.GetConflictForArbitration(conflictId);

            if (conflict.State == (int)ConflictState.FreeHandsArbitration)
            {
                var state = conflict.ConflictStateHistorics.Where(c => c.ConflictStateId == (int)ConflictState.FreeHandsArbitration).LastOrDefault();
                if (state != null)
                {
                    if (state.CreateDate.AddDays(state.CountDown.Value) < DateTime.Now)
                    {
                        BLLConflicts.AddConflictStateHistoric(new ConflictStateHistoric()
                        {
                            CreateDate        = state.CreateDate.AddDays(state.CountDown.Value),
                            IdConflict        = conflictId,
                            ConflictStateId   = (int)ConflictState.ExchangeClosure,
                            ConflictStateName = MetadataHelper.GetEnumDisplayNAme(ConflictState.ExchangeClosure)
                        });

                        BLLConflicts.UpdateConflictState(conflictId, (int)ConflictState.ExchangeClosure);
                        conflict = BLLConflicts.GetConflictForArbitration(conflictId);
                    }
                }
            }
            else if (conflict.State == (int)ConflictState.PreConclusionDebate)
            {
                var state = conflict.ConflictStateHistorics.Where(c => c.ConflictStateId == (int)ConflictState.PreConclusionDebate).FirstOrDefault();
                if (state != null)
                {
                    if (state.CreateDate.AddDays(state.CountDown.Value) < DateTime.Now)
                    {
                        BLLConflicts.AddConflictStateHistoric(new ConflictStateHistoric()
                        {
                            CreateDate        = state.CreateDate.AddDays(state.CountDown.Value),
                            IdConflict        = conflictId,
                            ConflictStateId   = (int)ConflictState.EndOfDebates,
                            ConflictStateName = MetadataHelper.GetEnumDisplayNAme(ConflictState.EndOfDebates)
                        });

                        BLLConflicts.AddConflictStateHistoric(new ConflictStateHistoric()
                        {
                            CreateDate        = DateTime.Now,
                            IdConflict        = conflictId,
                            ConflictStateId   = (int)ConflictState.FinalDeliberation,
                            ConflictStateName = MetadataHelper.GetEnumDisplayNAme(ConflictState.FinalDeliberation)
                        });

                        BLLConflicts.UpdateConflictState(conflictId, (int)ConflictState.FinalDeliberation);
                        conflict = BLLConflicts.GetConflictForArbitration(conflictId);
                    }
                }
            }

            return(View(conflict));
        }