Ejemplo n.º 1
0
    /// <summary>
    /// 檢查個案戶籍是否為組織管轄內
    /// </summary>
    /// <param name="OrgID"></param>
    /// <param name="CaseID"></param>
    /// <returns>true false</returns>
    public static bool IsCaseInOrgRegion(int OrgID, int CaseID)
    {
        CaseUserProfile c     = new CaseUserProfile(CaseID);
        SystemOrgVM     OrgVM = SystemOrg.GetVM(OrgID);

        if (OrgVM.OrgLevel == 4)  //衛生所
        {
            List <SystemOrgRegionVM> RegionList = GetOrgRegion(OrgID);
            if (RegionList.Find(r => r.RegionID == Convert.ToInt32(c.RegionID)) != null)
            {
                return(true);
            }
        }
        else
        if (OrgVM.OrgLevel == 3 || OrgVM.OrgLevel == 2)    //衛生局 管制中心
        {
            List <SystemOrgRegionCountyVM> CountyList = GetOrgRegionCounty(OrgID);

            if (CountyList.Find(rc => rc.CountyID == Convert.ToInt32(c.ResCounty)) != null)
            {
                return(true);
            }
        }
        else if (OrgVM.OrgLevel == 1)      //CDC
        {
            return(true);
        }
        return(false);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 檢查縣市鄉鎮是否為組織管轄內
    /// </summary>
    /// <param name="OrgID">組織</param>
    /// <param name="CountyID"></param>
    /// <param name="TownID"></param>
    /// <param name="VillageID"></param>
    /// <returns>true false</returns>
    public static bool IsInOrgRegion(int OrgID, int CountyID, int TownID, int VillageID)
    {
        SystemOrgVM OrgVM = SystemOrg.GetVM(OrgID);

        if (OrgVM.OrgLevel == 4)      //衛生所
        {
            List <SystemOrgRegionVM> RegionList = GetOrgRegion(OrgID);

            foreach (SystemOrgRegionVM r in RegionList)
            {
                List <SystemRegionSettingVM> sl = GetOrgRegionSetting(r.RegionID);
                SystemRegionSettingVM        rs = sl.Find(s => (s.CountyID == CountyID) && (s.TownID == TownID) && (s.VillageID == VillageID));
                if (rs != null)
                {
                    return(true);
                }
            }
        }
        else
        if (OrgVM.OrgLevel == 3 || OrgVM.OrgLevel == 2)    //衛生局 管制中心
        {
            List <SystemOrgRegionCountyVM> CountyList = GetOrgRegionCounty(OrgID);

            if (CountyList.Find(rc => rc.CountyID == CountyID) != null)
            {
                return(true);
            }
        }
        else if (OrgVM.OrgLevel == 1)      //CDC
        {
            return(true);
        }
        return(false);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 轄區所屬Village
    /// </summary>
    /// <param name="OrgID"></param>
    /// <param name="TownID"></param>
    /// <returns></returns>
    public static List <SystemAreaCodeVM> GetRegionVillageList(int OrgID, int TownID)
    {
        SystemOrgVM             OrgVM = SystemOrg.GetVM(OrgID);
        List <SystemAreaCodeVM> list  = SystemAreaCode.GetVillageList(TownID);

        if (OrgVM.OrgLevel == 4)  //衛生所
        {
            List <int> RegionVillageIDs = new List <int>();

            List <SystemOrgRegionVM> RegionList = GetOrgRegion(OrgID);
            foreach (SystemOrgRegionVM r in RegionList)
            {
                if (SystemOrgRegion.dictRegionSetting.ContainsKey(r.RegionID))
                {
                    RegionVillageIDs.AddRange(dictRegionSetting[r.RegionID].Select(l => l.VillageID).Distinct());
                }
            }
            list = list.Where(ac => RegionVillageIDs.Contains(ac.ID)).ToList();
        }
        return(list);
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 轄區所屬County
    /// </summary>
    /// <param name="OrgID"></param>
    /// <returns></returns>
    public static List <SystemAreaCodeVM> GetRegionCountyList(int OrgID)
    {
        List <SystemAreaCodeVM> list = SystemAreaCode.GetCountyList();

        SystemOrgVM OrgVM = SystemOrg.GetVM(OrgID);

        //判斷是哪種level
        if (OrgVM.OrgLevel == 4)  //衛生所
        {
            List <int> RegionCountyIDs          = new List <int>();
            List <SystemOrgRegionVM> RegionList = GetOrgRegion(OrgID);

            foreach (SystemOrgRegionVM r in RegionList)
            {
                List <SystemRegionSettingVM> SettingList = GetOrgRegionSetting(r.RegionID);
                foreach (SystemRegionSettingVM s in SettingList)
                {
                    RegionCountyIDs.Add(s.CountyID);
                }
            }

            list = list.Where(ac => RegionCountyIDs.Contains(ac.ID)).ToList();
        }
        else
        if (OrgVM.OrgLevel == 3 || OrgVM.OrgLevel == 2)    //衛生局 管制中心
        {
            List <SystemOrgRegionCountyVM> CountyList = GetOrgRegionCounty(OrgID);
            List <int> RegionCountyIDs = new List <int>();
            foreach (SystemOrgRegionCountyVM rc in CountyList)
            {
                RegionCountyIDs.Add(rc.CountyID);
            }
            list = list.Where(ac => RegionCountyIDs.Contains(ac.ID)).ToList();
        }
        //level 1全部


        return(list);
    }