public static UserRightList GetUniqueInstance()
        {
            if (_uniqueInstance == null)
                _uniqueInstance = new UserRightList("SF_UserRight");

            return _uniqueInstance;
        }
Example #2
0
        public DataTable ToDataTable(User user)
        {
            List <LpuRR> list = List.Select(item => item as LpuRR).ToList();

            list = list.Where(item => !item.IsInList && item.StatusLPU == StatusLPU.Активен).OrderBy(item => item.Name).OrderBy(item => item.RegionRR.Name).ToList();

            if (user.RoleSF == RolesSF.Пользователь)
            {
                UserRightList userRightList = UserRightList.GetUniqueInstance();

                list = list.Where(item => userRightList.IsInList(user, item.RegionRR)).ToList();
            }

            DataTable dt = new DataTable();

            dt.Columns.Add("№ ЛПУ-RR");
            dt.Columns.Add("Сокр. название ЛПУ-RR");
            dt.Columns.Add("Полное название ЛПУ-RR");
            dt.Columns.Add("Регион RR");

            foreach (LpuRR item in list)
            {
                dt.Rows.Add(new object[] { item.ID, item.Name, item.FullName, item.RegionRR.Name });
            }

            dt.Rows.Add(new object[] { 0, "Прочие ЛПУ", "Прочие ЛПУ", "Российская федерация" });

            return(dt);
        }
        public static UserRightList GetUniqueInstance()
        {
            if (_uniqueInstance == null)
            {
                _uniqueInstance = new UserRightList("SF_UserRight");
            }

            return(_uniqueInstance);
        }
Example #4
0
        public DataTable ToDataTableWithSF(User user)
        {
            var list = List.Select(item => item as UserLpuRR).ToList();

            if (user.RoleSF == RolesSF.Пользователь)
            {
                UserRightList userRightList = UserRightList.GetUniqueInstance();

                list = list.Where(item => userRightList.IsInList(user, item.LpuRR.RegionRR)).ToList();

                RoleList roleList = RoleList.GetUniqueInstance();
                Role     role     = roleList.GetItem(ROLE_RP_ID) as Role;

                if (user.Role == role)
                {
                    list = list.Where(item => item.User == user).ToList();
                }
            }

            //list = list.Where(item => item.YearEnd == DateTime.Today.Year).ToList();

            DataTable dt = new DataTable();

            dt.Columns.Add("№ ЛПУ-RR", typeof(int));
            dt.Columns.Add("ФИО РП");
            dt.Columns.Add("Дивизион");
            dt.Columns.Add("Начало отчётности");
            dt.Columns.Add("Окончание отчётности");
            dt.Columns.Add("Сокр. название ЛПУ-RR");
            dt.Columns.Add("Полное название ЛПУ-RR");
            dt.Columns.Add("Регион RR");
            dt.Columns.Add("Статус");
            dt.Columns.Add("Сокр. название ЛПУ-SF");
            dt.Columns.Add("Регион России");
            dt.Columns.Add("Город");
            dt.Columns.Add("№ ЛПУ-SF");

            LpuList lpuList = new LpuList();

            foreach (UserLpuRR item in list)
            {
                if ((item.LpuRR == null) || (item.User == null))
                {
                    continue;
                }

                string lpuSFID         = string.Empty;
                string lpuSFName       = string.Empty;
                string lpuSFRealRegion = string.Empty;
                string lpuSFCity       = string.Empty;

                LPU lpu = lpuList.GetItem(item.LpuRR);

                if (lpu != null)
                {
                    lpuSFID         = lpu.ID.ToString();
                    lpuSFName       = lpu.ShortName;
                    lpuSFRealRegion = lpu.RealRegion.Name;
                    lpuSFCity       = lpu.City;
                }

                dt.Rows.Add(new object[] { item.LpuRR.ID, item.User.Name, item.Sdiv.ToString(), item.YearBegin, item.YearEnd, item.LpuRR.Name, item.LpuRR.FullName,
                                           item.LpuRR.RegionRR.Name, item.LpuRR.StatusLPU.ToString(), lpuSFName, lpuSFRealRegion, lpuSFCity, lpuSFID });
            }

            return(dt);
        }
Example #5
0
        public DataTable ToDataTableWithLpuSF(User user)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("№ ЛПУ-RR", typeof(int));
            dt.Columns.Add("Сокр. название ЛПУ-RR");
            dt.Columns.Add("Полное название ЛПУ-RR");
            dt.Columns.Add("Регион RR");
            dt.Columns.Add("Статус");
            dt.Columns.Add("Использование");
            dt.Columns.Add("Сокр. название ЛПУ-SF");
            dt.Columns.Add("Регион России");
            dt.Columns.Add("Город");
            dt.Columns.Add("№ ЛПУ-SF");
            dt.Columns.Add("color");

            LpuList lpuList = new LpuList();

            List <LpuRR> listNew = new List <LpuRR>();

            listNew = List.Select(item => item as LpuRR).ToList();

            if (user.RoleSF == RolesSF.Пользователь)
            {
                UserRightList userRightList = UserRightList.GetUniqueInstance();

                listNew = listNew.Where(item => userRightList.IsInList(user, item.RegionRR)).ToList();
            }

            foreach (LpuRR lpuRR in listNew)
            {
                if (lpuRR.ID == 0)
                {
                    continue;
                }

                LPU lpu = lpuList.GetItem(lpuRR);

                string lpuName        = string.Empty;
                string realRegionName = string.Empty;
                string cityName       = string.Empty;
                string lpuID          = string.Empty;

                if (lpu != null)
                {
                    lpuName        = lpu.ShortName;
                    realRegionName = (lpu.RealRegion != null) ? lpu.RealRegion.Name : string.Empty;
                    cityName       = lpu.City;
                    lpuID          = lpu.ID.ToString();
                }

                bool colorWhite = true;

                if (user.RoleSF == RolesSF.Пользователь)
                {
                    colorWhite = IsUserLpu(lpuRR, user);
                }

                dt.Rows.Add(new object[] { lpuRR.ID, lpuRR.Name, lpuRR.FullName, lpuRR.RegionRR.Name, lpuRR.StatusLPU.ToString(),
                                           (IsLpuUsed(lpuRR) ? "Используется" : "Не используется"),
                                           lpuName, realRegionName, cityName, lpuID, colorWhite });
            }

            return(dt);
        }