Exemplo n.º 1
0
        public ActionResult GetScoreModelVersionAndEchartsData(int engineeringId)
        {
            var engineering = new EngineeringService().Get(e => e.Id == engineeringId);

            if (engineering == null)
            {
                throw new ArgumentNullException(nameof(engineering));
            }

            if (!new PermissionService().CanUserVisitProject(CurrentCustomer, engineering.ProjectId))
            {
                return(NoAuthorityJson());
            }

            if (CurrentCustomer.Organization.OrganizationType != OrganizationType.Censorship)
            {
                return(NoAuthorityJson());
            }

            var lamda    = PrepareEchartsDataLamda(engineering);
            var comments = new CommentService().GetCommentByRoleAndEngineeringFileId(CurrentCustomer.GetCurrentRoles(0, engineering).OrderBy(e => (int)e).FirstOrDefault(), engineering.EngineeringFiles.FirstOrDefault(e => e.FileType == FileType.Model).FileVersions.OrderByDescending(e => e.UpLoadeTime).FirstOrDefault().Id).Where(lamda).ToList();

            var echartsData = PrepareEchartData(comments);

            var modelVersions = PrepareScoreModelVersionModel(engineering);

            return(Json(new { result = true, echartsData = echartsData, modelVersions = modelVersions }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        protected Expression <Func <FileVersion, bool> > PrepareModelPageLamda(int searchEngineerId, string selectedState = "")
        {
            var lamda = FileVersionService.ExpressionTrue;

            var engineering = new EngineeringService().Get(e => e.Id == searchEngineerId);

            if (engineering == null)
            {
                throw new ArgumentNullException("engineering");
            }

            var model = engineering.EngineeringFiles.FirstOrDefault(e => e.FileType == FileType.Model);

            if (model == null)
            {
                return(lamda = lamda.And(e => false));
            }

            if (searchEngineerId != 0)
            {
                lamda = lamda.And(e => e.EngineeringFileId == model.Id);
            }

            if (!string.IsNullOrWhiteSpace(selectedState))
            {
                var states = WorkFlow.GetStatusListByDescription(selectedState);
                lamda = lamda.And(e => states.Contains(e.Status));
            }

            lamda = lamda.And(e => e.FileType == FileType.Model);

            return(lamda);
        }
Exemplo n.º 3
0
        protected DrawingSeriesListModel PrepareDrawingSeriesListModel(PagedList <EngineeringFile> drawings, int projectId, int engineeringId, int profeesionId = 0, string selectedStateId = "")
        {
            DrawingSeriesListModel model = new DrawingSeriesListModel();

            var project = new ProjectService().Get(e => e.Id == projectId);

            if (project == null)
            {
                throw new ArgumentNullException(nameof(project));
            }

            var engineering = new EngineeringService().Get(e => e.Id == engineeringId);

            if (engineering == null)
            {
                throw new ArgumentNullException(nameof(engineering));
            }

            model.Roles          = CurrentCustomer.GetCurrentRoles(profeesionId, engineering);
            model.ProjectIsFiled = project.IsProjectFiled();

            foreach (var drawing in drawings)
            {
                model.DrawingSeriesList.Add(new DrawingSeriesListModel.DrawingSeriesModel()
                {
                    Description         = drawing.FileVersions.Where(e => e.FileType == FileType.Drawing).OrderByDescending(e => e.UpLoadeTime).FirstOrDefault()?.UploadDescription,
                    DrawingVersion      = drawing.FileVersions.Where(e => e.FileType == FileType.Drawing).OrderByDescending(e => e.UpLoadeTime).FirstOrDefault()?.VersionNo,
                    FileSize            = drawing.FileVersions.Where(e => e.FileType == FileType.Drawing).OrderByDescending(e => e.UpLoadeTime).FirstOrDefault()?.FileSize,
                    DrawingCategoryId   = drawing.DrawingCatalogId.GetValueOrDefault(),
                    DrawingCategory     = DictionaryService.DrawingCatalogDictionary.FirstOrDefault(e => e.Id == drawing.DrawingCatalogId)?.DisplayName,
                    DrawingProfessionId = drawing.DrawingProfessionId.GetValueOrDefault(),
                    DrawingProfession   = DictionaryService.DrawingProfessionDictionary.FirstOrDefault(e => e.Id == drawing.DrawingProfessionId)?.DisplayName,
                    DrawingName         = drawing.FileName,
                    DrawingSeriesId     = drawing.Id,
                    DrawingStatus       = drawing.Status,
                    PicUri     = drawing.FileVersions.OrderByDescending(i => i.UpLoadeTime).FirstOrDefault()?.BIMFileId,
                    UpdateTime = drawing.UpLoadTime.ToString("yyyy-MM-dd HH:mm:ss"),
                });
            }

            //TODO 二期添加关于图纸审核的流程
            model.AvaliableStatus.Add(new SelectListItem()
            {
                Text = "已上传", Value = "", Selected = true
            });

            return(model);
        }