public IHttpActionResult ReturnTask(WorkflowStepInfo info) { var task = TaskWork.GetTaskBySN(info.SN); if (task == null || task.Status != TaskWorkStatus.UnFinish) { return(Ok()); } var entityId = new Guid(info.EntityID); string projectId = string.Empty; switch (info.WorkflowName) { case FlowCode.Closure_ClosurePackage: var closurePackage = ClosurePackage.Get(entityId); projectId = closurePackage.ProjectId; break; case FlowCode.TempClosure_ClosurePackage: var tempClosurePackage = TempClosurePackage.Get(entityId); projectId = tempClosurePackage.ProjectId; break; case FlowCode.MajorLease_Package: var majorLeasePackage = MajorLeaseChangePackage.Get(entityId); projectId = majorLeasePackage.ProjectId; break; case FlowCode.Rebuild_Package: var rebuildPackage = RebuildPackage.Get(entityId); projectId = rebuildPackage.ProjectId; break; case FlowCode.Renewal_Package: var renewalPackage = RenewalPackage.Get(entityId); projectId = renewalPackage.ProjectId; break; case FlowCode.Reimage_Package: var reimagePackage = RenewalPackage.Get(entityId); projectId = reimagePackage.ProjectId; break; default: break; } if (!string.IsNullOrEmpty(projectId)) { TaskWork.Finish(e => e.RefID == projectId && e.TypeCode == info.WorkflowName && e.Status == TaskWorkStatus.UnFinish && e.ActivityName != "Originator"); } return(Ok()); }
public IHttpActionResult AddComments(WorkflowStepInfo comments) { var entityQuid = new Guid(comments.EntityID); switch (comments.WorkflowName) { case FlowCode.Closure_ClosurePackage: var closurePackage = ClosurePackage.Get(entityQuid); AddComments(comments, closurePackage.Id, ClosurePackage.TableName, closurePackage.ProcInstID, closurePackage.ProjectId, FlowCode.Closure, EmailTemplateCode.Closure_Package); break; case FlowCode.TempClosure_ClosurePackage: var tempClosurePackage = TempClosurePackage.Get(entityQuid); AddComments(comments, tempClosurePackage.Id, tempClosurePackage.TableName, tempClosurePackage.ProcInstId, tempClosurePackage.ProjectId, FlowCode.TempClosure, EmailTemplateCode.TempClosure_Package); break; case FlowCode.MajorLease_Package: var majorLeasePackage = MajorLeaseChangePackage.Get(entityQuid); AddComments(comments, majorLeasePackage.Id, majorLeasePackage.TableName, majorLeasePackage.ProcInstID, majorLeasePackage.ProjectId, FlowCode.MajorLease, EmailTemplateCode.MajorLease_Package); break; case FlowCode.Rebuild_Package: var rebuildPackage = RebuildPackage.Get(entityQuid); AddComments(comments, rebuildPackage.Id, RebuildPackage.TableName, rebuildPackage.ProcInstID, rebuildPackage.ProjectId, FlowCode.Rebuild, EmailTemplateCode.Rebuild_Package); break; case FlowCode.Renewal_Package: var renewalPackage = RenewalPackage.Get(entityQuid); AddComments(comments, renewalPackage.Id, renewalPackage.TableName, renewalPackage.ProcInstId, renewalPackage.ProjectId, FlowCode.Renewal, EmailTemplateCode.Renewal_Package); break; case FlowCode.Reimage_Package: var reimagePackage = ReimagePackage.Get(entityQuid); AddComments(comments, reimagePackage.Id, ReimagePackage.TableName, reimagePackage.ProcInstID, reimagePackage.ProjectId, FlowCode.Reimage, EmailTemplateCode.Reimage_Package); break; default: break; } return(Ok(true)); }
protected static BaseWFEntity GetEmptyWorkflowEntity(string flowCode) { BaseWFEntity wfEntity = null; switch (flowCode) { case FlowCode.MajorLease: wfEntity = new MajorLeaseInfo(); wfEntity.IsMainProject = true; break; case FlowCode.MajorLease_LegalReview: wfEntity = new MajorLeaseLegalReview(); break; case FlowCode.MajorLease_FinanceAnalysis: wfEntity = new MajorLeaseFinancAnalysis(); break; case FlowCode.MajorLease_ConsInfo: wfEntity = new MajorLeaseConsInfo(); break; case FlowCode.MajorLease_Package: wfEntity = new MajorLeaseChangePackage(); break; case FlowCode.MajorLease_ConsInvtChecking: wfEntity = new MajorLeaseConsInvtChecking(); break; case FlowCode.MajorLease_GBMemo: wfEntity = new MajorLeaseGBMemo(); break; case FlowCode.Closure: wfEntity = new ClosureInfo(); wfEntity.IsMainProject = true; break; case FlowCode.Closure_ClosurePackage: wfEntity = new ClosurePackage(); break; case FlowCode.Closure_ClosureTool: wfEntity = new ClosureTool(); break; case FlowCode.Closure_ConsInvtChecking: wfEntity = new ClosureConsInvtChecking(); break; case FlowCode.Closure_LegalReview: wfEntity = new ClosureLegalReview(); break; case FlowCode.Closure_WOCheckList: wfEntity = new ClosureWOCheckList(); break; case FlowCode.Closure_ExecutiveSummary: wfEntity = new ClosureExecutiveSummary(); break; case FlowCode.TempClosure: wfEntity = new TempClosureInfo(); wfEntity.IsMainProject = true; break; case FlowCode.TempClosure_LegalReview: wfEntity = new TempClosureLegalReview(); break; case FlowCode.TempClosure_ClosurePackage: wfEntity = new TempClosurePackage(); break; case FlowCode.Rebuild: wfEntity = new RebuildInfo(); wfEntity.IsMainProject = true; break; case FlowCode.Rebuild_LegalReview: wfEntity = new RebuildLegalReview(); break; case FlowCode.Rebuild_FinanceAnalysis: wfEntity = new RebuildFinancAnalysis(); break; case FlowCode.Rebuild_ConsInfo: wfEntity = new RebuildConsInfo(); break; case FlowCode.Rebuild_Package: wfEntity = new RebuildPackage(); break; case FlowCode.Rebuild_ConsInvtChecking: wfEntity = new RebuildConsInvtChecking(); break; case FlowCode.Rebuild_GBMemo: wfEntity = new GBMemo(); break; case FlowCode.Renewal: wfEntity = new RenewalInfo(); wfEntity.IsMainProject = true; break; case FlowCode.Renewal_Letter: wfEntity = new RenewalLetter(); break; case FlowCode.Renewal_LLNegotiation: wfEntity = new RenewalLLNegotiation(); break; case FlowCode.Renewal_ConsInfo: wfEntity = new RenewalConsInfo(); break; case FlowCode.Renewal_Tool: wfEntity = new RenewalTool(); break; case FlowCode.Renewal_Analysis: wfEntity = new RenewalAnalysis(); break; case FlowCode.Renewal_ClearanceReport: wfEntity = new RenewalClearanceReport(); break; case FlowCode.Renewal_ConfirmLetter: wfEntity = new RenewalConfirmLetter(); break; case FlowCode.Renewal_LegalApproval: wfEntity = new RenewalLegalApproval(); break; case FlowCode.Renewal_Package: wfEntity = new RenewalPackage(); break; case FlowCode.Renewal_GBMemo: wfEntity = new RenewalGBMemo(); break; case FlowCode.Reimage: wfEntity = new ReimageInfo(); wfEntity.IsMainProject = true; break; case FlowCode.Reimage_ConsInfo: wfEntity = new ReimageConsInfo(); break; case FlowCode.Reimage_Summary: wfEntity = new ReimageSummary(); break; case FlowCode.Reimage_Package: wfEntity = new ReimagePackage(); break; case FlowCode.Reimage_ConsInvtChecking: wfEntity = new ReimageConsInvtChecking(); break; case FlowCode.Reimage_GBMemo: wfEntity = new ReimageGBMemo(); break; } return(wfEntity); }
public IHttpActionResult PreparePackDownload(string refTableName, string projectId) { string pdfPath = string.Empty; string refTableId = ProjectInfo.GetRefTableId(refTableName, projectId); Dictionary <string, string> templateFileds = new Dictionary <string, string>(); HtmlTempalteType templateType = HtmlTempalteType.Default; string flowName = string.Empty; string flowCode = string.Empty; switch (refTableName) { case "MajorLeaseChangePackage": { templateType = HtmlTempalteType.MajorLease; flowName = FlowCode.MajorLease; flowCode = FlowCode.MajorLease_Package; var majorLeaseChangePkg = MajorLeaseChangePackage.GetMajorPackageInfo(projectId); templateFileds = majorLeaseChangePkg.GetPrintTemplateFields(); } break; case "TempClosurePackage": { templateType = HtmlTempalteType.TempClosure; flowName = FlowCode.TempClosure; flowCode = FlowCode.TempClosure_ClosurePackage; var tempClosurePackage = TempClosurePackage.Get(projectId); if (tempClosurePackage == null) { tempClosurePackage = new TempClosurePackage(); tempClosurePackage.ProjectId = projectId; } templateFileds = tempClosurePackage.GetPrintTemplateFields(); } break; case "ReimagePackage": { var entity = ReimagePackage.GetReimagePackageInfo(projectId); templateType = HtmlTempalteType.Reimage; flowName = FlowCode.Reimage; flowCode = FlowCode.Reimage_Package; if (entity == null || entity.Id == Guid.Parse("00000000-0000-0000-0000-000000000000")) { entity = new ReimagePackage(); entity.ProjectId = projectId; } templateFileds = entity.GetPrintTemplateFields(); } break; case "RenewalLegalApproval": { templateType = HtmlTempalteType.RenewalLegalApproval; flowName = FlowCode.Renewal; flowCode = FlowCode.Renewal_LegalApproval; var legal = RenewalLegalApproval.Get(projectId); if (legal == null) { legal = new RenewalLegalApproval(); legal.ProjectId = projectId; } templateFileds = legal.GetPrintTemplateFields(); } break; case "RenewalPackage": { templateType = HtmlTempalteType.Renewal; flowName = FlowCode.Renewal; flowCode = FlowCode.Renewal_Package; var package = RenewalPackage.Get(projectId); if (package == null) { package = new RenewalPackage(); package.ProjectId = projectId; } templateFileds = package.GetPrintTemplateFields(); } break; case "ClosurePackage": { templateType = HtmlTempalteType.Default; flowName = FlowCode.Closure; flowCode = FlowCode.Closure_ClosurePackage; var closurePackage = ClosurePackage.Get(projectId); if (closurePackage == null) { closurePackage = new ClosurePackage(); closurePackage.ProjectId = projectId; } templateFileds = closurePackage.GetPrintTemplateFields(); } break; default: break; } List <Attachment> attachments = Attachment.GetAllAttachmentsIncludeRequire(refTableName, projectId, flowCode).Where(att => att.ID != Guid.Empty && (att.RequirementId.HasValue || att.TypeCode == "Cover")).ToList(); //Submission and Approval Records - 只显示通过意见 List <SubmissionApprovalRecord> recordList = new List <SubmissionApprovalRecord>(); //Submission and Approval Records Details — 所有意见 List <SubmissionApprovalRecord> recordDetailList = new List <SubmissionApprovalRecord>(); ProjectCommentCondition condition = new ProjectCommentCondition(); condition.RefTableName = refTableName; condition.RefTableId = Guid.Parse(refTableId); condition.Status = ProjectCommentStatus.Submit; var commentList = condition.RefTableId == Guid.Empty ? new List <VProjectComment>() : VProjectComment.SearchVListForPDF(condition); var commentDetailList = condition.RefTableId == Guid.Empty ? new List <VProjectComment>() : VProjectComment.SearchVList(condition); SubmissionApprovalRecord record = null; foreach (var item in commentList) { record = new SubmissionApprovalRecord(); record.ActionName = item.ActionDesc; if (item.CreateTime != null) { record.OperationDate = item.CreateTime.Value; } record.OperatorID = item.UserAccount; record.OperatorName = item.UserNameENUS; record.OperatorTitle = item.PositionName; record.Comments = item.Content; recordList.Add(record); } recordList = recordList.OrderBy(i => i.OperationDate).ToList(); foreach (var item in commentDetailList) { record = new SubmissionApprovalRecord(); record.ActionName = item.ActionDesc; if (item.CreateTime != null) { record.OperationDate = item.CreateTime.Value; } record.OperatorID = item.UserAccount; record.OperatorName = item.UserNameENUS; record.OperatorTitle = item.PositionName; record.Comments = item.Content; recordDetailList.Add(record); } recordDetailList = recordDetailList.OrderBy(i => i.OperationDate).ToList(); pdfPath = HtmlConversionUtility.HtmlConvertToPDF(templateType, templateFileds, recordList, recordDetailList); var pdfFileName = Path.GetFileName(pdfPath); var pdfExtension = Path.GetExtension(pdfPath); attachments.Add(new Attachment { InternalName = pdfFileName, Name = flowName + " Print", Extension = pdfExtension }); if (refTableName == "RenewalLegalApproval") { SaveRenewalLegalApprovalPDF("RenewalLegalApproval", projectId, new Guid("870BD738-A512-4B27-9FDB-C18058BFA817"), pdfPath); return(Ok()); } string packFileUrl = ZipHandle.ExeFiles(attachments); return(Ok(new { PackUrl = string.Concat("~/", "Temp/", Path.GetFileName(packFileUrl)) })); }
private void GenerateCover(string projectId, string refTableName) { string coverPath = string.Empty; string coverName = "Cover"; string coverTempPath = SiteFilePath.UploadFiles_DIRECTORY + "\\" + Guid.NewGuid() + ".xlsx"; string coverExtention = Path.GetExtension(coverTempPath); switch (refTableName) { case "MajorLeaseChangePackage": coverPath = SiteFilePath.Template_DIRECTORY + "\\" + SiteFilePath.MajorLeaseChangeCove_Template; var majorLeaseChangePackage = MajorLeaseChangePackage.GetMajorPackageInfo(projectId); majorLeaseChangePackage.GenerateCoverEexcel(coverPath, coverTempPath); break; case "ReimagePackage": var rmgPackage = ReimagePackage.Get(projectId); if (rmgPackage == null) { return; } if (!Attachment.Any(i => i.TypeCode == "Cover" && i.RefTableName == ReimagePackage.TableName && i.RefTableID.ToString() == rmgPackage.Id.ToString())) { var reimageInfoEntity = ReimageInfo.GetReimageInfo(projectId); //生成cover文件 coverPath = SiteFilePath.Template_DIRECTORY + "\\" + SiteFilePath.Store_Reimage_Cover_Template; var store = StoreBasicInfo.FirstOrDefault(e => e.StoreCode == reimageInfoEntity.USCode); File.Copy(coverPath, coverTempPath); var excelOutputDirector = new ExcelDataInputDirector(new FileInfo(coverTempPath), ExcelDataInputType.ReimageCover); var inputInfo = new ExcelInputDTO { Region = store.Region, Province = store.ProvinceENUS, City = store.CityENUS, StoreName = store.NameENUS, USCode = reimageInfoEntity.USCode, OpenDate = store.OpenDate }; excelOutputDirector.Input(inputInfo); var coverItem = new Attachment(); coverItem.Name = coverName + coverExtention; coverItem.InternalName = Path.GetFileName(coverTempPath); coverItem.RefTableName = ReimagePackage.TableName; coverItem.RefTableID = rmgPackage.Id.ToString(); coverItem.RelativePath = "//"; coverItem.Extension = coverExtention; coverItem.CreateTime = DateTime.Now; coverItem.TypeCode = coverName; coverItem.CreatorID = ClientCookie.UserCode; coverItem.RequirementId = AttachmentRequirement.FirstOrDefault(e => e.FlowCode == FlowCode.Reimage_Package && e.NameENUS == "Cover").Id; coverItem.CreatorNameENUS = ClientCookie.UserNameENUS; coverItem.CreatorNameZHCN = ClientCookie.UserNameZHCN; using (FileStream stream = new FileStream(coverTempPath, FileMode.Open)) { coverItem.Length = (int)stream.Length; } Attachment.SaveSigleFile(coverItem); } break; case "TempClosurePackage": var tempClosurePackage = TempClosurePackage.Get(projectId); if (tempClosurePackage == null) { return; } if (!Attachment.Any(i => i.TypeCode == "Cover" && i.RefTableName == tempClosurePackage.TableName && i.RefTableID.ToString() == tempClosurePackage.Id.ToString())) { var tempClosureInfoEntity = TempClosureInfo.Get(projectId); //生成cover文件 coverPath = SiteFilePath.Template_DIRECTORY + "\\" + SiteFilePath.Store_TempClosure_Cover_Template; var store = StoreBasicInfo.FirstOrDefault(e => e.StoreCode == tempClosureInfoEntity.USCode); File.Copy(coverPath, coverTempPath); var excelOutputDirector = new ExcelDataInputDirector(new FileInfo(coverTempPath), ExcelDataInputType.TempClosureCover); var inputInfo = new ExcelInputDTO { StoreNameEN = store.NameENUS, USCode = tempClosureInfoEntity.USCode, City = store.CityENUS, Market = store.MarketENUS, ActualCloseDate = tempClosureInfoEntity.ActualTempClosureDate.ToString("yyyy-MM-dd") }; excelOutputDirector.Input(inputInfo); var coverItem = new Attachment(); coverItem.Name = coverName + coverExtention; coverItem.InternalName = Path.GetFileName(coverTempPath); coverItem.RefTableName = tempClosurePackage.TableName; coverItem.RefTableID = tempClosurePackage.Id.ToString(); coverItem.RelativePath = "//"; coverItem.Extension = coverExtention; coverItem.CreateTime = DateTime.Now; coverItem.TypeCode = coverName; coverItem.CreatorID = ClientCookie.UserCode; //coverItem.RequirementId = AttachmentRequirement.FirstOrDefault(e => e.FlowCode == FlowCode.TempClosure_ClosurePackage && e.NameENUS == "Cover").Id; coverItem.CreatorNameENUS = ClientCookie.UserNameENUS; coverItem.CreatorNameZHCN = ClientCookie.UserNameZHCN; using (FileStream stream = new FileStream(coverTempPath, FileMode.Open)) { coverItem.Length = (int)stream.Length; } Attachment.SaveSigleFile(coverItem); } break; case "ClosurePackage": var closurePackage = ClosurePackage.Get(projectId); if (closurePackage == null) { return; } if (!Attachment.Any(i => i.TypeCode == "Cover" && i.RefTableName == ClosurePackage.TableName && i.RefTableID.ToString() == closurePackage.Id.ToString())) { var closureInfoEntity = ClosureInfo.GetByProjectId(projectId); //生成cover文件 coverPath = SiteFilePath.Template_DIRECTORY + "\\" + SiteFilePath.Store_Closure_Cover_Template; var store = StoreBasicInfo.FirstOrDefault(e => e.StoreCode == closureInfoEntity.USCode); File.Copy(coverPath, coverTempPath); var excelOutputDirector = new ExcelDataInputDirector(new FileInfo(coverTempPath), ExcelDataInputType.ClosureCover); var inputInfo = new ExcelInputDTO { StoreNameEN = store.NameENUS, USCode = closureInfoEntity.USCode, City = store.CityENUS, Market = store.MarketENUS, ActualCloseDate = closureInfoEntity.ActualCloseDate.Value.ToString("yyyy-MM-dd") }; excelOutputDirector.Input(inputInfo); var coverItem = new Attachment(); coverItem.Name = coverName + coverExtention; coverItem.InternalName = Path.GetFileName(coverTempPath); coverItem.RefTableName = ClosurePackage.TableName; coverItem.RefTableID = closurePackage.Id.ToString(); coverItem.RelativePath = "//"; coverItem.Extension = coverExtention; coverItem.CreateTime = DateTime.Now; coverItem.TypeCode = coverName; coverItem.CreatorID = ClientCookie.UserCode; //coverItem.RequirementId = AttachmentRequirement.FirstOrDefault(e => e.FlowCode == FlowCode.TempClosure_ClosurePackage && e.NameENUS == "Cover").Id; coverItem.CreatorNameENUS = ClientCookie.UserNameENUS; coverItem.CreatorNameZHCN = ClientCookie.UserNameZHCN; using (FileStream stream = new FileStream(coverTempPath, FileMode.Open)) { coverItem.Length = (int)stream.Length; } Attachment.SaveSigleFile(coverItem); } break; } }
public IHttpActionResult Upload(string projectId, string refTableName, Guid?requirementId = null) { using (TransactionScope tranScope = new TransactionScope()) { var refTableId = Attachment.GetRefTableId(refTableName, projectId); if (refTableId == Guid.Empty.ToString()) { var newId = Guid.NewGuid(); refTableId = newId.ToString(); switch (refTableName) { case "MajorLeaseChangePackage": { var entity = new MajorLeaseChangePackage(); entity.ProjectId = projectId; entity.Id = newId; entity.CreateTime = DateTime.Now; entity.CreateUserAccount = ClientCookie.UserCode; entity.IsHistory = false; entity.Add(); } break; case "ReimageSummary": { var entity = new ReimageSummary(); entity.ProjectId = projectId; entity.Id = newId; entity.CreateTime = DateTime.Now; entity.CreateUserAccount = ClientCookie.UserCode; entity.IsHistory = false; entity.Add(); } break; case "ReimageConsInfo": { var entity = new ReimageConsInfo(); entity.ProjectId = projectId; entity.Id = newId; entity.CreateTime = DateTime.Now; entity.CreateUserAccount = ClientCookie.UserCode; entity.IsHistory = false; entity.Add(); } break; case "ReimagePackage": { var entity = new ReimagePackage(); entity.ProjectId = projectId; entity.Id = newId; entity.CreateTime = DateTime.Now; entity.CreateUserAccount = ClientCookie.UserCode; entity.IsHistory = false; entity.Add(); } break; case "RebuildLegalReview": { var entity = new RebuildLegalReview(); entity.ProjectId = projectId; entity.Id = newId; entity.CreateTime = DateTime.Now; entity.CreateUserAccount = ClientCookie.UserCode; entity.IsHistory = false; entity.Add(); } break; case "ClosureLegalReview": { var entity = new ClosureLegalReview(); entity.ProjectId = projectId; entity.Id = newId; entity.CreateTime = DateTime.Now; entity.CreateUserAccount = ClientCookie.UserCode; entity.IsHistory = false; entity.Add(); } break; case "ClosureExecutiveSummary": { var entity = new ClosureExecutiveSummary(); entity.ProjectId = projectId; entity.Id = newId; entity.CreateTime = DateTime.Now; entity.CreatorAccount = ClientCookie.UserCode; entity.IsHistory = false; entity.Add(); } break; case "ClosurePackage": { var entity = new ClosurePackage(); entity.ProjectId = projectId; entity.Id = newId; entity.CreateTime = DateTime.Now; entity.CreateUserAccount = ClientCookie.UserCode; entity.IsHistory = false; entity.Add(); } break; } } var userRole = ProjectUsers.Get(ClientCookie.UserCode, projectId); var files = HttpContext.Current.Request.Files; if (requirementId.HasValue) { var attReq = AttachmentRequirement.Get(requirementId.Value); var projectInfo = ProjectInfo.Get(projectId, attReq.FlowCode); var store = StoreBasicInfo.GetStorInfo(projectInfo.USCode); var attachNode = NodeInfo.FirstOrDefault(n => n.FlowCode == attReq.FlowCode && n.Code == attReq.NodeCode); if (attachNode != null) { ProjectInfo.FinishNode(projectId, attReq.FlowCode, attReq.NodeCode); } var file = files[0]; string fileName = Path.GetFileName(file.FileName); string fileExtension = Path.GetExtension(file.FileName); var current = System.Web.HttpContext.Current; string internalName = Guid.NewGuid() + fileExtension; string absolutePath = current.Server.MapPath("~/") + "UploadFiles/" + internalName; file.SaveAs(absolutePath); Attachment att = Attachment.Get(refTableId, requirementId.Value); if (att == null) { att = new Attachment(); att.InternalName = internalName; att.RefTableName = refTableName; att.RefTableID = refTableId; att.RelativePath = "//"; att.Name = fileName; att.Extension = fileExtension; att.Length = file.ContentLength; att.CreateTime = DateTime.Now; att.CreatorNameZHCN = ClientCookie.UserNameZHCN; att.CreatorNameENUS = ClientCookie.UserNameENUS; att.CreatorID = ClientCookie.UserCode; att.ID = Guid.NewGuid(); att.RequirementId = requirementId; att.TypeCode = ""; Attachment.Add(att); } else { att.InternalName = internalName; att.RefTableName = refTableName; att.RefTableID = refTableId; att.RelativePath = "//"; att.Name = fileName; att.Extension = fileExtension; att.Length = file.ContentLength; att.CreateTime = DateTime.Now; att.CreatorNameZHCN = ClientCookie.UserNameZHCN; att.CreatorNameENUS = ClientCookie.UserNameENUS; att.CreatorID = ClientCookie.UserCode; Attachment.Update(att); } //TempClosure上传SignAgreement //if (requirementId.Value.Equals(new Guid("1E9B17AF-357A-4DC9-8A60-17766663FB75"))) //{ // var url = "/TempClosure/Main#/ClosureMemo?projectId=" + projectId; // var actor = ProjectUsers.FirstOrDefault(pu => pu.ProjectId == projectId && pu.RoleCode == ProjectUserRoleCode.AssetActor); // var title = string.Concat(projectId, " ", store.NameZHCN, " ", store.NameENUS); // TaskWork.Finish(t => t.ReceiverAccount == ClientCookie.UserCode && t.RefID == projectId && t.Status == TaskWorkStatus.UnFinish && t.TypeCode == FlowCode.TempClosure_ClosurePackage); // //TaskWork.SendTask(projectId, title, projectInfo.USCode, url, actor, FlowCode.TempClosure, FlowCode.TempClosure_ClosureMemo, "Start"); //} } else { List <Attachment> attachments = new List <Attachment>(); string typeCode = ""; if (refTableName == "RebuildLegalReview") { typeCode = "Contract"; } for (int i = 0; i < files.Count; i++) { var file = files[i]; string fileName = Path.GetFileName(file.FileName); string fileExtension = Path.GetExtension(file.FileName); var current = System.Web.HttpContext.Current; string internalName = Guid.NewGuid() + fileExtension; string absolutePath = current.Server.MapPath("~/") + "UploadFiles/" + internalName; file.SaveAs(absolutePath); Attachment att = new Attachment(); att.InternalName = internalName; att.RefTableName = refTableName; att.RefTableID = refTableId; att.RelativePath = "//"; att.Name = fileName; att.Extension = fileExtension; att.Length = file.ContentLength; att.CreateTime = DateTime.Now; att.CreatorNameZHCN = ClientCookie.UserNameZHCN; att.CreatorNameENUS = ClientCookie.UserNameENUS; att.CreatorID = ClientCookie.UserCode; att.ID = Guid.NewGuid(); att.RequirementId = requirementId; att.TypeCode = typeCode; attachments.Add(att); } Attachment.Add(attachments.ToArray()); } tranScope.Complete(); return(Ok()); } }
public IHttpActionResult RecallProject(PostSimpleWorkflowData postData) { ApiProxy.SetCookies(Request.RequestUri.Host, HttpContext.Current.Request.Cookies); var rootPath = string.Concat(HttpContext.Current.Request.Url.Scheme, @"://", HttpContext.Current.Request.Url.Authority, HttpContext.Current.Request.ApplicationPath); switch (postData.FlowCode) { #region Closure case FlowCode.Closure_WOCheckList: { var entity = ClosureWOCheckList.Get(postData.ProjectId); entity.Comments = postData.ProjectComment; var postDataBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(entity)); ApiProxy.Call(rootPath + "api/ClosureWOCheckList/Recall", "POST", null, postDataBytes); } break; case FlowCode.Closure_LegalReview: { var entity = ClosureLegalReview.Get(postData.ProjectId); entity.Comments = postData.ProjectComment; var postDataBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(entity)); ApiProxy.Call(rootPath + "api/LegalReview/Recall", "POST", null, postDataBytes); } break; case FlowCode.Closure_ClosurePackage: { var entity = ClosurePackage.Get(postData.ProjectId); entity.Comments = postData.ProjectComment; var postDataBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(entity)); ApiProxy.Call(rootPath + "api/ClosurePackage/Recall", "POST", null, postDataBytes); } break; case FlowCode.Closure_ConsInvtChecking: { var entity = ClosureConsInvtChecking.Get(postData.ProjectId); entity.Comments = postData.ProjectComment; var postDataBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(entity)); ApiProxy.Call(rootPath + "api/ClosureConsInvtChecking/Recall", "POST", null, postDataBytes); } break; case FlowCode.Closure_ClosureTool: { var entity = ClosureTool.Get(postData.ProjectId); entity.Comments = postData.ProjectComment; var postDataBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(entity)); ApiProxy.Call(rootPath + "api/closureTool/Recall", "POST", null, postDataBytes); } break; #endregion Closure default: var wfEntity = BaseWFEntity.GetWorkflowEntity(postData.ProjectId, postData.FlowCode); wfEntity.Recall(postData.ProjectComment); break; } return(Ok()); }