コード例 #1
0
        protected PagedList <FileVersion> GetAllModelVersion(int pageIndex, int pageSize, Expression <Func <FileVersion, bool> > lamda, int engineeringId)
        {
            var model = new EngineeringFileService().Get(e => e.EngineeringId == engineeringId && e.FileType == FileType.Model);

            if (model == null)
            {
                return(new PagedList <FileVersion>());
            }

            var customerRoles = CurrentCustomer.GetCurrentRoles(0, model.Engineering);

            var query = new FileVersionService().GetListByRoleAndEngineeingId(customerRoles.OrderBy(e => (int)e).FirstOrDefault(), model.Id);

            query = query.Where(lamda).OrderByDescending(e => e.UpLoadeTime);

            return(new PagedList <FileVersion>(query, pageIndex, pageSize));
        }
コード例 #2
0
ファイル: CommentController.cs プロジェクト: Zilmill/huajian
        public ActionResult CommentList(int modelVersionId)
        {
            var modelVersion = new FileVersionService().Get(e => e.Id == modelVersionId);

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

            if (!new PermissionService().CanUserVisitProject(CurrentCustomer, modelVersion.EngineeringFile.Engineering.ProjectId))
            {
                return(new HttpUnauthorizedResult());
            }

            var result = PrepareCommentListModel(modelVersion);

            return(View(result));
        }
コード例 #3
0
        public ActionResult GetAllModelProfessionState(int modelVersionId)
        {
            var modelVersion = new FileVersionService().Get(e => e.Id == modelVersionId);

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

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

            var modelProfessions = new ModelProfessionService().GetMany(e => e.ModelVersionId == modelVersionId).ToList();

            List <ProfessionStateModel> list = PrepareProfessionStateModel(modelProfessions);

            return(Json(new { result = true, list = list }, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public ActionResult DrawingListPageData(int pageIndex, int pageSize, int drawingSeriesId)
        {
            var drawingSeries = new EngineeringFileService().Get(e => e.Id == drawingSeriesId);

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

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

            var drawings = new FileVersionService().GetPagedData(pageIndex, pageSize, e => e.EngineeringFileId == drawingSeriesId && e.FileType == FileType.Drawing, e => e.UpLoadeTime);

            var drawingListModel = PrepareDrawingListModel(drawings, drawingSeries.Engineering.ProjectId);

            return(Json(new { result = true, listHtml = this.RenderPartialViewToString("_Drawing", drawingListModel), total = drawings.TotalCount }, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        //建筑公司项目经理操作模型
        public ActionResult BuildingCompanyManagerOperateModel(int modelVersionId, BuildingModelOperationType type, string rejectDes = "")
        {
            var modelVersion = new FileVersionService().Get(e => e.Id == modelVersionId);

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

            if (!new PermissionService().CanManagerProject(CurrentCustomer, modelVersion.EngineeringFile.Engineering.Project))
            {
                return(NoAuthorityJson());
            }

            CurrentCustomer.CurrentRole = Role.BuildingCompanyManager;
            var buildingCompanyProjectManager = new BuildingCompanyProjectManager(CurrentCustomer, modelVersion.EngineeringFile, modelVersion);

            var result = false;

            if (type == BuildingModelOperationType.Transpond)
            {
                result = buildingCompanyProjectManager.Submit();
            }
            else if (type == BuildingModelOperationType.Sign)
            {
                result = buildingCompanyProjectManager.Sign();
            }
            else if (type == BuildingModelOperationType.SendBack)
            {
                result = buildingCompanyProjectManager.RejectFromDesignCompany(rejectDes);
            }

            if (result)
            {
                new ProjectService().UpdateProjectNeedOperateFlag(modelVersion, Role.BuildingCompanyManager);
            }

            return(Json(new { result = result, errmsg = "" }));
        }
コード例 #6
0
ファイル: CommentController.cs プロジェクト: Zilmill/huajian
        public ActionResult GetBulkOperationButton(int modelVersionId, int professionId = 0)
        {
            var modelVersion = new FileVersionService().GetById(modelVersionId);

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

            ModelProfession modelProfession = null;

            if (professionId != 0)
            {
                modelProfession = modelVersion.ModelProfessions.OrderByDescending(e => e.Id).FirstOrDefault();
            }

            var model = new CommentBulkOperationButtonModel()
            {
                ModelStatus      = modelVersion.Status,
                ProfessionStatus = modelProfession?.Status,
            };

            if (CurrentCustomer.Organization.OrganizationType == OrganizationType.DesignCompany)
            {
                model.CustomerRole = Role.DesignCompanyManager;
            }
            else
            {
                if (professionId != 0)
                {
                    model.CustomerRole = CurrentCustomer.CustomerRoles.FirstOrDefault(e => e.EngineeringId == modelVersion.EngineeringFile.EngineeringId && e.ProfessionId == professionId)?.Role;
                }
            }

            return(Json(new { htmlStr = this.RenderPartialViewToString("_BulkOperationButton", model) }, JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
        public ActionResult DesignCompanyMangerOperateModel(int modelVersionId, DesignModelOperationType type)
        {
            var modelVersion = new FileVersionService().Get(e => e.Id == modelVersionId);

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

            if (!new PermissionService().CanManagerProject(CurrentCustomer, modelVersion.EngineeringFile.Engineering.Project))
            {
                return(NoAuthorityJson());
            }

            CurrentCustomer.CurrentRole = Role.DesignCompanyManager;

            var designCompanyProjectManager = new DesignCompanyProjectManager(CurrentCustomer, modelVersion.EngineeringFile, modelVersion);

            OperationResultCode result;

            if (type == DesignModelOperationType.Submit)
            {
                result = designCompanyProjectManager.DesignCompanyUploadedSubmit();
            }
            else
            {
                result = designCompanyProjectManager.DeleteCurrentModel();
            }

            if (result.Succeed)
            {
                new ProjectService().UpdateProjectNeedOperateFlag(modelVersion, Role.DesignCompanyManager);
            }

            return(Json(new { result = false, errmsg = result.MessageValue }));
        }
コード例 #8
0
ファイル: BlobFileController.cs プロジェクト: Zilmill/huajian
 public BlobFileController()
 {
     _fileVersionService     = new FileVersionService();
     _engineeringFileService = new EngineeringFileService();
 }