Пример #1
0
        public ActionResult AddActivity(int activityInstanceId, int activityExecutionStatusId)
        {
            var returnUrl = (TempData["returnUrl"] ?? Request.UrlReferrer ?? (object)string.Empty).ToString();

            TempData["returnUrl"] = returnUrl;

            ViewBag.ReturnUrl = returnUrl;

            var activityInstance = _unitOfWork.Repository <ActivityInstance>().Queryable()
                                   .Include(ai => ai.ReportInstance.WorkFlow)
                                   .Single(ai => ai.Id == activityInstanceId);
            var newExecutionStatus = _unitOfWork.Repository <ActivityExecutionStatus>().Queryable().Single(aes => aes.Id == activityExecutionStatusId).Description;

            ViewBag.MenuItem       = string.Equals(activityInstance.ReportInstance.WorkFlow.WorkFlowGuid.ToString(), "892F3305-7819-4F18-8A87-11CBA3AEE219", StringComparison.InvariantCultureIgnoreCase) ? "ActiveReporting" : "SpontaneousReporting";
            ViewBag.DisplayContext = newExecutionStatus == "E2BSUBMITTED";

            var model = new ActivityAddModel()
            {
                ActivityInstanceId     = activityInstanceId,
                Comments               = string.Empty,
                CurrentExecutionStatus = activityInstance.CurrentStatus.Description,
                NewExecutionStatus     = newExecutionStatus,
                ContextCode            = string.Empty,
                ContextDate            = null
            };

            return(View(model));
        }
Пример #2
0
        public ActionResult AddActivity(int activityInstanceId, int activityExecutionStatusId)
        {
            ViewBag.MenuItem = CurrentMenuItem;

            var returnUrl = (TempData["returnUrl"] ?? Request.UrlReferrer ?? (object)string.Empty).ToString();

            TempData["returnUrl"] = returnUrl;

            ViewBag.ReturnUrl = returnUrl;

            var activityInstance   = _unitOfWork.Repository <ActivityInstance>().Queryable().Single(ai => ai.Id == activityInstanceId);
            var newExecutionStatus = _unitOfWork.Repository <ActivityExecutionStatus>().Queryable().Single(aes => aes.Id == activityExecutionStatusId).Description;

            ViewBag.DisplayContext = newExecutionStatus == "E2BSUBMITTED";

            var model = new ActivityAddModel()
            {
                ActivityInstanceId     = activityInstanceId,
                Comments               = string.Empty,
                CurrentExecutionStatus = activityInstance.CurrentStatus.Description,
                NewExecutionStatus     = newExecutionStatus,
                ContextCode            = string.Empty,
                ContextDate            = null
            };

            return(View(model));
        }
Пример #3
0
        public ActionResult AddActivity(ActivityAddModel model)
        {
            var returnUrl = (TempData["returnUrl"] ?? string.Empty).ToString();

            ViewBag.ReturnUrl = returnUrl;

            var activityInstance = _unitOfWork.Repository <ActivityInstance>().Queryable()
                                   .Include(ai => ai.ReportInstance.WorkFlow)
                                   .Single(ai => ai.Id == model.ActivityInstanceId);

            ViewBag.MenuItem       = string.Equals(activityInstance.ReportInstance.WorkFlow.WorkFlowGuid.ToString(), "892F3305-7819-4F18-8A87-11CBA3AEE219", StringComparison.InvariantCultureIgnoreCase) ? "ActiveReporting" : "SpontaneousReporting";
            ViewBag.DisplayContext = model.NewExecutionStatus == "E2BSUBMITTED";

            if (ModelState.IsValid)
            {
                if (!String.IsNullOrWhiteSpace(model.Comments))
                {
                    if (Regex.Matches(model.Comments, @"[a-zA-Z0-9 ']").Count < model.Comments.Length)
                    {
                        ModelState.AddModelError("Comments", "Comments contains invalid characters (Enter A-Z, a-z, 0-9)");
                    }
                }
                if (!String.IsNullOrWhiteSpace(model.ContextCode))
                {
                    if (Regex.Matches(model.ContextCode, @"[a-zA-Z0-9 ']").Count < model.ContextCode.Length)
                    {
                        ModelState.AddModelError("ContextCode", "Receipt Code contains invalid characters (Enter A-Z, a-z, 0-9)");
                    }
                }

                var encodedComments    = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(model.Comments, false);
                var encodedContextCode = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(model.ContextCode, false);

                try
                {
                    if (ModelState.IsValid)
                    {
                        _workflowService.ExecuteActivity(activityInstance.ReportInstance.ContextGuid, model.NewExecutionStatus, encodedComments, model.ContextDate, encodedContextCode);

                        if (activityInstance.ReportInstance.WorkFlow.Description == "New Active Surveilliance Report")
                        {
                            return(Redirect("/Analytical/ReportInstanceList.aspx?wuid=892F3305-7819-4F18-8A87-11CBA3AEE219"));
                        }
                        ;
                        return(Redirect("/Analytical/ReportInstanceList.aspx?wuid=4096D0A3-45F7-4702-BDA1-76AEDE41B986"));
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("Comments", string.Format("Unable to add the activity: {0}", ex.Message));
                }
            }

            return(View(model));
        }