Пример #1
0
        private static string GetLastRemodeling(string USCode)
        {
            var projectGBMemo =
                ProjectInfo.Search(e => e.USCode.Equals(USCode) && e.FlowCode == FlowCode.Reimage_GBMemo)
                .OrderByDescending(e => e.CreateTime)
                .FirstOrDefault();
            string returnValue = "";

            if (projectGBMemo != null && projectGBMemo.Status == ProjectStatus.Finished)
            {
                var projectRimg =
                    ProjectInfo.Search(
                        e => e.ProjectId.Equals(projectGBMemo.ProjectId) && e.FlowCode == FlowCode.Reimage)
                    .FirstOrDefault();
                if (projectRimg != null && projectRimg.Status == ProjectStatus.Completed)
                {
                    var gbmemo = ReimageGBMemo.GetGBMemo(projectGBMemo.ProjectId);
                    if (gbmemo != null && gbmemo.ConstCompletionDate.HasValue)
                    {
                        returnValue = gbmemo.ConstCompletionDate.Value.ToString("yyyy-MM-dd");
                        string strCost = GetReimageInvestmentCost(projectGBMemo.ProjectId);
                        if (!string.IsNullOrEmpty(strCost))
                        {
                            returnValue = returnValue + "," + strCost;
                        }
                    }
                }
            }
            return(returnValue);
        }
Пример #2
0
        protected override void UpdateProjectCreateUser(ProjectTeamMembers projectTeamMembers)
        {
            var projectInfo = ProjectInfo.Search(i => i.ProjectId == this.ProjectId && i.FlowCode.Contains(FlowCode.Closure));

            foreach (var projectInfoItem in projectInfo)
            {
                switch (projectInfoItem.FlowCode)
                {
                case FlowCode.Closure:
                case FlowCode.Closure_LegalReview:
                case FlowCode.Closure_ExecutiveSummary:
                case FlowCode.Closure_ClosurePackage:
                case FlowCode.Closure_Memo:
                case FlowCode.Closure_ContractInfo:
                    projectInfoItem.CreateUserAccount = projectTeamMembers.AssetActor.UserAccount;
                    break;

                case FlowCode.Closure_WOCheckList:
                case FlowCode.Closure_ConsInvtChecking:
                    projectInfoItem.CreateUserAccount = projectTeamMembers.PM.UserAccount;
                    break;

                case FlowCode.Closure_ClosureTool:
                    projectInfoItem.CreateUserAccount = projectTeamMembers.Finance.UserAccount;
                    break;
                }
            }
            ProjectInfo.Update(projectInfo.ToArray());
        }
Пример #3
0
        public static V_AM_DL_Renewal Get(Guid ID)
        {
            var renewal     = FirstOrDefault(i => i.Id == ID);
            var projectInfo = ProjectInfo.Search(i => i.USCode == renewal.USCode && i.FlowCode == FlowCode.Renewal).OrderByDescending(i => i.CreateTime).ToList();

            if (renewal != null)
            {
                if (projectInfo.Count > 0 && projectInfo[0].Id == renewal.Id)
                {
                    renewal.Editable = true;
                }
                else
                {
                    renewal.Editable = false;
                }
            }
            return(renewal);
        }
Пример #4
0
        public static V_AM_DL_MajorLeaseChange Get(Guid ID)
        {
            var mlcInfo     = FirstOrDefault(i => i.Id == ID);
            var projectInfo = ProjectInfo.Search(i => i.USCode == mlcInfo.USCode && i.FlowCode == FlowCode.MajorLease).OrderByDescending(i => i.CreateTime).ToList();

            if (mlcInfo != null)
            {
                if (projectInfo.Count > 0 && projectInfo[0].Id == mlcInfo.Id)
                {
                    mlcInfo.Editable = true;
                }
                else
                {
                    mlcInfo.Editable = false;
                }
            }
            return(mlcInfo);
        }
Пример #5
0
        public static V_AM_DL_Closure Get(Guid ID)
        {
            var closure     = FirstOrDefault(i => i.Id == ID);
            var projectInfo = ProjectInfo.Search(i => i.USCode == closure.USCode && i.FlowCode == FlowCode.Closure).OrderByDescending(i => i.CreateTime).ToList();

            if (closure != null)
            {
                if (projectInfo.Count > 0 && projectInfo[0].Id == closure.Id)
                {
                    closure.Editable = true;
                }
                else
                {
                    closure.Editable = false;
                }
            }
            return(closure);
        }
Пример #6
0
        protected override void UpdateProjectCreateUser(ProjectTeamMembers projectTeamMembers)
        {
            var projectInfo = ProjectInfo.Search(i => i.ProjectId == this.ProjectId && i.FlowCode.Contains(FlowCode.TempClosure));

            foreach (var projectInfoItem in projectInfo)
            {
                switch (projectInfoItem.FlowCode)
                {
                case FlowCode.TempClosure:
                case FlowCode.TempClosure_LegalReview:
                case FlowCode.TempClosure_ClosurePackage:
                case FlowCode.TempClosure_ClosureMemo:
                case FlowCode.TempClosure_ReopenMemo:
                    projectInfoItem.CreateUserAccount = projectTeamMembers.AssetActor.UserAccount;
                    break;
                }
            }
            ProjectInfo.Update(projectInfo.ToArray());
        }
Пример #7
0
        public bool CheckIfUnfreezePackageWorkflow(string projectId)
        {
            var isUnfreeze   = false;
            var flowCodeList = new List <string>()
            {
                FlowCode.Reimage_ConsInfo,
                FlowCode.Reimage_Summary,
                FlowCode.Reimage_Package
            };
            var projectInfos = ProjectInfo.Search(e => e.ProjectId == projectId &&
                                                  flowCodeList.Contains(e.FlowCode)).AsNoTracking().ToList();

            Log4netHelper.WriteInfo(JsonConvert.SerializeObject(projectInfos));

            if (projectInfos.Count == flowCodeList.Count &&
                projectInfos.All(e => e.Status == ProjectStatus.Finished))
            {
                isUnfreeze = true;
            }

            return(isUnfreeze);
        }