public IHttpActionResult SendReopenMemo(PostMemo <ReopenMemo> postData) { var actor = ProjectUsers.GetProjectUser(postData.Entity.ProjectId, ProjectUserRoleCode.AssetActor); using (TransactionScope tranScope = new TransactionScope()) { Dictionary <string, string> pdfData = new Dictionary <string, string>(); if (postData.Entity.ProjectId.ToLower().IndexOf("rebuild") >= 0) { pdfData.Add("WorkflowName", "Rebuild"); } else if (postData.Entity.ProjectId.ToLower().IndexOf("majorlease") != -1) { pdfData.Add("WorkflowName", "MajorLease"); } else if (postData.Entity.ProjectId.ToLower().IndexOf("renewal") != -1) { pdfData.Add("WorkflowName", "Renewal"); } else if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") >= 0) { pdfData.Add("WorkflowName", "Reimage"); } else { pdfData.Add("WorkflowName", postData.Entity.ProjectId); } pdfData.Add("ProjectID", postData.Entity.ProjectId); pdfData.Add("RegionNameENUS", postData.Entity.Store.StoreBasicInfo.RegionENUS); pdfData.Add("RegionNameZHCN", postData.Entity.Store.StoreBasicInfo.RegionZHCN); pdfData.Add("MarketNameENUS", postData.Entity.Store.StoreBasicInfo.MarketENUS); pdfData.Add("MarketNameZHCN", postData.Entity.Store.StoreBasicInfo.MarketZHCN); pdfData.Add("ProvinceNameENUS", postData.Entity.Store.StoreBasicInfo.ProvinceENUS); pdfData.Add("ProvinceNameZHCN", postData.Entity.Store.StoreBasicInfo.ProvinceZHCN); pdfData.Add("CityNameENUS", postData.Entity.Store.StoreBasicInfo.CityENUS); pdfData.Add("CityNameZHCN", postData.Entity.Store.StoreBasicInfo.CityZHCN); pdfData.Add("StoreNameENUS", postData.Entity.Store.StoreBasicInfo.NameENUS); pdfData.Add("StoreNameZHCN", postData.Entity.Store.StoreBasicInfo.NameZHCN); pdfData.Add("USCode", postData.Entity.Store.StoreBasicInfo.StoreCode); pdfData.Add("IsMcCafe", postData.Entity.NewMcCafe ? "Y" : "N"); pdfData.Add("IsKiosk", postData.Entity.NewKiosk ? "Y" : "N"); pdfData.Add("IsMDS", postData.Entity.NewMDS ? "Y" : "N"); pdfData.Add("Is24Hour", postData.Entity.Is24H ? "Y" : "N"); pdfData.Add("TTMNetSales", DataConverter.ToMoney(postData.Entity.TTMNetSales) ?? " "); var TTMNetSalesYearMonth = ""; if (postData.Entity.YearMonthList != null && postData.Entity.YearMonthList.Count > 0) { foreach (var val in postData.Entity.YearMonthList) { if (val.Value == postData.Entity.TTMNetSales) { TTMNetSalesYearMonth = val.Name; break; } } } pdfData.Add("TTMNetSalesYearMonth", TTMNetSalesYearMonth ?? " "); pdfData.Add("IncrementalSales", postData.Entity.IncrementalSales.HasValue ? DataConverter.ToMoney((postData.Entity.IncrementalSales.Value * 100)) : " "); pdfData.Add("GBDate", postData.Entity.GBDate.HasValue ? postData.Entity.GBDate.Value.ToString("yyyy-MM-dd") : " "); pdfData.Add("ConstCompletionDate", postData.Entity.CompletionDate.HasValue ? postData.Entity.CompletionDate.Value.ToString("yyyy-MM-dd") : " "); //if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") >= 0) //{ // pdfData.Add("ReopenDate", postData.Entity.RmgInfo.ReopenDate.HasValue ? postData.Entity.RmgInfo.ReopenDate.Value.ToString("yyyy-MM-dd") : " "); //} //else //{ // pdfData.Add("ReopenDate", postData.Entity.ReopenDate.HasValue ? postData.Entity.RbdInfo.ReopenDate.Value.ToString("yyyy-MM-dd") : " "); //} pdfData.Add("ReopenDate", postData.Entity.ReopenDate.HasValue ? postData.Entity.ReopenDate.Value.ToString("yyyy-MM-dd") : " "); pdfData.Add("DesignConcept", GetConcetpetDesc(postData.Entity.DesignConcept) ?? " "); pdfData.Add("TotalWriteOff", DataConverter.ToMoney(postData.Entity.WriteOff.TotalWriteOff) ?? " "); pdfData.Add("TotalReinvestmentBudget", DataConverter.ToMoney(postData.Entity.TotalReinvestmentBudget) ?? " "); pdfData.Add("OriginalOperationSize", postData.Entity.OriginalOperationSize ?? " "); pdfData.Add("NewOperationSize", postData.Entity.AftOperationSize ?? " "); pdfData.Add("OriginalSeatNumber", postData.Entity.OriginalSeatNumber ?? " "); pdfData.Add("ARSN", postData.Entity.AftARSN ?? " "); pdfData.Add("AftARPT", postData.Entity.AftARPT ?? " "); pdfData.Add("PriceTiter", postData.Entity.PriceTiter ?? " "); if (postData.Entity.ExteriorAfterImgURL1 != "../Images/mcd_logo.png") { pdfData.Add("ExteriorAfterImgURL1", HtmlConversionUtility.ImageToBase64(postData.Entity.ExteriorAfterImgURL1, System.Drawing.Imaging.ImageFormat.Png)); } else { pdfData.Add("ExteriorAfterImgURL1", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAzCAMAAADrVgtcAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REFDNzNCMkEwQkYyMTFFNEI5MzU4NkQ4NkQxNUM0MTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REFDNzNCMkIwQkYyMTFFNEI5MzU4NkQ4NkQxNUM0MTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEQUM3M0IyODBCRjIxMUU0QjkzNTg2RDg2RDE1QzQxNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEQUM3M0IyOTBCRjIxMUU0QjkzNTg2RDg2RDE1QzQxNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pnx0qhIAAAMAUExURbQADfK1A/rF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"); } if (postData.Entity.ExteriorAfterImgURL2 != "../Images/mcd_logo.png") { pdfData.Add("ExteriorAfterImgURL2", HtmlConversionUtility.ImageToBase64(postData.Entity.ExteriorAfterImgURL2, System.Drawing.Imaging.ImageFormat.Png)); } else { pdfData.Add("ExteriorAfterImgURL2", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAzCAMAAADrVgtcAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REFDNzNCMkEwQkYyMTFFNEI5MzU4NkQ4NkQxNUM0MTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REFDNzNCMkIwQkYyMTFFNEI5MzU4NkQ4NkQxNUM0MTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEQUM3M0IyODBCRjIxMUU0QjkzNTg2RDg2RDE1QzQxNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEQUM3M0IyOTBCRjIxMUU0QjkzNTg2RDg2RDE1QzQxNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pnx0qhIAAAMAUExURbQADfK1A/rF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"); } if (postData.Entity.InteriorAfterImgURL1 != "../Images/mcd_logo.png") { pdfData.Add("InteriorAfterImgURL1", HtmlConversionUtility.ImageToBase64(postData.Entity.InteriorAfterImgURL1, System.Drawing.Imaging.ImageFormat.Png)); } else { pdfData.Add("InteriorAfterImgURL1", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAzCAMAAADrVgtcAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REFDNzNCMkEwQkYyMTFFNEI5MzU4NkQ4NkQxNUM0MTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REFDNzNCMkIwQkYyMTFFNEI5MzU4NkQ4NkQxNUM0MTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEQUM3M0IyODBCRjIxMUU0QjkzNTg2RDg2RDE1QzQxNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEQUM3M0IyOTBCRjIxMUU0QjkzNTg2RDg2RDE1QzQxNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pnx0qhIAAAMAUExURbQADfK1A/rF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"); } if (postData.Entity.InteriorAfterImgURL2 != "../Images/mcd_logo.png") { pdfData.Add("InteriorAfterImgURL2", HtmlConversionUtility.ImageToBase64(postData.Entity.InteriorAfterImgURL2, System.Drawing.Imaging.ImageFormat.Png)); } else { pdfData.Add("InteriorAfterImgURL2", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAzCAMAAADrVgtcAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REFDNzNCMkEwQkYyMTFFNEI5MzU4NkQ4NkQxNUM0MTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REFDNzNCMkIwQkYyMTFFNEI5MzU4NkQ4NkQxNUM0MTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEQUM3M0IyODBCRjIxMUU0QjkzNTg2RDg2RDE1QzQxNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEQUM3M0IyOTBCRjIxMUU0QjkzNTg2RDg2RDE1QzQxNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pnx0qhIAAAMAUExURbQADfK1A/rFAsJERN1tB/Xh4d6ZmeKiosxSUrwADqwBAbQdHcITDbQXB7olB+J6BsAMDP/5AOWsrL0FDf/dAMl4eO/NzeaVA60BCdR8fMUbDMorC//nAOqUBfHV1fnt7b0xB/jIAf7VAMsxCv/0AL4JDc5qatmNjdWAgP/oAOeZA60YGLIzM//qAMVRUbssLOm6ursADvrMAemLBf/sAPDOzv/gAMtcXPW9AsEODd11BtFycuuyAq4GBvbBAuq9vfveAeWrA+vDw6oFBf3RAdNICfrp6f/aANySkvbl5c49CcNLS8AKDdBubttjB/Ta2rwLC7xGRt2AA9VSCf/wAMxiYsklC8FLTPHY2LoLC6oACNt+BbUKCuaKBcNMTf/yAO2iBO6eA8INDdNqBcVNTdmGhrwxMcNQUK4GCLsOD7IWFuKNAqoAAKYAAPrx8cxSBaYACeaGBeCEA7Q2NrtJSagACfKvA/z19f/uANFCCagAALgKCrgkJPTd3eaPBd+kpMFMTL8NDM5cBf/8AP/lAMQ+BrsADP3YAawICLkwMK0EBPbFAtdVCN2WlrgADb5KS/jn5++tA7sFDMA9Pb41NaoICK0ECKsCCLAGBrMJCcIPDa4EBMdNBrsDDfnVAc1lZfa6AqsGBq4ECKEAALQ0NL8HDbEKCK8KCrgAD7EICLwMDK4ICK8JCMNPT68JCbAJCcJOTrAJCP//AMRLTK4JCP///7EJCbEJCOCdnaoDA6kDA//YAK8ICcJJSv/hAP7v76cJCcgoC/34+KsPD7MLCq4OCK8ODqcGBp4ACdyqqvv9/b85OfnTAcRLS89ubrALC9OPj/jKAq8KCMFubuCIBO+tBOybBPO4A/G9AtFOCc9ACchPBtV0Bc44Cu3IyNtgB78ODMYkC7AMDLgnJ7YsLL0MC60uLuugBOunAu+nA+2lBMhWVslpaduRkfzy8stgYOODBeWCBbEwMOuoAuypA+6pBO/o6PHR0fCkA7AICL0MDMANDb4MDL8MDMENDa8ICA0STKgAAAWDSURBVHjavNN9XBNlHADwKZt0B+rGfJlzAsqLDB0fDwcy6QARpZehM0FjouRUnHhLzKY4EpmvOHUq2KarqYhD3SbThYpaK7KyN/tkmaZlmlZWpvZe22277m7cXhj4yf7od/88d8997/d7nvs9tDmSUgkZZhcebjw8RDCZKIp6gwIlgpzCX5lD8zNXMAtTJGN2KpzV+VKZzcG50B4RoVyuOjwbqcJSoT2mIlkdtS53YF1oFxaqSDazay5Pz7k8PkSxMOV9oDITzGUO3UMUFZvEFMGHpGIG5zK7ZtKepFBnKhEKsA1swCvyekVMgB1tBILWRSKzRIIzd0iFIhTquL1n2AwIZ2Jo6I97arkQ6umeuYMqhIZ+WL65eHiH0cAEruUlXmD14hpvBLaeVD4WvBtGcS97/0W/2JcnsdnRm+30RWPtwzYkqT3BKMAoxYS2sIZH07jpa68fAsbbs9y0GXnFV7WoX/mZJ7g3TOLla/tDYmApK8sUnc6iHzIaL9lvGxvUgXXhUbONYB5/HxqAlTzBSsgATBLwr05PHJGg9WivJzoStOpAhaVlJ5zP+xnZGzLoZ9ZmLmBgd6QXL51bvC/aqNYmbGTRtUmdFZbW7HZilgAjSzSwDZdZPySZDCbDZ9W9C/jDjOwbkCGH9YyxgdhuV2mZDSOCZD5FMighr3w2JPaKgdriEYU8ulZ8g82em3jha8jtltTsttRb/Izpb14RemgKnzcFZ0yILhhxxrGFplYnQf2FmVe0eHEUohh1vkRJUG35gEkQ3ovQ9HUDCguewLdCrZ1Szadz5H7jZ9TxErFNf5RvvAaJUBF0zZFZOLxDq/agtCsO3mKdDsO6MP/5EgHcnOr0oSTryFs3IIsLqCVl0vUF/B1vd2WveP3nS2RM2CjYxwVEeGdyL/AyL5tob1nalPHp/N59OdZwRp0uaOU6/vJoI8Gic/iZv3P0bRartG+OIL2fPpxRCm9IHu9vlI0yvRu+3SF0DJbqrBjOPhcUrJce65GJITqPl2oSyzylHOtvQkcqyTi6R4VnllSFMX+IgfF83iVTQ83uemnb90LHRancxwSFa8KYzM9MwFghbzZHjv9XvbS22jFeCfsYP3NeV/YaxWQyE1Ar5D1VRUzolan2tReVRDadfjCPP+tdKRbYFOc02iOyTiRTN0gXFwueUxITOv28CRPW6PGRVSdNFQq+jF+i2x9gR3xMJkPx7tZXEazKN6XnSAlFZEsV8ubNyvpEGsrwcOPdbbHIdfFfvBzP8U3pdDo5OZDvx5/26xcvl4cypqTM19xWTFlVFfKDyHRW4qleGbw2nNWcoE7Eq60tJ0+SqpV6gRy0tJxsOdaCTwexo3h1vjdABAFbO0e+aRuMaPBbBLEgGkQDInAQc3Z+F2wsyd6kUKkUKiRiL6xQ4B9RqYoqFApVyfybRVFRTRF7D2rCmSo55t7WbyIqIiqaR8bWn89+Z1Nl5bTcog/OR+Xn3owpik1p/ysKsXVlNtWQr+62b4+7F8eIys5Nmfx67qAF7WNi8p+Ny4i8U5kfc3zQzhdgOCybTXF36hvJk+9Pvc+YX5KxYuB3x2MZGePGPJ6fvGJb8y1GCSOlWQW3dsP6rGrO3t44qHFV2kexq1b/9Gby8adHZcTl3onb1Hxr+zjG6nMaLHxLbMjex1RpkRUjd/bZmTayMZ+Rrekz5PTW9gURkbdUUZEVKWNGgd0wbNfE07vgF+FTmia4rR45O0qlOX0KrG9qAifCGFwPTjyLYd2x1pdAGwySlwbEEERjAzVOECTuD8IgpkFC2BEn1l04wx47Q9jC7tkDw7nwf2Vp/4lhR2l1hx9e2Y7SBp5zOp2H/304nbZdle/R/vz01wMHRj9ELBu97OP3/xFgAEAgj7rRci3dAAAAAElFTkSuQmCC"); } string pdfPath = HtmlConversionUtility.HtmlConvertToPDF(HtmlTempalteType.ReopenMemo, pdfData, null); EmailSendingResultType result; //邮件模板中的数据 Dictionary <string, string> bodyValues = new Dictionary <string, string>(); //邮件内容中的键值对 bodyValues.Add("ApplicantName", ClientCookie.UserNameENUS);//--提交人 bodyValues.Add("StoreCode", postData.Entity.Store.StoreBasicInfo.StoreCode); bodyValues.Add("StoreName", postData.Entity.Store.StoreBasicInfo.NameENUS); bodyValues.Add("Actor", actor.RoleNameENUS);////--呈递人 if (postData.Entity.ProjectId.ToLower().IndexOf("rebuild") >= 0) { bodyValues.Add("WorkflowName", Constants.Rebuild_ReopenMemo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Rebuild); //项目名称 } else if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") >= 0) { bodyValues.Add("WorkflowName", Constants.Reimage_ReopenMemo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Reimage); //项目名称 } else if (postData.Entity.ProjectId.ToLower().IndexOf("tempclosure") >= 0) { bodyValues.Add("WorkflowName", Constants.TempClosure_ReopenMemo); ////--流程名称 bodyValues.Add("ProjectName", Constants.TempClosure); //项目名称 } else if (postData.Entity.ProjectId.ToLower().IndexOf("majorlease") >= 0) { bodyValues.Add("WorkflowName", Constants.MajorLease_ReopenMemo); ////--流程名称 bodyValues.Add("ProjectName", Constants.MajorLease); //项目名称 } else if (postData.Entity.ProjectId.ToLower().IndexOf("renewal") >= 0) { bodyValues.Add("WorkflowName", Constants.Renewal_ReopenMemo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Renewal); //项目名称 } else { bodyValues.Add("WorkflowName", Constants.TempClosure_ReopenMemo); ////--流程名称 bodyValues.Add("ProjectName", Constants.TempClosure); //项目名称 } string viewPage = ""; if (postData.Entity.ProjectId.ToLower().IndexOf("rebuild") >= 0) { viewPage = string.Format("{0}/Rebuild/Main#/ReopenMemo/Process/View?projectId={1}", ConfigurationManager.AppSettings["webHost"], postData.Entity.ProjectId); } if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") >= 0) { viewPage = string.Format("{0}/Reimage/Main#/ReopenMemo/Process/View?projectId={1}", ConfigurationManager.AppSettings["webHost"], postData.Entity.ProjectId); } bodyValues.Add("FormUrl", viewPage); //调用邮件服务发送邮件 using (EmailServiceClient client = new EmailServiceClient()) { EmailMessage message = new EmailMessage(); StringBuilder sbTo = new StringBuilder(); Dictionary <string, string> attachments = new Dictionary <string, string>(); foreach (Employee emp in postData.Receivers) { if (sbTo.Length > 0) { sbTo.Append(";"); } if (!string.IsNullOrEmpty(emp.Mail)) { sbTo.Append(emp.Mail); } } if (sbTo.Length > 0) { sbTo.Append(";"); } message.EmailBodyValues = bodyValues; string strTitle = ""; if (postData.Entity.ProjectId.ToLower().IndexOf("rebuild") >= 0) { strTitle = "Rebuild_ReopenMemo"; } if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") >= 0) { strTitle = "Reimage_ReopenMemo"; } if (postData.Entity.ProjectId.ToLower().IndexOf("majorlease") >= 0) { strTitle = "MajorLease_ReopenMemo"; } if (postData.Entity.ProjectId.ToLower().IndexOf("renewal") >= 0) { strTitle = "Renewal_ReopenMemo"; } if (postData.Entity.ProjectId.ToLower().IndexOf("tempclosure") >= 0) { strTitle = "TempClosure_ReopenMemo"; } attachments.Add(pdfPath, strTitle + "_" + postData.Entity.ProjectId + ".pdf"); message.AttachmentsDict = attachments; message.To = sbTo.ToString(); message.TemplateCode = EmailTemplateCode.GBMemoNotification; result = client.SendNotificationEmail(message); } if (!result.Successful) { return(BadRequest(result.ErrorMessage + " " + pdfPath)); } ReopenMemo.Submit(postData.Entity); tranScope.Complete(); } return(Ok()); }
public IHttpActionResult NotifyGBMemo(PostMemo <ReimageGBMemo> postData) { var actor = ProjectUsers.GetProjectUser(postData.Entity.ProjectId, ProjectUserRoleCode.AssetActor); using (TransactionScope tranScope = new TransactionScope()) { Dictionary <string, string> pdfData = new Dictionary <string, string>(); pdfData.Add("WorkflowName", Constants.Reimage); pdfData.Add("ProjectID", postData.Entity.ProjectId); pdfData.Add("RegionNameENUS", postData.Entity.Store.StoreBasicInfo.RegionENUS); pdfData.Add("RegionNameZHCN", postData.Entity.Store.StoreBasicInfo.RegionZHCN); pdfData.Add("MarketNameENUS", postData.Entity.Store.StoreBasicInfo.MarketENUS); pdfData.Add("MarketNameZHCN", postData.Entity.Store.StoreBasicInfo.MarketZHCN); pdfData.Add("ProvinceNameENUS", postData.Entity.Store.StoreBasicInfo.ProvinceENUS); pdfData.Add("ProvinceNameZHCN", postData.Entity.Store.StoreBasicInfo.ProvinceZHCN); pdfData.Add("CityNameENUS", postData.Entity.Store.StoreBasicInfo.CityENUS); pdfData.Add("CityNameZHCN", postData.Entity.Store.StoreBasicInfo.CityZHCN); pdfData.Add("StoreNameENUS", postData.Entity.Store.StoreBasicInfo.NameENUS); pdfData.Add("StoreNameZHCN", postData.Entity.Store.StoreBasicInfo.NameZHCN); pdfData.Add("USCode", postData.Entity.Store.StoreBasicInfo.StoreCode); pdfData.Add("IsClosed", postData.Entity.IsClosed ? "Y" : "N"); pdfData.Add("IsInOperation", postData.Entity.IsInOperation ? "Y" : "N"); pdfData.Add("IsMcCafe", postData.Entity.IsMcCafe ? "Y" : "N"); pdfData.Add("IsKiosk", postData.Entity.IsKiosk ? "Y" : "N"); pdfData.Add("IsMDS", postData.Entity.IsMDS ? "Y" : "N"); pdfData.Add("Is24Hour", postData.Entity.Is24Hour ? "Y" : "N"); var consInfo = ReimageConsInfo.GetConsInfo(postData.Entity.ProjectId); postData.Entity.ReinvestInfo = ReinvestmentBasicInfo.GetByConsInfoId(consInfo.Id); pdfData.Add("GBDate", postData.Entity.rmgInfo.GBDate.HasValue ? postData.Entity.rmgInfo.GBDate.Value.ToString("yyyy-MM-dd") : ""); pdfData.Add("ConstCompletionDate", postData.Entity.ReinvestInfo.ConsCompletionDate.HasValue ? postData.Entity.ReinvestInfo.ConsCompletionDate.Value.ToString("yyyy-MM-dd") : ""); pdfData.Add("ReopenDate", postData.Entity.rmgInfo.ReopenDate.HasValue ? postData.Entity.rmgInfo.ReopenDate.Value.ToString("yyyy-MM-dd") : ""); string pdfPath = HtmlConversionUtility.HtmlConvertToPDF(HtmlTempalteType.GBMemo, pdfData, null); EmailSendingResultType result; //邮件模板中的数据 Dictionary <string, string> bodyValues = new Dictionary <string, string>(); //邮件内容中的键值对 bodyValues.Add("ApplicantName", ClientCookie.UserNameENUS);//--提交人 bodyValues.Add("StoreCode", postData.Entity.Store.StoreBasicInfo.StoreCode); bodyValues.Add("StoreName", postData.Entity.Store.StoreBasicInfo.NameENUS); bodyValues.Add("Actor", actor.RoleNameENUS); ////--呈递人 bodyValues.Add("WorkflowName", Constants.Reimage_GBMemo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Reimage); //项目名称 string viewPage = string.Format("{0}/Reimage/Main#/GBMemo/Process/View?projectId={1}", ConfigurationManager.AppSettings["webHost"], postData.Entity.ProjectId); bodyValues.Add("FormUrl", viewPage); //调用邮件服务发送邮件 using (EmailServiceClient client = new EmailServiceClient()) { EmailMessage message = new EmailMessage(); StringBuilder sbTo = new StringBuilder(); Dictionary <string, string> attachments = new Dictionary <string, string>(); foreach (Employee emp in postData.Receivers) { if (sbTo.Length > 0) { sbTo.Append(";"); } if (!string.IsNullOrEmpty(emp.Mail)) { sbTo.Append(emp.Mail); } } if (sbTo.Length > 0) { sbTo.Append(";"); } message.EmailBodyValues = bodyValues; string strTitle = FlowCode.Reimage_GBMemo; attachments.Add(pdfPath, strTitle + "_" + postData.Entity.ProjectId + ".pdf"); message.AttachmentsDict = attachments; message.To = sbTo.ToString(); message.TemplateCode = EmailTemplateCode.GBMemoNotification; result = client.SendGBMemoNotificationEmail(message); } if (!result.Successful) { return(BadRequest(result.ErrorMessage + " " + pdfPath)); } postData.Entity.CompleteNotifyTask(postData.Entity.ProjectId); tranScope.Complete(); } return(Ok()); }
public IHttpActionResult Send(PostMemo <TempClosureReopenMemo> postData) { var actor = ProjectUsers.GetProjectUser(postData.Entity.ProjectId, ProjectUserRoleCode.AssetActor); using (TransactionScope tranScope = new TransactionScope()) { Save(postData.Entity); Dictionary <string, string> pdfData = new Dictionary <string, string>(); pdfData.Add("WorkflowName", "TempClosure"); pdfData.Add("ProjectID", postData.Entity.ProjectId); pdfData.Add("RegionENUS", postData.Entity.RegionENUS); pdfData.Add("RegionZHCN", postData.Entity.RegionZHCN); pdfData.Add("MarketENUS", postData.Entity.MarketENUS); pdfData.Add("MarketZHCN", postData.Entity.MarketZHCN); pdfData.Add("ProvinceENUS", postData.Entity.ProvinceENUS); pdfData.Add("ProvinceZHCN", postData.Entity.ProvinceZHCN); pdfData.Add("CityENUS", postData.Entity.CityENUS); pdfData.Add("CityZHCN", postData.Entity.CityZHCN); pdfData.Add("PipelineId", postData.Entity.PipelineId); pdfData.Add("USCode", postData.Entity.USCode); pdfData.Add("StoreENUS", postData.Entity.StoreENUS); pdfData.Add("StoreZHCN", postData.Entity.StoreZHCN); pdfData.Add("ActualConsFinishDate", postData.Entity.ActualConsFinishDate.HasValue ? postData.Entity.ActualConsFinishDate.Value.ToString("yyyy-MM-dd") : ""); pdfData.Add("OpeningDate", postData.Entity.OpeningDate.HasValue ? postData.Entity.OpeningDate.Value.ToString("yyyy-MM-dd") : ""); pdfData.Add("ProtfolioTypeName", postData.Entity.ProtfolioTypeName); pdfData.Add("TAClassificationName", postData.Entity.TAClassificationName); pdfData.Add("MarketDesirability", postData.Entity.MarketDesirability); pdfData.Add("RERating", postData.Entity.RERating); pdfData.Add("BusinessArea", postData.Entity.BusinessArea); pdfData.Add("KitchenFloor", postData.Entity.KitchenFloor); pdfData.Add("SeatingFloor", postData.Entity.SeatingFloor); pdfData.Add("SeatingNum", postData.Entity.SeatingNum); pdfData.Add("ParkingNum", postData.Entity.ParkingNum); pdfData.Add("ContractType", postData.Entity.ContractType); pdfData.Add("Kiosk", postData.Entity.Kiosk); pdfData.Add("RERepName", postData.Entity.RERepName); pdfData.Add("PlannerName", postData.Entity.PlannerName); string pdfPath = HtmlConversionUtility.HtmlConvertToPDF(HtmlTempalteType.TempClosureReopenMemo, pdfData, null); EmailSendingResultType result; //邮件模板中的数据 Dictionary <string, string> bodyValues = new Dictionary <string, string>(); //邮件内容中的键值对 bodyValues.Add("ApplicantName", ClientCookie.UserNameENUS);//--提交人 bodyValues.Add("StoreCode", postData.Entity.USCode); bodyValues.Add("StoreName", postData.Entity.StoreENUS); bodyValues.Add("Actor", actor.RoleNameENUS); ////--呈递人 bodyValues.Add("WorkflowName", Constants.TempClosure_ReopenMemo); ////--流程名称 bodyValues.Add("ProjectName", Constants.TempClosure); //项目名称 var viewPage = string.Format("{0}/TempClosure/Main#/ReopenMemo/Process/View?projectId={1}", HttpContext.Current.Request.Url.Authority, postData.Entity.ProjectId); bodyValues.Add("FormUrl", viewPage); //调用邮件服务发送邮件 using (EmailServiceClient client = new EmailServiceClient()) { EmailMessage message = new EmailMessage(); StringBuilder sbTo = new StringBuilder(); StringBuilder sbCC = new StringBuilder(); Dictionary <string, string> attachments = new Dictionary <string, string>(); //主送人 var actorEmployee = Employee.GetEmployeeByCode(actor.UserAccount); if (actorEmployee != null) { sbTo.Append(actorEmployee.Mail + ";"); } var cooList = Employee.GetStoreEmployeesByRole(postData.Entity.USCode, RoleCode.Coordinator); foreach (var coo in cooList) { sbTo.Append(coo.Mail + ";"); } var mamList = Employee.GetStoreEmployeesByRole(postData.Entity.USCode, RoleCode.Market_Asset_Mgr); foreach (var mam in mamList) { sbTo.Append(mam.Mail + ";"); } var ramList = Employee.GetStoreEmployeesByRole(postData.Entity.USCode, RoleCode.Regional_Asset_Mgr); foreach (var ram in ramList) { sbTo.Append(ram.Mail + ";"); } var mcamList = Employee.GetStoreEmployeesByRole(postData.Entity.USCode, RoleCode.MCCL_Asset_Mgr); foreach (var mcam in mcamList) { sbTo.Append(mcam.Mail + ";"); } //抄送人 if (postData.Receivers != null) { foreach (Employee emp in postData.Receivers) { if (sbCC.Length > 0) { sbCC.Append(";"); } if (!string.IsNullOrEmpty(emp.Mail)) { sbCC.Append(emp.Mail); } } } if (sbCC.Length > 0) { sbCC.Append(";"); } message.EmailBodyValues = bodyValues; string strTitle = FlowCode.TempClosure_ReopenMemo; attachments.Add(pdfPath, strTitle + "_" + postData.Entity.ProjectId + ".pdf"); message.AttachmentsDict = attachments; message.To = sbTo.ToString(); message.CC = sbCC.ToString(); message.TemplateCode = EmailTemplateCode.GBMemoNotification; result = client.SendNotificationEmail(message); } if (!result.Successful) { return(BadRequest(result.ErrorMessage + " " + pdfPath)); } var projectInfo = ProjectInfo.Get(postData.Entity.ProjectId, FlowCode.TempClosure_ReopenMemo); if (projectInfo.Status == ProjectStatus.UnFinish) { postData.Entity.Submit(); } tranScope.Complete(); } return(Ok()); }
public IHttpActionResult Send(PostMemo <TempClosureMemo> postData) { var actor = ProjectUsers.FirstOrDefault(pu => pu.ProjectId == postData.Entity.ProjectId && pu.RoleCode == ProjectUserRoleCode.AssetActor); Dictionary <string, string> pdfData = new Dictionary <string, string>(); if (postData.Entity.ProjectId.ToLower().IndexOf("rebuild") != -1) { pdfData.Add("WorkflowName", "Rebuild"); pdfData.Add("ClosureNature", "Temporary"); } else if (postData.Entity.ProjectId.ToLower().IndexOf("majorlease") != -1) { pdfData.Add("WorkflowName", "MajorLease"); pdfData.Add("ClosureNature", "Temporary"); } else if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") != -1) { pdfData.Add("WorkflowName", "Reimage"); pdfData.Add("ClosureNature", "Temporary"); } else if (postData.Entity.ProjectId.ToLower().IndexOf("renewal") != -1) { pdfData.Add("WorkflowName", "Renewal"); pdfData.Add("ClosureNature", "Temporary"); } else { pdfData.Add("WorkflowName", "TempClosure"); pdfData.Add("ClosureNature", postData.Entity.ClosureNature.ToString()); } pdfData.Add("ProjectID", postData.Entity.ProjectId); pdfData.Add("RegionNameENUS", postData.Entity.RegionNameENUS); pdfData.Add("RegionNameZHCN", postData.Entity.RegionNameZHCN); pdfData.Add("MarketNameENUS", postData.Entity.MarketNameENUS); pdfData.Add("MarketNameZHCN", postData.Entity.MarketNameZHCN); pdfData.Add("ProvinceNameENUS", postData.Entity.ProvinceNameENUS); pdfData.Add("ProvinceNameZHCN", postData.Entity.ProvinceNameZHCN); pdfData.Add("CityNameENUS", postData.Entity.CityNameENUS); pdfData.Add("CityNameZHCN", postData.Entity.CityNameZHCN); pdfData.Add("StoreNameENUS", postData.Entity.StoreNameENUS); pdfData.Add("StoreNameZHCN", postData.Entity.StoreNameZHCN); pdfData.Add("StoreAddressENUS", postData.Entity.StoreAddressENUS); pdfData.Add("StoreAddressZHCN", postData.Entity.StoreAddressZHCN); pdfData.Add("USCode", postData.Entity.USCode); pdfData.Add("OpenDate", postData.Entity.OpenDate.HasValue ? postData.Entity.OpenDate.Value.ToString("yyyy-MM-dd") : ""); pdfData.Add("ClosureDate", postData.Entity.ClosureDate.HasValue ? postData.Entity.ClosureDate.Value.ToString("yyyy-MM-dd") : ""); pdfData.Add("BecauseOfReimaging", postData.Entity.BecauseOfReimaging ? "Yes" : "No"); pdfData.Add("BecauseOfRemodel", postData.Entity.BecauseOfRemodel ? "Yes" : "No"); pdfData.Add("BecauseOfDespute", postData.Entity.BecauseOfDespute ? "Yes" : "No"); pdfData.Add("BecauseOfRedevelopment", postData.Entity.BecauseOfRedevelopment ? "Yes" : "No"); pdfData.Add("BecauseOfPlanedClosure", postData.Entity.BecauseOfPlanedClosure ? "Yes" : "No"); pdfData.Add("BecauseOfRebuild", postData.Entity.BecauseOfRebuild ? "Yes" : "No"); pdfData.Add("BecauseOfOthers", postData.Entity.BecauseOfOthers); pdfData.Add("PermanentCloseOpportunity", postData.Entity.PermanentCloseOpportunity ? "Yes" : "No"); pdfData.Add("HasRelocationPlan", postData.Entity.HasRelocationPlan ? "Yes" : "No"); pdfData.Add("PipelineName", postData.Entity.PipelineName); pdfData.Add("CompensationAwarded", postData.Entity.CompensationAwarded ? "Yes" : "No"); pdfData.Add("Compensation", postData.Entity.Compensation.HasValue ? postData.Entity.Compensation.Value.ToString("N") : ""); string pdfPath = HtmlConversionUtility.HtmlConvertToPDF(HtmlTempalteType.ClosureMemo, pdfData, null); EmailSendingResultType result; //邮件模板中的数据 Dictionary <string, string> bodyValues = new Dictionary <string, string>(); //邮件内容中的键值对 bodyValues.Add("ApplicantName", ClientCookie.UserNameENUS);//--提交人 bodyValues.Add("StoreCode", postData.Entity.USCode); bodyValues.Add("StoreName", postData.Entity.StoreNameENUS); bodyValues.Add("Actor", actor.UserNameENUS);////--呈递人 string viewPage = string.Format("{0}/TempClosure/Main#/ClosureMemo/Process/View?projectId={1}", ConfigurationManager.AppSettings["webHost"], postData.Entity.ProjectId); if (postData.Entity.ProjectId.ToLower().IndexOf("rebuild") != -1) { bodyValues.Add("WorkflowName", Constants.TempClosure_Memo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Rebuild); //项目名称 viewPage = string.Format("{0}/Rebuild/Main#/TempClosureMemo/View?projectId={1}", ConfigurationManager.AppSettings["webHost"], postData.Entity.ProjectId); } else if (postData.Entity.ProjectId.ToLower().IndexOf("majorlease") != -1) { bodyValues.Add("WorkflowName", Constants.Closure_Memo); ////--流程名称 bodyValues.Add("ProjectName", Constants.MajorLease); //项目名称 viewPage = string.Format("{0}/MajorLease/Main#/ClosureMemo/View?projectId={1}", ConfigurationManager.AppSettings["webHost"], postData.Entity.ProjectId); } else if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") != -1) { bodyValues.Add("WorkflowName", Constants.TempClosure_Memo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Reimage); //项目名称 viewPage = string.Format("{0}/Reimage/Main#/TempClosureMemo/View?projectId={1}", ConfigurationManager.AppSettings["webHost"], postData.Entity.ProjectId); } else if (postData.Entity.ProjectId.ToLower().IndexOf("renewal") != -1) { bodyValues.Add("WorkflowName", Constants.Closure_Memo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Renewal); //项目名称 viewPage = string.Format("{0}/Renewal/Main#/ClosureMemo/View?projectId={1}", ConfigurationManager.AppSettings["webHost"], postData.Entity.ProjectId); } else if (postData.Entity.ProjectId.ToLower().IndexOf("closure") != -1) { bodyValues.Add("WorkflowName", Constants.Closure_Memo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Closure); //项目名称 } else { bodyValues.Add("WorkflowName", Constants.Closure_Memo); ////--流程名称 bodyValues.Add("ProjectName", Constants.TempClosure); //项目名称 } bodyValues.Add("FormUrl", viewPage); if (postData.Entity.ProjectId.ToLower().Contains("tpcls")) { //调用邮件服务发送邮件 using (EmailServiceClient client = new EmailServiceClient()) { EmailMessage message = new EmailMessage(); StringBuilder sbTo = new StringBuilder(); StringBuilder sbCC = new StringBuilder(); Dictionary <string, string> attachments = new Dictionary <string, string>(); //主送人 var actorEmployee = Employee.GetEmployeeByCode(actor.UserAccount); if (actorEmployee != null) { sbTo.Append(actorEmployee.Mail + ";"); } var cooList = Employee.GetStoreEmployeesByRole(postData.Entity.USCode, RoleCode.Coordinator); foreach (var coo in cooList) { sbTo.Append(coo.Mail + ";"); } var mamList = Employee.GetStoreEmployeesByRole(postData.Entity.USCode, RoleCode.Market_Asset_Mgr); foreach (var mam in mamList) { sbTo.Append(mam.Mail + ";"); } var ramList = Employee.GetStoreEmployeesByRole(postData.Entity.USCode, RoleCode.Regional_Asset_Mgr); foreach (var ram in ramList) { sbTo.Append(ram.Mail + ";"); } var mcamList = Employee.GetStoreEmployeesByRole(postData.Entity.USCode, RoleCode.MCCL_Asset_Mgr); foreach (var mcam in mcamList) { sbTo.Append(mcam.Mail + ";"); } //抄送人 if (postData.Receivers != null) { foreach (Employee emp in postData.Receivers) { if (sbCC.Length > 0) { sbCC.Append(";"); } if (!string.IsNullOrEmpty(emp.Mail)) { sbCC.Append(emp.Mail); } } } if (sbCC.Length > 0) { sbCC.Append(";"); } message.EmailBodyValues = bodyValues; attachments.Add(pdfPath, postData.Entity.USCode + " " + Constants.TempClosure_Memo + ".pdf"); message.AttachmentsDict = attachments; message.To = sbTo.ToString(); message.CC = sbCC.ToString(); message.TemplateCode = EmailTemplateCode.GBMemoNotification; result = client.SendNotificationEmail(message); } } else { using (EmailServiceClient client = new EmailServiceClient()) { EmailMessage message = new EmailMessage(); StringBuilder sbTo = new StringBuilder(); StringBuilder sbCC = new StringBuilder(); Dictionary <string, string> attachments = new Dictionary <string, string>(); if (postData.Receivers != null) { foreach (Employee emp in postData.Receivers) { if (sbCC.Length > 0) { sbTo.Append(";"); } if (!string.IsNullOrEmpty(emp.Mail)) { sbTo.Append(emp.Mail); } } } if (sbCC.Length > 0) { sbCC.Append(";"); } message.EmailBodyValues = bodyValues; string strTitle = FlowCode.TempClosure_ClosureMemo; if (postData.Entity.ProjectId.ToLower().IndexOf("rebuild") >= 0) { strTitle = FlowCode.Rebuild_TempClosureMemo; } else if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") >= 0) { strTitle = FlowCode.Reimage_TempClosureMemo; } else if (postData.Entity.ProjectId.ToLower().IndexOf("majorlease") >= 0) { strTitle = "MajorLease_ClosureMemo"; } attachments.Add(pdfPath, postData.Entity.USCode + " " + strTitle + ".pdf"); message.AttachmentsDict = attachments; message.To = sbTo.ToString(); message.TemplateCode = EmailTemplateCode.GBMemoNotification; result = client.SendNotificationEmail(message); } } if (!result.Successful) { return(BadRequest(result.ErrorMessage + " " + pdfPath)); } using (TransactionScope tranScope = new TransactionScope()) { postData.Entity.Save(); ProjectInfo projectInfo = null; if (postData.Entity.ProjectId.ToLower().IndexOf("rebuild") >= 0) { projectInfo = ProjectInfo.Get(postData.Entity.ProjectId, FlowCode.Rebuild_TempClosureMemo); } else if (postData.Entity.ProjectId.ToLower().IndexOf("reimage") >= 0) { projectInfo = ProjectInfo.Get(postData.Entity.ProjectId, FlowCode.Reimage_TempClosureMemo); } else if (postData.Entity.ProjectId.ToLower().IndexOf("majorlease") >= 0 || postData.Entity.ProjectId.ToLower().IndexOf("renewal") >= 0) { postData.Entity.Submit(); } else { projectInfo = ProjectInfo.Get(postData.Entity.ProjectId, FlowCode.TempClosure_ClosureMemo); var tempClosure = TempClosureInfo.Get(postData.Entity.ProjectId); if (postData.Entity.ClosureDate != null) { tempClosure.ActualTempClosureDate = postData.Entity.ClosureDate.Value; } tempClosure.Update(); } if (projectInfo != null && projectInfo.Status == ProjectStatus.UnFinish) { postData.Entity.Submit(); if (postData.Entity.ProjectId.ToLower().Contains("tpcls")) { if (postData.Entity.ClosureDate.HasValue) { ScheduleLog.UpdateStoreStatusSchedule(postData.Entity.USCode, postData.Entity.ProjectId, postData.Entity.ClosureDate.Value, ClientCookie.UserCode); } } } tranScope.Complete(); } return(Ok()); }