public ActionResult StoreProjectRowsCount(string _USCode)
        {
            var resultData = new
            {
                ClosureRowsCount     = ClosureInfo.Search(o => o.USCode == _USCode).ToList <ClosureInfo>().Count,
                RenewalRowsCount     = RenewalInfo.Search(o => o.USCode == _USCode).ToList <RenewalInfo>().Count,
                RebuildRowsCount     = RebuildInfo.Search(o => o.USCode == _USCode).ToList <RebuildInfo>().Count,
                MajorLeaseRowsCount  = MajorLeaseInfo.Search(o => o.USCode == _USCode).ToList <MajorLeaseInfo>().Count,
                ReimageRowsCount     = ReimageInfo.Search(o => o.USCode == _USCode).ToList <ReimageInfo>().Count,
                TempClosureRowsCount = TempClosureInfo.Search(o => o.USCode == _USCode).ToList <TempClosureInfo>().Count
            };

            string result = Newtonsoft.Json.JsonConvert.SerializeObject(resultData);

            return(Content(result));
        }
Exemple #2
0
        public IHttpActionResult GetRebuildApprovers(string flowCode, string projectId = "", bool isNeedEntity = false)
        {
            if (string.IsNullOrEmpty(flowCode))
            {
                throw new Exception("flowCode is NULL");
            }

            RebuildInfo rbdInfo = null;

            if (!string.IsNullOrEmpty(projectId))
            {
                rbdInfo = RebuildInfo.Search(e => e.ProjectId.Equals(projectId)).FirstOrDefault();
            }
            if (rbdInfo == null)
            {
                throw new Exception("Could not find the Rebuild Info, please check it!");
            }
            var          dicUsers     = new Dictionary <string, List <SimpleEmployee> >();
            BaseWFEntity returnEntity = null;

            switch (flowCode)
            {
            case FlowCode.Rebuild_LegalReview:
                dicUsers.Add("Legals", new List <SimpleEmployee>()
                {
                    new SimpleEmployee()
                    {
                        Code     = rbdInfo.LegalAccount,
                        NameENUS = rbdInfo.LegalNameENUS,
                        NameZHCN = rbdInfo.LegalNameZHCN
                    }
                });
                if (isNeedEntity)
                {
                    var entity = RebuildLegalReview.FirstOrDefault((e => e.ProjectId.Equals(projectId) && !e.IsHistory));
                    if (entity != null)
                    {
                        RebuildLegalReview.PopulateAppUsers(entity);
                        returnEntity = entity;
                    }
                }
                break;

            case FlowCode.Rebuild_FinanceAnalysis:
                dicUsers.Add("FMs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Finance_Manager));
                if (isNeedEntity)
                {
                    var entity = RebuildFinancAnalysis.FirstOrDefault((e => e.ProjectId.Equals(projectId) && !e.IsHistory));
                    if (entity != null)
                    {
                        RebuildFinancAnalysis.PopulateAppUsers(entity);
                        returnEntity = entity;
                    }
                }
                break;

            case FlowCode.Rebuild_ConsInfo:
                dicUsers.Add("ConstructionManagers", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Cons_Mgr));
                dicUsers.Add("MCCLConsManagers", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.MCCL_Cons_Manager));
                if (isNeedEntity)
                {
                    var entity = RebuildConsInfo.FirstOrDefault((e => e.ProjectId.Equals(projectId) && !e.IsHistory));
                    if (entity != null)
                    {
                        RebuildConsInfo.PopulateAppUsers(entity);
                        returnEntity = entity;
                    }
                }
                break;

            case FlowCode.Rebuild_Package:
                dicUsers.Add("MarketMgrs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Market_Asset_Mgr));
                dicUsers.Add("RegionalMgrs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Regional_Asset_Mgr));
                dicUsers.Add("MDDs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Market_DD));
                dicUsers.Add("GMs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.GM));
                dicUsers.Add("FCs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Finance_Controller));
                dicUsers.Add("RDDs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Regional_DD));
                dicUsers.Add("VPGMs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.VPGM));
                dicUsers.Add("CDOs", Employee.GetEmployeesByRole(RoleCode.CDO));
                dicUsers.Add("CFOs", Employee.GetEmployeesByRole(RoleCode.CFO));
                dicUsers.Add("MngDirectors", Employee.GetEmployeesByRole(RoleCode.MD));
                if (isNeedEntity)
                {
                    var entity = RebuildPackage.FirstOrDefault((e => e.ProjectId.Equals(projectId) && !e.IsHistory));
                    if (entity != null)
                    {
                        RebuildPackage.PopulateAppUsers(entity);
                        returnEntity = entity;
                    }
                }
                break;

            case FlowCode.Rebuild_ConsInvtChecking:
                //dicUsers.Add("FMs", new List<SimpleEmployee>()
                //{
                //    new SimpleEmployee()
                //    {
                //        Code = rbdInfo.FinanceAccount,
                //        NameENUS = rbdInfo.FinanceNameENUS,
                //        NameZHCN = rbdInfo.FinanceNameZHCN
                //    }
                //});
                dicUsers.Add("FMs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Finance_Manager));
                dicUsers.Add("ConstructionManagers", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Cons_Mgr));
                dicUsers.Add("FinanceControllers", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Finance_Controller));
                dicUsers.Add("VPGMs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.VPGM));
                if (isNeedEntity)
                {
                    var entity = RebuildConsInvtChecking.FirstOrDefault((e => e.ProjectId.Equals(projectId) && !e.IsHistory));
                    if (entity != null)
                    {
                        RebuildConsInvtChecking.PopulateAppUsers(entity);
                        returnEntity = entity;
                    }
                }
                break;

            case FlowCode.Rebuild_GBMemo:
                dicUsers.Add("ConstructionManagers", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.Cons_Mgr));
                if (isNeedEntity)
                {
                    var entity = GBMemo.FirstOrDefault((e => e.ProjectId.Equals(projectId) && !e.IsHistory));
                    if (entity != null)
                    {
                        GBMemo.PopulateAppUsers(entity);
                        returnEntity = entity;
                    }
                }
                break;
            }
            dicUsers.Add("MCCLAssetMgrs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.MCCL_Asset_Mgr));
            dicUsers.Add("MCCLAssetDtrs", Employee.GetStoreEmployeesByRole(rbdInfo.USCode, RoleCode.MCCL_Asset_Director));


            return(Ok(new
            {
                dicUsers,
                returnEntity,
                rbdInfo
            }));
        }