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;
        }
        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;
        }