public void Save(string action = "") { using (var scope = new TransactionScope()) { if (Id == Guid.Empty) { Id = Guid.NewGuid(); CreateTime = DateTime.Now; LastUpdateTime = DateTime.Now; CreateUserAccount = ClientCookie.UserCode; IsHistory = false; Add(this); } else { LastUpdateTime = DateTime.Now; Update(this); } if (ReinBasicInfo != null) { ReinBasicInfo.ConsInfoID = Id; ReinBasicInfo.Save(); //同步更新GBDate与ReopenDate var reimageInfo = ReimageInfo.GetReimageInfo(ProjectId); reimageInfo.ReopenDate = ReinBasicInfo.ReopenDate; reimageInfo.GBDate = ReinBasicInfo.GBDate; reimageInfo.Update(); } if (ReinCost != null) { ReinCost.ConsInfoID = Id; ReinCost.Save(); } if (WriteOff != null) { WriteOff.ConsInfoID = Id; WriteOff.Save(); } SaveApproveUsers(action); if (string.Compare(action, "edit", true) != 0) { SaveComments(action); } scope.Complete(); } }
public static GBMemo GetGBMemo(string projectId) { var memo = FirstOrDefault(e => e.ProjectId.Equals(projectId) && !e.IsHistory); if (memo == null) { memo = new GBMemo(); } memo.ProjectId = projectId; string usCode = ""; if (projectId.ToLower().IndexOf("rebuild") >= 0) { var rbdInfo = new RebuildInfo(); rbdInfo = rbdInfo.GetRebuildInfo(projectId); memo.Info = rbdInfo; usCode = rbdInfo.USCode; } if (projectId.ToLower().IndexOf("reimage") >= 0) { var reimageInfo = ReimageInfo.GetReimageInfo(projectId); memo.rmgInfo = reimageInfo; usCode = reimageInfo.USCode; } memo.Store = StoreBasicInfo.GetStore(usCode); if (memo.Store.Hour24Count == 24) { memo.Is24Hour = true; } else { memo.Is24Hour = false; } return(memo); }
public static ReimageGBMemo GetGBMemo(string projectId, string entityId = "") { var memo = (string.IsNullOrEmpty(entityId) ? FirstOrDefault(e => e.ProjectId.Equals(projectId) && !e.IsHistory) : FirstOrDefault(e => e.Id.ToString().Equals(entityId))) ?? new ReimageGBMemo(); memo.ProjectId = projectId; string usCode = ""; var rmgInfo = ReimageInfo.GetReimageInfo(projectId); memo.rmgInfo = rmgInfo; usCode = rmgInfo.USCode; memo.Store = StoreBasicInfo.GetStore(usCode); var consInfo = new ReimageConsInfo(); memo.ReinvestInfo = consInfo.GetReinvestmentBasicInfo(projectId); if (memo.Id == Guid.Empty) { memo.IsClosed = (memo.Store.StoreBasicInfo.statusName == "Closed"); memo.IsInOperation = false; if (memo.ReinvestInfo != null) { if ((memo.ReinvestInfo.NewAttachedKiosk.HasValue && memo.ReinvestInfo.NewAttachedKiosk.Value) || (memo.ReinvestInfo.NewRemoteKiosk.HasValue && memo.ReinvestInfo.NewRemoteKiosk.Value)) { memo.IsKiosk = true; } memo.IsMcCafe = memo.ReinvestInfo.NewMcCafe.HasValue && memo.ReinvestInfo.NewMcCafe.Value; memo.IsMDS = memo.ReinvestInfo.NewMDS.HasValue && memo.ReinvestInfo.NewMDS.Value; memo.Is24Hour = memo.ReinvestInfo.NewTwientyFourHour.HasValue && memo.ReinvestInfo.NewTwientyFourHour.Value; memo.GBDate = memo.ReinvestInfo.GBDate; memo.ConstCompletionDate = memo.ReinvestInfo.ConsCompletionDate; memo.ReopenDate = memo.ReinvestInfo.ReopenDate; } memo.Save(); } else { var projectInfo = ProjectInfo.FirstOrDefault(e => e.ProjectId == projectId && e.FlowCode == FlowCode.Reimage_GBMemo); if (projectInfo != null) { if (ClientCookie.UserCode.Equals(rmgInfo.PMAccount)) //if (reimageInfo != null) { var isExistTask = TaskWork.Any(e => e.RefID == projectId && e.TypeCode == FlowCode.Reimage_GBMemo && e.Status == TaskWorkStatus.UnFinish && e.ReceiverAccount == ClientCookie.UserCode && e.ActivityName == WorkflowActOriginator); memo.IsShowEdit = projectInfo.Status == ProjectStatus.Finished && !isExistTask; memo.IsShowRecall = CheckIfShowRecallByPojectStatus(projectInfo.Status) && !isExistTask; } } } if (ClientCookie.UserCode.Equals(rmgInfo.PMAccount)) { memo.IsShowSave = ProjectInfo.IsFlowSavable(projectId, FlowCode.Reimage_GBMemo); } PopulateAppUsers(memo); return(memo); }
public static TempClosureMemo GetTempClosureMemo(string projectId) { var memo = FirstOrDefault(e => e.ProjectId.Equals(projectId)); if (memo == null) { memo = new TempClosureMemo(); memo.ProjectId = projectId; var eac = new EstimatedVsActualConstruction(); if (projectId.ToLower().IndexOf("rebuild") >= 0) { var rbdInfo = new RebuildInfo(); rbdInfo = rbdInfo.GetRebuildInfo(projectId); var store = StoreBasicInfo.GetStore(rbdInfo.USCode); eac = eac.GetEAC(rbdInfo.Id); if (rbdInfo != null) { memo.ClosureDate = rbdInfo.TempClosureDate; } if (store != null) { memo.RegionCode = store.StoreBasicInfo.RegionCode; memo.RegionNameENUS = store.StoreBasicInfo.RegionENUS; memo.RegionNameZHCN = store.StoreBasicInfo.RegionZHCN; memo.MarketCode = store.StoreBasicInfo.MarketCode; memo.MarketNameENUS = store.StoreBasicInfo.MarketENUS; memo.MarketNameZHCN = store.StoreBasicInfo.MarketZHCN; memo.ProvinceNameENUS = store.StoreBasicInfo.ProvinceENUS; memo.ProvinceNameZHCN = store.StoreBasicInfo.ProvinceZHCN; memo.CityCode = store.StoreBasicInfo.CityCode; memo.CityNameENUS = store.StoreBasicInfo.CityENUS; memo.CityNameZHCN = store.StoreBasicInfo.CityZHCN; memo.StoreNameENUS = store.StoreBasicInfo.NameENUS; memo.StoreNameZHCN = store.StoreBasicInfo.NameZHCN; memo.StoreAddressENUS = store.StoreBasicInfo.AddressENUS; memo.StoreAddressZHCN = store.StoreBasicInfo.AddressZHCN; memo.USCode = store.StoreBasicInfo.StoreCode; memo.OpenDate = store.StoreBasicInfo.OpenDate; } } else if (projectId.ToLower().IndexOf("reimage") >= 0) { var rmgInfo = ReimageInfo.GetReimageInfo(projectId); var store = StoreBasicInfo.GetStore(rmgInfo.USCode); eac = eac.GetEAC(rmgInfo.Id); memo.ClosureDate = DateTime.Now; if (store != null) { memo.RegionCode = store.StoreBasicInfo.RegionCode; memo.RegionNameENUS = store.StoreBasicInfo.RegionENUS; memo.RegionNameZHCN = store.StoreBasicInfo.RegionZHCN; memo.MarketCode = store.StoreBasicInfo.MarketCode; memo.MarketNameENUS = store.StoreBasicInfo.MarketENUS; memo.MarketNameZHCN = store.StoreBasicInfo.MarketZHCN; memo.ProvinceNameENUS = store.StoreBasicInfo.ProvinceENUS; memo.ProvinceNameZHCN = store.StoreBasicInfo.ProvinceZHCN; memo.CityCode = store.StoreBasicInfo.CityCode; memo.CityNameENUS = store.StoreBasicInfo.CityENUS; memo.CityNameZHCN = store.StoreBasicInfo.CityZHCN; memo.StoreNameENUS = store.StoreBasicInfo.NameENUS; memo.StoreNameZHCN = store.StoreBasicInfo.NameZHCN; memo.StoreAddressENUS = store.StoreBasicInfo.AddressENUS; memo.StoreAddressZHCN = store.StoreBasicInfo.AddressZHCN; memo.USCode = store.StoreBasicInfo.StoreCode; memo.OpenDate = store.StoreBasicInfo.OpenDate; } } memo.Save(); } return(memo); }
public static ReopenMemo GetReopenMemo(string projectId) { var memo = FirstOrDefault(e => e.ProjectId.Equals(projectId)); bool isEmptyMemo = false; if (memo == null) { memo = new ReopenMemo(); isEmptyMemo = true; } memo.ProjectId = projectId; if (projectId.ToLower().IndexOf("rebuild") >= 0) { var rbdInfo = new RebuildInfo(); memo.RbdInfo = rbdInfo.GetRebuildInfo(projectId); memo.Store = StoreBasicInfo.GetStore(memo.RbdInfo.USCode); var consInfo = new RebuildConsInfo(); consInfo = consInfo.GetConsInfo(projectId); var rein = ReinvestmentBasicInfo.GetByConsInfoId(consInfo.Id) ?? new ReinvestmentBasicInfo(); memo.ReinvestInfo = rein; var recos = ReinvestmentCost.GetByConsInfoId(consInfo.Id) ?? new ReinvestmentCost(); memo.TotalReinvestmentBudget = recos.TotalReinvestmentBudget; if (!memo.ReopenDate.HasValue) { memo.ReopenDate = memo.ReinvestInfo.ReopenDate; } if (!memo.GBDate.HasValue) { memo.GBDate = memo.ReinvestInfo.GBDate; } var gbMemo = GBMemo.GetGBMemo(projectId); if (!memo.CompletionDate.HasValue && gbMemo != null) { memo.CompletionDate = gbMemo.ConstCompletionDate; } //if (string.IsNullOrEmpty(memo.DesignConcept)) // memo.DesignConcept = memo.ReinvestInfo.NewDesignType; var writeoff = WriteOffAmount.GetByConsInfoId(consInfo.Id) ?? new WriteOffAmount(); memo.WriteOff = writeoff; } else if (projectId.ToLower().IndexOf("reimage") >= 0) { memo.RmgInfo = ReimageInfo.GetReimageInfo(projectId); memo.Store = StoreBasicInfo.GetStore(memo.RmgInfo.USCode); var consInfo = ReimageConsInfo.GetConsInfo(projectId); var rein = ReinvestmentBasicInfo.GetByConsInfoId(consInfo.Id) ?? new ReinvestmentBasicInfo(); memo.ReinvestInfo = rein; var recos = ReinvestmentCost.GetByConsInfoId(consInfo.Id) ?? new ReinvestmentCost(); memo.TotalReinvestmentBudget = recos.TotalReinvestmentBudget; if (!memo.ReopenDate.HasValue) { memo.ReopenDate = memo.ReinvestInfo.ReopenDate; } if (!memo.GBDate.HasValue) { memo.GBDate = memo.ReinvestInfo.GBDate; } var gbMemo = ReimageGBMemo.GetGBMemo(projectId); if (!memo.CompletionDate.HasValue && gbMemo != null) { memo.CompletionDate = gbMemo.ConstCompletionDate; } //if (string.IsNullOrEmpty(memo.DesignConcept)) // memo.DesignConcept = memo.ReinvestInfo.NewDesignType; var writeoff = WriteOffAmount.GetByConsInfoId(consInfo.Id) ?? new WriteOffAmount(); memo.WriteOff = writeoff; } else if (projectId.ToLower().IndexOf("majorlease") >= 0) { var mjrInfo = new MajorLeaseInfo().GetMajorLeaseInfo(projectId); memo.ReopenDate = mjrInfo.ReopenDate; memo.Store = StoreBasicInfo.GetStore(mjrInfo.USCode); var consInfo = new MajorLeaseConsInfo().GetConsInfo(projectId); var rein = ReinvestmentBasicInfo.GetByConsInfoId(consInfo.Id) ?? new ReinvestmentBasicInfo(); memo.ReinvestInfo = rein; var recos = ReinvestmentCost.GetByConsInfoId(consInfo.Id) ?? new ReinvestmentCost(); memo.TotalReinvestmentBudget = recos.TotalReinvestmentBudget; if (!memo.ReopenDate.HasValue) { memo.ReopenDate = memo.ReinvestInfo.ReopenDate; } if (!memo.GBDate.HasValue) { memo.GBDate = memo.ReinvestInfo.GBDate; } var gbMemo = MajorLeaseGBMemo.GetGBMemo(projectId); if (!memo.CompletionDate.HasValue && gbMemo != null) { memo.CompletionDate = gbMemo.ConstCompletionDate; } //if (string.IsNullOrEmpty(memo.DesignConcept)) // memo.DesignConcept = memo.ReinvestInfo.NewDesignType; var writeoff = WriteOffAmount.GetByConsInfoId(consInfo.Id) ?? new WriteOffAmount(); memo.WriteOff = writeoff; } else if (projectId.ToLower().IndexOf("renewal") >= 0) { var renewalInfo = RenewalInfo.Get(projectId); memo.ReopenDate = renewalInfo.NewLeaseStartDate; memo.Store = StoreBasicInfo.GetStore(renewalInfo.USCode); var consInfo = RenewalConsInfo.Get(projectId); var rein = ReinvestmentBasicInfo.GetByConsInfoId(consInfo.Id) ?? new ReinvestmentBasicInfo(); memo.ReinvestInfo = rein; var recos = ReinvestmentCost.GetByConsInfoId(consInfo.Id) ?? new ReinvestmentCost(); memo.TotalReinvestmentBudget = recos.TotalReinvestmentBudget; if (!memo.ReopenDate.HasValue) { memo.ReopenDate = memo.ReinvestInfo.ReopenDate; } if (!memo.GBDate.HasValue) { memo.GBDate = memo.ReinvestInfo.GBDate; } var gbMemo = RenewalGBMemo.GetGBMemo(projectId); if (!memo.CompletionDate.HasValue && gbMemo != null) { memo.CompletionDate = gbMemo.ConstCompletionDate; } //if (string.IsNullOrEmpty(memo.DesignConcept)) // memo.DesignConcept = memo.ReinvestInfo.NewDesignType; var writeoff = WriteOffAmount.GetByConsInfoId(consInfo.Id) ?? new WriteOffAmount(); memo.WriteOff = writeoff; } if (isEmptyMemo) { if (memo.ReinvestInfo != null) { if (memo.ReinvestInfo.NewMcCafe.HasValue && memo.ReinvestInfo.NewMcCafe.Value) { memo.NewMcCafe = true; } if ((memo.ReinvestInfo.NewAttachedKiosk.HasValue && memo.ReinvestInfo.NewAttachedKiosk.Value) || (memo.ReinvestInfo.NewRemoteKiosk.HasValue && memo.ReinvestInfo.NewRemoteKiosk.Value)) { memo.NewKiosk = true; } if (memo.ReinvestInfo.NewMDS.HasValue && memo.ReinvestInfo.NewMDS.Value) { memo.NewMDS = true; } if (memo.ReinvestInfo.NewTwientyFourHour.HasValue && memo.ReinvestInfo.NewTwientyFourHour.Value) { memo.Is24H = true; } //if (!string.IsNullOrEmpty(memo.ReinvestInfo.NewOperationSize)) //{ // memo.AftOperationSize = memo.ReinvestInfo.NewOperationSize; //} //if (!string.IsNullOrEmpty(memo.ReinvestInfo.EstimatedSeatNo)) //{ // memo.AftARSN = memo.ReinvestInfo.EstimatedSeatNo; //} } memo.TTMNetSales = GetTTFinanceData(memo.Store.StoreBasicInfo.StoreCode); } memo.PriceTiter = GetPriceTier(memo.Store.StoreBasicInfo.StoreCode); //if (string.IsNullOrEmpty(memo.AftARPT)) //{ // memo.AftARPT = memo.PriceTiter; //} //if (memo.Store != null) //{ // memo.OriginalOperationSize = memo.Store.StoreSTLocation.TotalArea; // memo.OriginalSeatNumber = memo.Store.StoreSTLocation.TotalSeatsNo; //} memo.YearMonthList = GetSelectYearMonth(memo.Store.StoreBasicInfo.StoreCode); if (isEmptyMemo) { SaveReopenMemo(memo); } return(memo); }