Exemple #1
0
        public ActionResult Quotation(int conflictId)
        {
            var conflict = BLLConflicts.GetConflict(conflictId);

            conflict.State = (int)ConflictState.Quotation;
            BLLConflicts.UpdateConflict(conflict);
            return(RedirectToAction("Conflict", "Viewer", new { conflictId = conflictId }));
        }
Exemple #2
0
        public ActionResult AskArbitrationValidation(int conflictId, Company company)
        {
            var conflict = BLLConflicts.GetConflictForUser(conflictId, User.Identity.GetId());


            var com = BLLUsers.AddOrUpdateCompany(company);

            BLLUsers.UpdateUserMainCompany(com.Id, User.Identity.GetId());

            var uic = conflict.UsersInConflicts.Where(c => c.IdUser == User.Identity.GetId()).FirstOrDefault();

            uic.HasAcceptedArbitration = true;
            BLLConflicts.UpdateUserInConflict(uic);

            conflict = BLLConflicts.GetFullConflict(conflictId);
            if (conflict.UsersInConflicts.All(c => c.HasAcceptedArbitration != null && c.HasAcceptedArbitration.Value) ||
                conflict.HasArbitralClause && conflict.UsersInConflicts.Any(c => c.HasAcceptedArbitration != null && c.HasAcceptedArbitration.Value) &&
                conflict.PaymentState == (int)PaymentStateEnum.Complete)
            {
                conflict.State = (int)ConflictState.ArbitrationReady;
                BLLConflicts.UpdateConflict(conflict);

                foreach (var item in conflict.UsersInConflicts)
                {
                    var hasPayed = false;
                    if (!hasPayed && (item.HasAcceptedArbitration == null || !item.HasAcceptedArbitration.Value))
                    {
                        Guid guid = Guid.NewGuid();
                        FastArbitreEmails.ArbitrationAsked(item.User.Email, conflict.Id,
                                                           Request.UrlReferrer.DnsSafeHost + Url.Action("AskArbitration", "Viewer", new { conflictId = conflict.Id }),
                                                           Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid);
                        hasPayed = true;
                    }
                    else
                    {
                        Guid guid = Guid.NewGuid();
                        FastArbitreEmails.ArbitrationSentToCentre(item.User.Email, conflict.Id,
                                                                  Request.UrlReferrer.DnsSafeHost + Url.Action("AskArbitration", "Viewer", new { conflictId = conflict.Id }),
                                                                  Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid);
                    }
                }
            }
            else
            {
                foreach (var item in conflict.UsersInConflicts.Where(c => c.HasAcceptedArbitration == null || !c.HasAcceptedArbitration.Value))
                {
                    Guid guid = Guid.NewGuid();
                    FastArbitreEmails.ArbitrationAsked(item.User.Email, conflict.Id,
                                                       Request.UrlReferrer.DnsSafeHost + Url.Action("AskArbitration", "Viewer", new { conflictId = conflict.Id }),
                                                       Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid);
                }
            }
            return(RedirectToAction("Conflict", new { conflictId = conflictId }));
        }
Exemple #3
0
        public ActionResult Refuse(int conflictId, string text)
        {
            var conflict = BLLConflicts.GetFullConflict(conflictId);

            conflict.State = (int)ConflictState.RefusedByPlateform;
            BLLConflicts.UpdateConflict(conflict);

            foreach (var item in conflict.UsersInConflicts)
            {
                Guid guid = Guid.NewGuid();

                FastArbitreEmails.CaseRefused(item.User.Email, text, Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid);
            }
            return(RedirectToAction("Centre"));
        }
Exemple #4
0
        public ActionResult RefuseAssignation(int conflictId, string text, string whereFrom)
        {
            var conflict = BLLConflicts.GetConflict(conflictId);

            conflict.State = (int)ConflictState.ArbitrationReady;
            BLLConflicts.UpdateConflict(conflict);
            Guid guid = Guid.NewGuid();

            FastArbitreEmails.ArbitreRefuseAssignation(text, conflictId, User.Identity.FirstName() + " " + User.Identity.LastName(), Url.Action("Index", "Email", new { id = guid.ToString() }, this.Request.Url.Scheme), guid);
            if (whereFrom == "Centre")
            {
                return(RedirectToAction("Centre"));
            }
            else
            {
                return(RedirectToAction("Detail", new { id = User.Identity.GetId() }));
            }
        }
Exemple #5
0
        public ActionResult Confirm()
        {
            if (Request.Cookies.AllKeys.Contains("conflictId"))
            {
                var conflictId = Request.Cookies["conflictId"].Value;
                int confId     = 0;
                if (int.TryParse(conflictId, out confId))
                {
                    BLLConflicts.UpdatePaiement(confId);

                    var conflict = BLLConflicts.GetConflictForUser(confId, User.Identity.GetId());
                    if (conflict.AskedForArbitration == null || !conflict.AskedForArbitration.Value)
                    {
                        conflict.AskedForArbitration = true;
                        conflict.State = (int)ConflictState.ArbitrationAsked;
                        BLLConflicts.UpdateConflict(conflict);
                    }

                    return(RedirectToAction("PaymentDone", "Viewer", new { conflictId = confId }));
                }
            }
            TempData["Error"] += "Nous n'avons pas réussi à suivre le paiement de votre demande d'arbitrage. Celui-ci devrait vous être confirmer par Paypal. Vous retrouverez le litige concerné dans votre liste de litige ci-dessous.";
            return(RedirectToAction("Profil", "Account"));
        }