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)); }
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); }
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); }