public User(DataRow row) : base(row) { int idRole; int.TryParse(row[2].ToString(), out idRole); RoleList roleList = RoleList.GetUniqueInstance(); _role = roleList.GetItem(idRole) as Role; _roleSF = (idRole == 1) ? RolesSF.Администратор : RolesSF.Пользователь; }
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); }