Пример #1
0
        public ActionResult History(Guid requestID, Guid responseID)
        {
            var ri = DataContext.Responses.Where(r => r.ID == responseID).FirstOrDefault();

            if (ri == null)
            {
                return(HttpNotFound());
            }

            var rc  = RequestService.GetRequestContext(requestID);
            var ctx = ResponseService.GetResponseHistoryContext(rc, new[] { ri });

            bool canViewIndividualResults = DataContext.CanViewIndividualResults(Auth.ApiIdentity, Auth.CurrentUserID, requestID);



            return(View("~/Views/Response/History.cshtml", new Models.ResponseViewModel
            {
                //TreeNode = TreeNodes.Node(rc.Request),
                BodyView = DocService.GetListVisualization(
                    canViewIndividualResults
                    ? ctx.DataMartResponses.SelectMany(d => d.Documents) : null,
                    "Response", rc.Plugin.DisplayResponse(ctx, rc.Plugin.GetAggregationModes(rc).EmptyIfNull().FirstOrDefault()))
            }));
        }
Пример #2
0
        public ActionResult External(Guid requestID, string responseToken, string aggregationMode)
        {
            //var canViewIndividualResults = CanViewIndividualResults(requestID);
            bool canViewIndividualResults = DataContext.CanViewIndividualResults(Auth.ApiIdentity, Auth.CurrentUserID, requestID);

            var results = ReturnResponse(requestID, responseToken, canViewIndividualResults, c => c.Detail(requestID, null, aggregationMode),
                                         (rc, ctx, resps) => View("~/Views/Response/External.cshtml", new Models.ResponseViewModel
            {
                Request         = rc.Request,
                Responses       = ctx.DataMartResponses,
                RequestType     = rc.RequestType,
                ExportFormats   = rc.Plugin.GetExportFormats(ctx).EmptyIfNull(),
                ResponseToken   = ctx.Token,
                AggregationMode = aggregationMode,
                BodyView        = DocService.GetListVisualization(
                    canViewIndividualResults ? ctx.DataMartResponses.SelectMany(d => d.Documents) : null,
                    "Response", rc.Plugin.DisplayResponse(ctx, rc.Plugin.GetAggregationModes(rc).EmptyIfNull().FirstOrDefault(am => am.ID == aggregationMode))),
                RequestBodyView     = DocService.GetListVisualization(rc.Documents, "Request Criteria", rc.Plugin.DisplayRequest(rc)),
                AllowGroup          = resps.Where(r => r.CanGroup).Skip(1).Any(),
                AllowApprove        = resps.Any(r => r.CanApprove),
                AllowUngroup        = resps.Any(r => r.Group != null && r.CanGroup),
                RequesterCenterName = rc.Request.RequesterCenterID.HasValue && !DataContext.RequesterCenters.Where(rcn => rcn.ID == rc.Request.RequesterCenterID).FirstOrDefault().IsNull() ?
                                      DataContext.RequesterCenters.Where(rcn => rcn.ID == rc.Request.RequesterCenterID).FirstOrDefault().Name : "Not Selected",
                WorkplanTypeName = rc.Request.WorkplanTypeID.HasValue && !DataContext.WorkplanTypes.Where(wt => wt.ID == rc.Request.WorkplanTypeID).FirstOrDefault().IsNull() ?
                                   DataContext.WorkplanTypes.Where(wt => wt.ID == rc.Request.WorkplanTypeID).FirstOrDefault().Name : "Not Selected"
            }), isExternalView: true, logView: false);

            return(results);
        }