Ejemplo n.º 1
0
        // POST: /TipstaffRecordSolicitor/Create

        public ActionResult Create(int tipstaffRecord, int solicitor)
        {
            TipstaffRecordSolicitor tipstaffrecordsolicitor = new TipstaffRecordSolicitor();

            tipstaffrecordsolicitor.solicitor      = db.Solicitors.Find(solicitor);
            tipstaffrecordsolicitor.tipstaffRecord = db.TipstaffRecord.Find(tipstaffRecord);
            if (tipstaffrecordsolicitor.tipstaffRecord.caseStatus.sequence > 3)
            {
                TempData["UID"] = tipstaffrecordsolicitor.tipstaffRecord.UniqueRecordID;
                return(RedirectToAction("ClosedFile", "Error"));
            }

            try
            {
                //throw new DbUpdateException(");
                db.TipstaffRecordSolicitors.Add(tipstaffrecordsolicitor);
                db.SaveChanges();
                if (Request.IsAjaxRequest())
                {
                    string url = string.Format("window.location='{0}';", Url.Action("Details", genericFunctions.TypeOfTipstaffRecord(tipstaffrecordsolicitor.tipstaffRecord), new { id = tipstaffRecord }));
                    //return JavaScript("location.reload(true)");
                    return(JavaScript(url));
                }
                else
                {
                    return(RedirectToAction("Details", genericFunctions.TypeOfTipstaffRecord(tipstaffrecordsolicitor.tipstaffRecord), new { id = tipstaffRecord }));
                }
            }
            catch (DbUpdateException ex)
            {
                _logger.LogError(ex, $"DbUpdateException in TipstaffRecordSolicitorController in Create method, for user {((CPrincipal)User).UserID}");

                TipstaffRecordSolicitorErrorViewModel model = new TipstaffRecordSolicitorErrorViewModel();
                model.tipstaffrecordsolicitor = tipstaffrecordsolicitor;

                if (ex.InnerException.InnerException.Message.StartsWith("Violation of PRIMARY"))
                {
                    model.ErrorMessage = "The chosen solicitor is already linked to this record";
                }
                else
                {
                    model.ErrorMessage = ex.InnerException.InnerException.Message;
                }
                TempData["TRSError"] = model;
                return(RedirectToAction("Error", "TipstaffRecordSolicitor"));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"Exception in TipstaffRecordSolicitorController in Create method, for user {((CPrincipal)User).UserID}");

                ErrorModel model = new ErrorModel();
                model.ErrorMessage = ex.Message;
                return(View("Error", model));
            }
        }
Ejemplo n.º 2
0
        public ActionResult Error()
        {
            TipstaffRecordSolicitorErrorViewModel model = (TipstaffRecordSolicitorErrorViewModel)TempData["TRSError"];

            return(View(model));
        }