public static Proc_PrepareClosureMemo_Result Proc_PrepareClosureMemo(string projectId) { var db = new McdAMEntities(); var result = db.Proc_PrepareClosureMemo(projectId).FirstOrDefault(); return(result); }
public static List <Proc_ProjectHistory_Result> Proc_GetProjectHistory(string projectId, string tableName, bool hasTemplate) { var db = new McdAMEntities(); var result = db.Proc_GetProjectHistory(projectId, tableName, hasTemplate).ToList(); return(result); }
public IHttpActionResult Authority(string usCode) { bool enableView = false; bool enableEdit = false; var adminUsers = Employee.GetEmployeesByRole(RoleCode.System_Admin); if (adminUsers.Any(i => i.Code == ClientCookie.UserCode)) { enableView = true; enableEdit = true; } else { var storeInfo = StoreBasicInfo.GetStorInfo(usCode); using (var amdb = new McdAMEntities()) { var org = amdb.Organization.FirstOrDefault(i => i.Code == storeInfo.RegionCode && i.Type == 102); if (org.DL.HasValue && org.DL.Value) { enableView = true; var repUsers = Employee.GetStoreAssetRepByStoreCode(usCode); if (repUsers.Any(i => i.Code == ClientCookie.UserCode)) { enableEdit = true; } } } } return(Ok(new { EnableView = enableView, EnableEdit = enableEdit })); }
public static List <Proc_GetProjectProcess_Result> Proc_GetProjectProcess(string projectId) { var db = new McdAMEntities(); var result = db.Proc_GetProjectProcess(projectId).ToList(); return(result); }
public ActionResult StoreSTMonthlyFinaceInfoQuery(string _USCode) { McdAMEntities amdb = new McdAMEntities(); var storeId = amdb.StoreBasicInfo.Where(s => s.StoreCode.Equals(_USCode)).Select(id => id.StoreID).FirstOrDefault(); var item = amdb.DataSync_LDW_AM_STMonthlyFinaceInfo.Where(f => f.StoreID == storeId).OrderByDescending(f => f.Year).FirstOrDefault(); var yearMonthObj = amdb.StoreSTMonthlyFinaceInfoTTM.FirstOrDefault(); var financeYear = GetLatestYear(); var financeMonth = GetLatestMonth(); if (yearMonthObj != null && !string.IsNullOrEmpty(yearMonthObj.TTMValue)) { financeYear = yearMonthObj.TTMValue.Substring(0, yearMonthObj.TTMValue.IndexOf('-')); financeMonth = yearMonthObj.TTMValue.Substring(yearMonthObj.TTMValue.IndexOf('-') + 1); } var financeData = amdb.DataSync_LDW_AM_STFinanceData.Where(f => f.UsCode == _USCode && f.FinanceYear.Equals(financeYear) && f.FinanceMonth.Equals(financeMonth)).FirstOrDefault(); var financeData2 = amdb.DataSync_LDW_AM_STFinanceData2.Where(f => f.UsCode == _USCode && f.FinanceYear.Equals(financeYear) && f.FinanceMonth.Equals(financeMonth)).FirstOrDefault(); if (item == null) { item = new DataSync_LDW_AM_STMonthlyFinaceInfo(); } // 界面展示逻辑调整 // (金额精确到小数点后2位) item.NetProductSales = Convert.ToString(Math.Round(Convert.ToDecimal(item.NetProductSales), 2)); item.CashFlow = Convert.ToString(Math.Round(Convert.ToDecimal(item.CashFlow), 2)); item.SOI = Convert.ToString(Math.Round(Convert.ToDecimal(item.SOI), 2)); item.Rent = Convert.ToString(Math.Round(Convert.ToDecimal(item.Rent), 2)); item.McOpCoMargin = Convert.ToString(Math.Round(Convert.ToDecimal(item.McOpCoMargin), 2)); item.Rent_inclAdjustment = Convert.ToString(Math.Round(Convert.ToDecimal(item.Rent_inclAdjustment), 2)); item.LHINBV = Convert.ToString(Math.Round(Convert.ToDecimal(item.LHINBV), 2)); item.ESSDNBV = Convert.ToString(Math.Round(Convert.ToDecimal(item.ESSDNBV), 2)); item.TotalNBV = Convert.ToString(Math.Round(Convert.ToDecimal(item.TotalNBV), 2)); item.SOIPreYr1 = Convert.ToString(Math.Round(Convert.ToDecimal(item.SOIPreYr1), 2)); item.SOIPreYr2 = Convert.ToString(Math.Round(Convert.ToDecimal(item.SOIPreYr2), 2)); item.SOIPreYr3 = Convert.ToString(Math.Round(Convert.ToDecimal(item.SOIPreYr3), 2)); item.CashFlowPreYr1 = Convert.ToString(Math.Round(Convert.ToDecimal(item.CashFlowPreYr1), 2)); item.CashFlowPreYr2 = Convert.ToString(Math.Round(Convert.ToDecimal(item.CashFlowPreYr2), 2)); item.CashFlowPreYr3 = Convert.ToString(Math.Round(Convert.ToDecimal(item.CashFlowPreYr3), 2)); item.RentalPaidtoLLPreYr1 = Convert.ToString(Math.Round(Convert.ToDecimal(item.RentalPaidtoLLPreYr1), 2)); item.RentalPaidtoLLPreYr2 = Convert.ToString(Math.Round(Convert.ToDecimal(item.RentalPaidtoLLPreYr2), 2)); item.RentalPaidtoLLPreYr3 = Convert.ToString(Math.Round(Convert.ToDecimal(item.RentalPaidtoLLPreYr3), 2)); // (百分比精确到小数点后1位) item.SOIPct = Convert.ToString(Math.Round(100 * Convert.ToDecimal(item.SOIPct), 1)); item.Rent_inclAdjustmentPct = Convert.ToString(Math.Round(100 * Convert.ToDecimal(item.Rent_inclAdjustmentPct), 1)); //item.CompsSales = Convert.ToString(Math.Round(100 * Convert.ToDecimal(item.CompsSales), 1)); item.CompSalePreYr1 = Convert.ToString(Math.Round(100 * Convert.ToDecimal(item.CompSalePreYr1), 1)); item.CompSalePreYr2 = Convert.ToString(Math.Round(100 * Convert.ToDecimal(item.CompSalePreYr2), 1)); item.CompSalePreYr3 = Convert.ToString(Math.Round(100 * Convert.ToDecimal(item.CompSalePreYr3), 1)); item.CompsSales = Convert.ToString(Math.Round(100 * Convert.ToDecimal(financeData2.comp_sales_ttm), 1)); string result = JsonConvert.SerializeObject(item); return(Content(result)); }
public List <Pipeline> SearchPipelineId(string queryString, int pageSize, string storeCode) { List <Pipeline> list = new List <Pipeline>(); McdAMEntities db = new McdAMEntities(); list = db.Database.SqlQuery <Pipeline>(string.Format(@" select PipelineID,PipelineCode,PipelineNameZHCN,PipelineNameENUS from StoreBasicInfo where MarketCode in (select MarketCode from StoreBasicInfo where StoreCode='{1}') and PipelineCode like '%{0}%' ", queryString, storeCode)).Take(5).ToList(); return(list); }
public ReinvestmentBasicInfo GetReinvestmentBasicInfo(string projectId) { ReinvestmentBasicInfo reinvestmentBasicInfo; using (var context = new McdAMEntities()) { var result = (from mlc in context.ReimageConsInfo join rbi in context.ReinvestmentBasicInfo on mlc.Id equals rbi.ConsInfoID where mlc.ProjectId == projectId && !mlc.IsHistory select rbi).Distinct().AsEnumerable(); reinvestmentBasicInfo = result.FirstOrDefault(); } return(reinvestmentBasicInfo); }
public IHttpActionResult Search(string sourceCode, string refTableName, Guid refTableId) { if (refTableId == Guid.Empty) { return(Ok()); } //var list = ProjectComment.Search(e => e.RefTableName == refTableName // && e.SourceCode == sourceCode && e.RefTableId == refTableId && e.Status == ProjectCommentStatus.Submit) // .OrderBy(e => e.CreateTime).ToList(); var db = new McdAMEntities(); var list = db.VProjectComment.Where(e => e.RefTableName == refTableName && e.SourceCode == sourceCode && e.RefTableId == refTableId && e.Status == (int)ProjectCommentStatus.Submit).OrderBy(e => e.CreateTime).ToList(); return(Ok(list)); }
/// <summary> /// Original Data Operation /// </summary> /// <param name="refTableId"></param> /// <param name="projectId"></param> /// <param name="financeYearMonth"> TTM Financial Data : Data Month</param> /// <param name="lastyear"></param> /// <param name="lastmonth"></param> public static void OriginalDataOperation(Guid refTableId, string projectId, string financeYearMonth, string lastyear, string lastmonth) { if (string.IsNullOrEmpty(projectId)) { return; } string financeYear; string financeMonth; McdAMEntities amdb = new McdAMEntities(); if (!string.IsNullOrEmpty(financeYearMonth)) { financeYear = financeYearMonth.Split('-')[0]; financeMonth = financeYearMonth.Split('-')[1]; var ldw_financeData = GetByRefId(refTableId); if (ldw_financeData == null) { AddFinancialData(refTableId, projectId, financeYear, financeMonth); } else if (ldw_financeData.FinanceYear != financeYear || ldw_financeData.FinanceMonth != financeMonth) { UpdateFinancialData(refTableId, projectId, financeYear, financeMonth); } } else { var yearMonthObj = amdb.StoreSTMonthlyFinaceInfoTTM.FirstOrDefault(); if (yearMonthObj != null && !string.IsNullOrEmpty(yearMonthObj.TTMValue)) { financeYear = yearMonthObj.TTMValue.Substring(0, yearMonthObj.TTMValue.IndexOf('-')); financeMonth = yearMonthObj.TTMValue.Substring(yearMonthObj.TTMValue.IndexOf('-') + 1); } else { financeYear = lastyear; financeMonth = lastmonth; } if (!CheckIfInFinanceData(projectId)) { AddFinancialData(refTableId, projectId, financeYear, financeMonth); } } }
public static IQueryable <T> Search <Tkey>(McdAMEntities context, Expression <Func <T, bool> > predicate, Expression <Func <T, Tkey> > orderByPredicate, int pageIndex, int pageSize, out int totalRecords, bool IsDesc = false) where Tkey : IComparable { var query = context.Set <T>(); IOrderedQueryable <T> result; if (IsDesc) { result = query.Where(predicate).OrderByDescending(orderByPredicate); } else { result = query.Where(predicate).OrderBy(orderByPredicate); } totalRecords = query.Count(predicate); var entities = result.Skip(pageSize * (pageIndex - 1)).Take(pageSize); return(entities); }
public IHttpActionResult GetSelectYearMonth(string projectId) { using (var amdb = new McdAMEntities()) { var selectItemList = new List <SelectItem>(); var uscode = ReimageInfo.FirstOrDefault(e => e.ProjectId == projectId).USCode; var reimageSummary = ReimageSummary.GetReimageSummaryInfo(projectId); if (reimageSummary != null) { var refId = reimageSummary.Id; var storeProfitabilityAndLeaseInfo = StoreProfitabilityAndLeaseInfo.FirstOrDefault(e => e.RefId == refId); var asOf = storeProfitabilityAndLeaseInfo != null ? storeProfitabilityAndLeaseInfo.AsOf : string.Empty; var yearMonthList = amdb.DataSync_LDW_AM_STFinanceData2.Where(f => f.UsCode == uscode).Select(i => new { financeYearMonth = i.FinanceYear + "-" + i.FinanceMonth }).Distinct().OrderByDescending(i => i.financeYearMonth).Take(12).ToList(); var ldw_financeData = LDW_FinanceData.Get(projectId); foreach (var _yearMonth in yearMonthList) { var selectItem = new SelectItem(); selectItem.name = _yearMonth.financeYearMonth; selectItem.value = _yearMonth.financeYearMonth; if (ldw_financeData != null) { selectItem.selected = _yearMonth.financeYearMonth == ldw_financeData.FinanceYear + "-" + ldw_financeData.FinanceMonth; } else { // selectItem.selected = false; selectItem.selected = _yearMonth.financeYearMonth == asOf; } selectItemList.Add(selectItem); } if (string.IsNullOrEmpty(asOf) && selectItemList.Count > 0) { selectItemList[0].selected = true; } } return(Ok(new { data = selectItemList })); } }
public static RenewalToolDTO InitPage(string projectId, string id = null) { RenewalToolDTO dto = new RenewalToolDTO(); var tool = RenewalTool.Get(projectId, id); var project = ProjectInfo.Get(projectId, FlowCode.Renewal_Tool); var info = RenewalInfo.Get(projectId); var isFinance = ClientCookie.UserCode == info.FinanceAccount; tool.IsProjectFreezed = tool.CheckIfFreezeProject(projectId); var nextRefTableId = new Guid(FlowInfo.GetRefTableId("RenewalAnalysis", projectId)); var nextFlowStarted = ProjectInfo.IsFlowStarted(projectId, FlowCode.Renewal_Analysis); var haveTask = TaskWork.Any(t => t.RefID == projectId && t.TypeCode == FlowCode.Renewal_Tool && t.Status == TaskWorkStatus.UnFinish && t.ReceiverAccount == ClientCookie.UserCode); var projectComment = ProjectComment.GetSavedComment(tool.Id, "RenewalTool", ClientCookie.UserCode); var projectNode = NodeInfo.GetNodeInfo(project.NodeCode); var packageStarted = ProjectInfo.IsFlowStarted(projectId, FlowCode.Renewal_Package); string selectedYearMonth = null; dto.Info = info; dto.Entity = tool; dto.TTMDataYearMonths = RenewalToolFinMeasureInput.GetYearMonths(projectId, out selectedYearMonth); dto.FinMeasureInput = RenewalToolFinMeasureInput.Get(projectId, dto.Entity.Id); if (string.IsNullOrEmpty(dto.FinMeasureInput.FinanceYear) || string.IsNullOrEmpty(dto.FinMeasureInput.FinanceMonth)) { var ym = selectedYearMonth.Split('-'); dto.FinMeasureInput.FinanceYear = ym[0]; dto.FinMeasureInput.FinanceMonth = ym[1]; } dto.FinMeasureInput.FinanceDataYearMonth = dto.FinMeasureInput.FinanceYear + "-" + dto.FinMeasureInput.FinanceMonth; //dto.FinMeasureInput.ContributionMargin = StoreCM.Get(dto.Info.USCode).ContributionMargin; McdAMEntities amdb = new McdAMEntities(); var finfo = amdb.DataSync_LDW_AM_STFinanceData2.FirstOrDefault(f => f.UsCode == dto.Info.USCode && f.FinanceYear == dto.FinMeasureInput.FinanceYear && f.FinanceMonth == dto.FinMeasureInput.FinanceMonth); decimal cm = 0; if (finfo != null && !string.IsNullOrEmpty(finfo.contribution_marginPct)) { cm = decimal.Parse(finfo.contribution_marginPct); } dto.FinMeasureInput.ContributionMargin = cm; var coninfo = RenewalConsInfo.FirstOrDefault(e => e.ProjectId == projectId && !e.IsHistory); var conProj = ProjectInfo.FirstOrDefault(e => e.ProjectId == projectId && e.FlowCode == "Renewal_ConsInfo"); dto.WriteOffAndReinCost = RenewalToolWriteOffAndReinCost.Get(projectId, dto.Entity.Id, projectNode); if (coninfo != null && !coninfo.HasReinvenstment) { dto.WriteOffAndReinCost.REWriteOff = null; dto.WriteOffAndReinCost.LHIWriteOff = null; dto.WriteOffAndReinCost.ESSDWriteOff = null; dto.WriteOffAndReinCost.ESSDWriteOff = null; dto.WriteOffAndReinCost.RECost = null; dto.WriteOffAndReinCost.LHICost = null; dto.WriteOffAndReinCost.ESSDCost = null; } dto.Uploadable = projectNode.Sequence >= 3 && ClientCookie.UserCode == dto.Info.AssetActorAccount && !packageStarted; dto.ProjectComment = projectComment != null ? projectComment.Content : ""; dto.Editable = ProjectInfo.IsFlowEditable(projectId, FlowCode.Renewal_Tool); dto.Recallable = ProjectInfo.IsFlowRecallable(projectId, FlowCode.Renewal_Tool); dto.Savable = ProjectInfo.IsFlowSavable(projectId, FlowCode.Renewal_Tool) && string.IsNullOrEmpty(id); dto.IsFinished = ProjectInfo.Any( e => e.ProjectId == projectId && e.FlowCode == FlowCode.Renewal_Tool && e.Status == ProjectStatus.Finished); return(dto); }
/// <summary> /// Update LDW_FinanceData /// </summary> /// <param name="refTableId"></param> /// <param name="projectId"></param> /// <param name="financeYear"></param> /// <param name="financeMonth"></param> /// <returns></returns> private static int UpdateFinancialData(Guid refTableId, string projectId, string financeYear, string financeMonth) { McdAMEntities amdb = new McdAMEntities(); var uscode = ClosureInfo.FirstOrDefault(ci => ci.ProjectId == projectId).USCode; var storeId = amdb.StoreBasicInfo.Where(s => s.StoreCode.Equals(uscode)).Select(id => id.StoreID).FirstOrDefault(); var financeData = amdb.DataSync_LDW_AM_STFinanceData.Where(f => f.UsCode == uscode && f.FinanceYear.Equals(financeYear) && f.FinanceMonth.Equals(financeMonth)).FirstOrDefault(); var financeData2 = amdb.DataSync_LDW_AM_STFinanceData2.Where(f => f.UsCode == uscode && f.FinanceYear.Equals(financeYear) && f.FinanceMonth.Equals(financeMonth)).FirstOrDefault(); var ldw_FinanceData = GetByRefId(refTableId); ldw_FinanceData.StoreID = storeId; ldw_FinanceData.UsCode = uscode; ldw_FinanceData.FinanceYear = financeYear; ldw_FinanceData.FinanceMonth = financeMonth; ldw_FinanceData.Total_Sales_TTM = financeData.Total_Sales_TTM; ldw_FinanceData.Rent_TTM = financeData2.Rent_TTM; ldw_FinanceData.comp_sales_ttm = financeData2.comp_sales_ttm; ldw_FinanceData.comp_sales_market_ttm = financeData2.comp_sales_market_ttm; ldw_FinanceData.comp_gc_ttm = financeData2.comp_gc_ttm; ldw_FinanceData.comp_gc_market_ttm = financeData2.comp_gc_market_ttm; ldw_FinanceData.Pac_TTM = financeData2.Pac_TTM; ldw_FinanceData.PACPct_TTM = financeData2.PACPct_TTM; ldw_FinanceData.PACPct_MARKET_TTM = financeData2.PACPct_MARKET_TTM; ldw_FinanceData.Depreciation_LHI_TTM = financeData2.Depreciation_LHI_TTM; ldw_FinanceData.Interest_LHI_TTM = financeData2.Interest_LHI_TTM; ldw_FinanceData.Service_Fee_TTM = financeData2.Service_Fee_TTM; ldw_FinanceData.Insurance_TTM = financeData2.Insurance_TTM; ldw_FinanceData.Accounting_TTM = financeData2.Accounting_TTM; ldw_FinanceData.Taxes_Licenses_TTM = financeData2.Taxes_Licenses_TTM; ldw_FinanceData.Depreciation_Essd_TTM = financeData2.Depreciation_Essd_TTM; ldw_FinanceData.Interest_Essd_TTM = financeData2.Interest_Essd_TTM; ldw_FinanceData.Other_Exp_TTM = financeData2.Other_Exp_TTM; ldw_FinanceData.ProductSales_TTM = financeData.ProductSales_TTM; ldw_FinanceData.Non_Product_Sales_TTM = financeData2.Non_Product_Sales_TTM; ldw_FinanceData.Non_Product_Costs_TTM = financeData2.Non_Product_Costs_TTM; ldw_FinanceData.SOIPct_TTM = financeData.SOIPct_TTM; ldw_FinanceData.SOIPct_MARKET_TTM = financeData2.SOIPct_MARKET_TTM; ldw_FinanceData.CashFlow_TTM = financeData2.CASH_FLOW_TTM; ldw_FinanceData.Total_Sales_TTMPY1 = financeData2.Total_Sales_TTMPY1; ldw_FinanceData.Total_Sales_TTMPY2 = financeData2.Total_Sales_TTMPY2; ldw_FinanceData.comp_sales_ttm_py1 = financeData2.comp_sales_ttm_py1; ldw_FinanceData.comp_sales_ttm_py2 = financeData2.comp_sales_ttm_py2; ldw_FinanceData.comp_sales_market_ttm_py1 = financeData2.comp_sales_market_ttm_py1; ldw_FinanceData.comp_sales_market_ttm_py2 = financeData2.comp_sales_market_ttm_py2; ldw_FinanceData.comp_gc_ttm_py1 = financeData2.comp_gc_ttm_py1; ldw_FinanceData.comp_gc_ttm_py2 = financeData2.comp_gc_ttm_py2; ldw_FinanceData.comp_gc_market_ttm_py1 = financeData2.comp_gc_market_ttm_py1; ldw_FinanceData.comp_gc_market_ttm_py2 = financeData2.comp_gc_market_ttm_py2; ldw_FinanceData.PAC_TTMPreviousY1 = financeData2.PAC_TTMPreviousY1; ldw_FinanceData.PAC_TTMPreviousY2 = financeData2.PAC_TTMPreviousY2; ldw_FinanceData.PACPct_MARKET_TTMPreviousY1 = financeData2.PACPct_MARKET_TTMPreviousY1; ldw_FinanceData.PACPct_MARKET_TTMPreviousY2 = financeData2.PACPct_MARKET_TTMPreviousY2; ldw_FinanceData.SOI_TTMPreviousY1 = financeData2.SOI_TTMPreviousY1; ldw_FinanceData.SOI_TTMPreviousY2 = financeData2.SOI_TTMPreviousY2; ldw_FinanceData.SOIPct_MARKET_TTMPreviousY1 = financeData2.SOIPct_MARKET_TTMPreviousY1; ldw_FinanceData.SOIPct_MARKET_TTMPreviousY2 = financeData2.SOIPct_MARKET_TTMPreviousY2; ldw_FinanceData.Cash_Flow_TTMPreviousY1 = financeData2.Cash_Flow_TTMPreviousY1; ldw_FinanceData.Cash_Flow_TTMPreviousY2 = financeData2.Cash_Flow_TTMPreviousY2; return(ldw_FinanceData.Update()); }
public IHttpActionResult Send(PostClosureMemoModel model) { var actor = ProjectUsers.GetProjectUser(model.Entity.ProjectId, ProjectUserRoleCode.AssetActor); using (TransactionScope tranScope = new TransactionScope()) { Save(model.Entity); ClosureTool closureTool = ClosureTool.FirstOrDefault(ct => ct.ProjectId == model.Entity.ProjectId); string compensationAwards = ""; string compensation = "暂无数据"; if (closureTool != null && closureTool.Compensation.HasValue) { compensationAwards = closureTool.Compensation.Value > 0 ? "Yes" : "No"; compensation = closureTool.Compensation.Value.ToString("N"); } Dictionary <string, string> pdfData = new Dictionary <string, string>(); pdfData.Add("WorkflowName", "Closure"); pdfData.Add("ProjectID", model.Entity.ProjectId); pdfData.Add("RegionNameENUS", model.Entity.RegionNameENUS); pdfData.Add("RegionNameZHCN", model.Entity.RegionNameZHCN); pdfData.Add("MarketNameENUS", model.Entity.MarketNameENUS); pdfData.Add("MarketNameZHCN", model.Entity.MarketNameZHCN); pdfData.Add("ProvinceNameENUS", model.Entity.ProvinceNameENUS); pdfData.Add("ProvinceNameZHCN", model.Entity.ProvinceNameZHCN); pdfData.Add("CityNameENUS", model.Entity.CityNameENUS); pdfData.Add("CityNameZHCN", model.Entity.CityNameZHCN); pdfData.Add("StoreNameENUS", model.Entity.StoreNameENUS); pdfData.Add("StoreNameZHCN", model.Entity.StoreNameZHCN); pdfData.Add("StoreAddressENUS", model.Entity.StoreAddressENUS); pdfData.Add("StoreAddressZHCN", model.Entity.StoreAddressZHCN); pdfData.Add("USCode", model.Entity.USCode); pdfData.Add("OpenDate", model.Entity.OpenDate.Value.ToString("yyyy-MM-dd")); pdfData.Add("ClosureDate", model.Entity.ClosureDate.Value.ToString("yyyy-MM-dd")); pdfData.Add("ClosureNature", model.Entity.ClosureNature.ToString()); if (model.Entity.BecauseOfReimaging.HasValue) { pdfData.Add("BecauseOfReimaging", model.Entity.BecauseOfReimaging.Value ? "Yes" : "No"); } else { pdfData.Add("BecauseOfReimaging", ""); } if (model.Entity.BecauseOfRemodel.HasValue) { pdfData.Add("BecauseOfRemodel", model.Entity.BecauseOfRemodel.Value ? "Yes" : "No"); } else { pdfData.Add("BecauseOfRemodel", ""); } if (model.Entity.BecauseOfDespute.HasValue) { pdfData.Add("BecauseOfDespute", model.Entity.BecauseOfDespute.Value ? "Yes" : "No"); } else { pdfData.Add("BecauseOfDespute", ""); } if (model.Entity.BecauseOfRedevelopment.HasValue) { pdfData.Add("BecauseOfRedevelopment", model.Entity.BecauseOfRedevelopment.Value ? "Yes" : "No"); } else { pdfData.Add("BecauseOfRedevelopment", ""); } if (model.Entity.BecauseOfPlanedClosure.HasValue) { pdfData.Add("BecauseOfPlanedClosure", model.Entity.BecauseOfPlanedClosure.Value ? "Yes" : "No"); } else { pdfData.Add("BecauseOfPlanedClosure", ""); } if (model.Entity.BecauseOfRebuild.HasValue) { pdfData.Add("BecauseOfRebuild", model.Entity.BecauseOfRebuild.Value ? "Yes" : "No"); } else { pdfData.Add("BecauseOfRebuild", ""); } pdfData.Add("BecauseOfOthers", model.Entity.BecauseOfOthers); if (model.Entity.PermanentCloseOpportunity.HasValue) { pdfData.Add("PermanentCloseOpportunity", model.Entity.PermanentCloseOpportunity.Value ? "Yes" : "No"); } else { pdfData.Add("PermanentCloseOpportunity", ""); } if (model.Entity.HasRelocationPlan.HasValue) { pdfData.Add("HasRelocationPlan", model.Entity.HasRelocationPlan.Value ? "Yes" : "No"); } else { pdfData.Add("HasRelocationPlan", ""); } pdfData.Add("PipelineName", model.Entity.PipelineName); pdfData.Add("CompensationAwarded", compensationAwards); pdfData.Add("Compensation", compensation); 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", model.Entity.USCode); bodyValues.Add("StoreName", model.Entity.StoreNameENUS); bodyValues.Add("Actor", actor.RoleNameENUS); ////--呈递人 bodyValues.Add("WorkflowName", Constants.Closure_Memo); ////--流程名称 bodyValues.Add("ProjectName", Constants.Closure); //项目名称 var webRootUrl = ConfigurationManager.AppSettings["webHost"]; var viewPage = string.Format("{0}Closure/Main#/ClosureMemo/ClosureMemoView?projectId={1}", webRootUrl, model.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 model.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; attachments.Add(pdfPath, model.Entity.USCode + " " + FlowCode.Closure_Memo + ".pdf"); message.AttachmentsDict = attachments; message.To = sbTo.ToString(); message.TemplateCode = EmailTemplateCode.GBMemoNotification; result = client.SendNotificationEmail(message); } if (!result.Successful) { return(BadRequest(result.ErrorMessage + " " + pdfPath)); } //store关闭不在这里设置,需要判断project状态和closuredata //var store = StoreBasicInfo.GetStorInfo(model.Entity.USCode); //store.StoreStatus = "suoya301003"; //store.statusName = "Closed"; //store.Update(); if (model.Entity.ClosureNature == ClosureNatureType.Permanent) { //选项为永久关闭并且发送成功后关闭任务 McdAMEntities _db = new McdAMEntities(); var task = _db.TaskWork.FirstOrDefault(e => e.ReceiverAccount == ClientCookie.UserCode && e.Status == 0 && e.SourceCode == FlowCode.Closure && e.TypeCode == FlowCode.Closure_Memo && e.RefID == model.Entity.ProjectId); if (task != null) { task.Status = TaskWorkStatus.K2ProcessApproved; task.FinishTime = DateTime.Now; task.Url = SiteInfo.GetProjectViewPageUrl(FlowCode.Closure_Memo, task.RefID); //var enableExecutiveSummary = handler.EnableExecutiveSummary(entity.ProjectId.Value); _db.TaskWork.Attach(task); _db.Entry(task).State = EntityState.Modified; _db.SaveChanges(); ProjectInfo.FinishNode(model.Entity.ProjectId, FlowCode.Closure_Memo, NodeCode.Closure_ClosureMemo_Input); ProjectInfo.FinishNode(model.Entity.ProjectId, FlowCode.Closure_Memo, NodeCode.Closure_ClosureMemo_SendMemo, ProjectStatus.Finished); #region Memo完成后,设定计划任务 var closureConsInvtChecking = new ClosureConsInvtChecking(); closureConsInvtChecking.GenerateConsInvtCheckingTask(model.Entity.ProjectId); if (model.Entity.ClosureDate.HasValue) { ScheduleLog.UpdateStoreStatusSchedule(model.Entity.USCode, model.Entity.ProjectId, model.Entity.ClosureDate.Value, ClientCookie.UserCode); } #endregion } ProjectInfo.CompleteMainIfEnable(model.Entity.ProjectId); } tranScope.Complete(); return(Ok()); } }
public IHttpActionResult DownLoadTemplate(string projectId) { var current = System.Web.HttpContext.Current; //string path = SiteFilePath.Template_DIRECTORY + "\\" + SiteFilePath.FAWrite_offTool_Template; //Excel excel = new Excel(); //string templatePath = path; //string tempFilePath = current.Server.MapPath("~/") + "Temp\\" + Guid.NewGuid() + ".xls"; //var closure = ClosureInfo.GetByProjectId(projectId); //excel.Open(path); //excel.Save(tempFilePath); //var store = StoreBasicInfo.FirstOrDefault(e => e.StoreCode == closure.USCode); //Excel tempExcel = new Excel(); //tempExcel.Open(tempFilePath); //var sheet = tempExcel.Sheets["PMT"]; //sheet.Cells[1, 1].StrValue = store.RegionENUS; //sheet.Cells[2, 1].StrValue = store.MarketENUS; //sheet.Cells[3, 1].StrValue = store.NameZHCN; //sheet.Cells[4, 1].StrValue = closure.USCode; //sheet.Cells[5, 1].StrValue = store.StoreTypeName; //if (closure.ActualCloseDate != null) //{ // sheet.Cells[6, 1].StrValue = closure.ActualCloseDate.Value.ToString("yyyy-MM-dd"); //} //sheet.Cells[7, 1].StrValue = "";//TODO::-Cary GetPM //sheet.Cells[0, 7].StrValue = ConsInvtCheckingVersion; //tempExcel.Save(tempFilePath); //直接下载writeoff文件 McdAMEntities _db = new McdAMEntities(); var closureInfo = ClosureInfo.GetByProjectId(projectId); var wo = ClosureWOCheckList.Get(projectId); if (wo != null) { var att = _db.Attachment.FirstOrDefault(a => a.RefTableID == wo.Id.ToString() && a.TypeCode == "Template"); string absolutePath = current.Server.MapPath("~/") + "UploadFiles/" + att.InternalName; string tempFilePath = current.Server.MapPath("~/") + "Temp\\" + Guid.NewGuid() + Path.GetExtension(absolutePath); File.Copy(absolutePath, tempFilePath); ExcelHelper.UpdateExcelVersionNumber(tempFilePath, ConsInvtCheckingVersion); var currentNode = NodeInfo.GetCurrentNode(projectId, FlowCode.Closure_ConsInvtChecking); var newNode = NodeInfo.GetNodeInfo(NodeCode.Closure_ConsInvtChecking_DownLoadTemplate); if (newNode.Sequence > currentNode.Sequence) { ProjectInfo.FinishNode(projectId, FlowCode.Closure_ConsInvtChecking, NodeCode.Closure_ConsInvtChecking_DownLoadTemplate); } current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + SiteFilePath.GetTemplateFileName(closureInfo.USCode, FlowCode.Closure_ConsInvtChecking, SiteFilePath.FAWrite_offTool_Template)); current.Response.ContentType = "application/octet-stream"; current.Response.WriteFile("" + tempFilePath + ""); current.Response.End(); } else { string path = SiteFilePath.Template_DIRECTORY + "\\" + SiteFilePath.FAWrite_offTool_Template; current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + SiteFilePath.GetTemplateFileName(closureInfo.USCode, FlowCode.Closure_ConsInvtChecking, SiteFilePath.FAWrite_offTool_Template)); current.Response.ContentType = "application/octet-stream"; current.Response.WriteFile("" + path + ""); current.Response.End(); } return(Ok()); }
public void ShareDbContextFrom(BaseAbstractEntity entity) { _db = entity.GetDb(); }