public IHttpActionResult GetLegalReview(string projectId, Guid?Id = null) { var tempClosure = TempClosureInfo.FirstOrDefault(tc => tc.ProjectId == projectId); var project = ProjectInfo.Get(projectId, FlowCode.TempClosure_LegalReview); var isActor = ProjectUsers.IsRole(projectId, ClientCookie.UserCode, ProjectUserRoleCode.AssetActor); TempClosureLegalReview entity; if (Id != null) { entity = TempClosureLegalReview.Get(Id.Value); } else { entity = TempClosureLegalReview.Get(projectId); } entity.IsProjectFreezed = entity.CheckIfFreezeProject(projectId); var nextRefTableId = new Guid(FlowInfo.GetRefTableId("TempClosurePackage", projectId)); var nextFlowStarted = ProjectInfo.Any(p => p.FlowCode == FlowCode.TempClosure_ClosurePackage && p.ProjectId == projectId && p.NodeCode != NodeCode.Start); //var haveTask = TaskWork.Any(t => t.RefID == projectId && t.TypeCode == FlowCode.TempClosure_LegalReview && t.Status == TaskWorkStatus.UnFinish && t.ReceiverAccount == ClientCookie.UserCode); var projectComment = ProjectComment.GetSavedComment(entity.Id, "TempClosureLegalReview", ClientCookie.UserCode); var isLegalStarted = ProjectInfo.IsFlowStarted(projectId, FlowCode.TempClosure_LegalReview); return(Ok(new { Info = tempClosure, LegalReview = entity, ProjectComment = projectComment != null ? projectComment.Content : "", Editable = project.Status == ProjectStatus.Finished && isActor && !nextFlowStarted && !entity.IsHistory, Recallable = project.Status != ProjectStatus.Finished && isActor && !entity.IsHistory && isLegalStarted, Savable = ProjectInfo.IsFlowSavable(projectId, FlowCode.TempClosure_LegalReview) })); }
public IHttpActionResult InitPage(string projectId, string id = null) { var letter = RenewalLetter.Get(projectId, id); var project = ProjectInfo.Get(projectId, FlowCode.Renewal_Letter); var isActor = ProjectUsers.IsRole(projectId, ClientCookie.UserCode, ProjectUserRoleCode.AssetActor); letter.IsProjectFreezed = letter.CheckIfFreezeProject(projectId); var nextRefTableId = new Guid(FlowInfo.GetRefTableId("RenewalConsInfo", projectId)); var nextFlowStarted = ProjectInfo.IsFlowStarted(projectId, FlowCode.Renewal_ConsInfo); var haveTask = TaskWork.Any(t => t.RefID == projectId && t.TypeCode == FlowCode.Renewal_Letter && t.Status == TaskWorkStatus.UnFinish && t.ReceiverAccount == ClientCookie.UserCode); var projectComment = ProjectComment.GetSavedComment(letter.Id, "RenewalLetter", ClientCookie.UserCode); var isStarted = ProjectInfo.IsFlowStarted(projectId, FlowCode.Renewal_Letter); var isFinished = ProjectInfo.IsFlowFinished(projectId, FlowCode.Renewal_Letter); return(Ok(new { Info = RenewalInfo.FirstOrDefault(info => info.ProjectId == letter.ProjectId), Letter = letter, ProjectComment = projectComment != null ? projectComment.Content : "", Editable = ProjectInfo.IsFlowEditable(projectId, FlowCode.Renewal_Letter), Recallable = ProjectInfo.IsFlowRecallable(projectId, FlowCode.Renewal_Letter), Savable = ProjectInfo.IsFlowSavable(projectId, FlowCode.Renewal_Letter) && string.IsNullOrEmpty(id) })); }