public override IQueryable <Person> DefineModelList() { IQueryable <Person> qmembers; if (CanView != true) { qmembers = DbUtil.Db.PeopleQuery2("PeopleId = 0"); } else if (StatusFlag.HasValue()) { qmembers = DbUtil.Db.PeopleQuery2($"StatusFlag = '{StatusFlag}'", fromDirectory: true); } else if (OrgId.HasValue) { qmembers = DbUtil.Db.PeopleQuery2($"IsMemberOfDirectory( Org={OrgId} ) = 1 ", fromDirectory: true); } else if (DivId.HasValue) { qmembers = DbUtil.Db.PeopleQuery2($"IsMemberOfDirectory( Div={DivId} ) = 1", fromDirectory: true); } else { qmembers = DbUtil.Db.PeopleQuery2("PeopleId = 0"); } if (Name.HasValue()) { qmembers = from p in qmembers where p.Family.HeadOfHousehold.LastName.Contains(Name) || p.Name.Contains(Name) select p; } return(qmembers); }
private void GetConfiguration() { Selector = DbUtil.Db.Setting("PictureDirectorySelector", ""); if (OrgId.HasValue) { Selector = "FromUrl"; } else if (DivId.HasValue) { Selector = "FromUrl"; } else if (Regex.IsMatch(Selector, @"\AF\d\d\z")) { StatusFlag = Selector; } else if (Regex.IsMatch(Selector, @"\A\d+\z")) { OrgId = Selector.ToInt(); } if (OrgId.HasValue) { if (!CanView.HasValue) { CanView = HttpContextFactory.Current.User.IsInRole("Admin") || DbUtil.Db.PeopleQuery2($@" IsMemberOfDirectory( Org={OrgId} ) = 1 AND PeopleId = {Util.UserPeopleId}", fromDirectory: true).Any(); } //HasDirectory = (om.Organization.PublishDirectory ?? 0) > 0, TemplateName = Util.PickFirst( Organization.GetExtra(DbUtil.Db, OrgId.Value, PictureDirectoryTemplateName), PictureDirectoryTemplateName); SqlName = Util.PickFirst( Organization.GetExtra(DbUtil.Db, OrgId.Value, PictureDirectorySqlName), PictureDirectorySqlName); } else if (DivId.HasValue) { if (!CanView.HasValue) { CanView = HttpContextFactory.Current.User.IsInRole("Admin") || DbUtil.Db.PeopleQuery2($@" IsMemberOfDirectory( Div={DivId} ) = 1 AND PeopleId = {Util.UserPeopleId}", fromDirectory: true).Any(); } TemplateName = PictureDirectoryTemplateName + "-" + Selector; if (!DbUtil.Db.Contents.Any(vv => vv.Name == TemplateName && vv.TypeID == ContentTypeCode.TypeText)) { TemplateName = PictureDirectoryTemplateName; } SqlName = PictureDirectorySqlName + "-" + Selector; if (!DbUtil.Db.Contents.Any(vv => vv.Name == TemplateName && vv.TypeID == ContentTypeCode.TypeSqlScript)) { TemplateName = PictureDirectoryTemplateName; } } else if (StatusFlag.HasValue()) { if (!CanView.HasValue) { var hasstatus = (from v in DbUtil.Db.StatusFlags(StatusFlag) where v.PeopleId == Util.UserPeopleId where v.StatusFlags != null select v).Any(); CanView = hasstatus || HttpContextFactory.Current.User.IsInRole("Admin"); } TemplateName = DbUtil.Db.Setting(PictureDirectoryTemplateName, PictureDirectoryTemplateName); SqlName = DbUtil.Db.Setting(PictureDirectorySqlName, PictureDirectorySqlName); } else { ErrorMessage = "NotConfigured"; } if (!ErrorMessage.HasValue() && CanView == false) { ErrorMessage = "NotAuthorized"; } }