public AdminkaAnonymousRoutineHandler( ApplicationSettings applicationSettings, Func <Guid, MemberTag, IMemberLogger> loggingTransientsFactory, bool hasVerboseLoggingPrivilege, MemberTag memberTag, string auditStamp, object input) : base( applicationSettings, (u) => auditStamp, new AdminkaRoutineHandlerFactory <AnonymousUserContext>( correlationToken: Guid.NewGuid(), InjectedManager.DefaultRoutineTagTransformException, loggingTransientsFactory, applicationSettings.PerformanceCounters) .CreateLoggingHandler( memberTag, InjectedManager.CreateContainerFactory( applicationSettings.ConfigurationContainerFactory ).CreateContainer(memberTag, auditStamp), new AnonymousUserContext(auditStamp), hasVerboseLoggingPrivilege: hasVerboseLoggingPrivilege, input) ) { }
public ActionResult MakeNewGroup(OrgGroupsModel m) { if (!m.GroupName.HasValue()) { return(Content("error: no group name")); } //var Db = Db; var group = CurrentDatabase.MemberTags.SingleOrDefault(g => g.Name == m.GroupName && g.OrgId == m.orgid); if (group == null) { group = new MemberTag { Name = m.GroupName, OrgId = m.orgid }; CurrentDatabase.MemberTags.InsertOnSubmit(group); CurrentDatabase.SubmitChanges(); } m.groupid = group.Id; ViewData["newgid"] = group.Id; return(Redirect("/OrgGroups/Management/" + m.orgid)); }
public ListLoggingAdapter( List <string> logger, Guid correlationToken, MemberTag memberTag, Func <Exception, string> markdownException, Func <object, int, bool, string> serializeObject ) { this.logger = logger; this.correlationToken = correlationToken; this.memberTag = memberTag; this.routineTag = memberTag.ToText(correlationToken); this.markdownException = markdownException; this.serializeObject = (o) => { try { return(serializeObject(o, 1, true)); } catch (Exception ex) { LogException(DateTime.Now, ex); return(null); } }; }
public static IRoutineHandlerAsync <TUser, TUserContext> GetUserHandlerAsync <TUser, TUserContext>( AspRoutineFeature aspRoutineFeature, Func <object> getInput, TUser user, TUserContext userContext, ContainerFactory containerFactory, MemberTag memberTag, ApplicationSettings applicationSettings, Func <TUserContext, string> configurationFor ) { var composeLoggers = InjectedManager.ComposeNLogMemberLoggerFactory(aspRoutineFeature.TraceDocument.Builder); var logger = new AdminkaRoutineHandlerFactory <TUserContext>(aspRoutineFeature.CorrelationToken, InjectedManager.DefaultRoutineTagTransformException, composeLoggers, applicationSettings.PerformanceCounters); var @for = configurationFor(userContext); var container = containerFactory.CreateContainer(memberTag, @for); bool hasVerboseLoggingPrivilege = true; var input = getInput(); var routineHandler = logger.CreateLoggingHandler(memberTag, container, userContext, hasVerboseLoggingPrivilege, input); return(new ComplexRoutineHandlerAsync <TUser, TUserContext>( closure => user, routineHandler )); }
public IContainer CreateContainer(MemberTag memberTag, string @for) { var configurationContainer = configurationContainerFactory .Create(memberTag, @for); return(configurationContainer); }
public PageContainerRoutineHandler( PageModel pageModel, PageRoutineFeature pageRoutineFeature, ApplicationSettings applicationSettings, IMemoryCache memoryCache, MemberTag memberTag, Func <User, UserContext> createUserContext ) : base( pageModel, applicationSettings, memberTag, uc => uc.AuditStamp, uc => uc.AuditStamp, (aspRoutineFeature) => AspNetCoreManager.GetUserAndFailedActionResultInitialisedAsync( applicationSettings, memberTag, pageModel, aspRoutineFeature, memoryCache, pageRoutineFeature), createUserContext ) { }
/// <summary> /// 修改标签名 /// </summary> /// <param name="context"></param> /// <returns></returns> private string UpdateTagName(HttpContext context) { string autoId = context.Request["AutoID"]; string tagName = context.Request["TagName"]; MemberTag tag = bllTag.GetTag(int.Parse(autoId)); if (bllTag.ExistsTag(new MemberTag() { TagName = tagName, TagType = tag.TagType, WebsiteOwner = tag.TagType })) { resp.Status = 0; resp.Msg = "标签名重复,不能修改成该名称"; return(Common.JSONHelper.ObjectToJson(resp)); } if (bllTag.UpdateTag(autoId, tagName)) { resp.Status = 1; resp.Msg = "修改成功"; } else { resp.Msg = "修改失败"; } return(Common.JSONHelper.ObjectToJson(resp)); }
private MemberTag CreateTag(int insId) { MemberTag tag = Instantiate(memberTagPrefab, scrollView.Content); tag.FirstSetup(insId); return(tag); }
// Used as "pre-final-2" stage to prepare containerFactory, memberTag and usercontext private AdminkaRoutineHandlerBaseAsync( ApplicationSettings applicationSettings, IPerformanceCounters performanceCounters, Func <Exception, Guid, MemberTag, /*Func<Exception, string>, */ Exception> routineTransformException, Func <Guid, MemberTag, IMemberLogger> composeLoggers, IContainer container, Guid correaltionToken, MemberTag memberTag, TUserContext userContext, bool hasVerboseLoggingPrivilege, Func <TUserContext, string> getAuditStamp, object input ) : this( applicationSettings, new AdminkaRoutineHandlerFactory <TUserContext>(correaltionToken, routineTransformException, composeLoggers, performanceCounters), container, memberTag, userContext, hasVerboseLoggingPrivilege, getAuditStamp, input) { }
private void LoadAllMemeber(GuildMemberRow own) { ReadOnlyCollection <GuildMemberRow> members = guildSys.GuildTable.ReadOnlyRows; int count = members.Count; for (int i = 0; i < count; i++) { int capture = i; MemberTag tag = PoolTag.GetItem(); if (ChangableGradePermission(own, members[capture])) { tag.IncreaseGradeBtn.OnClickEvents += () => S_PROMOTE(members[capture]); tag.DecreaseGradeBtn.OnClickEvents += () => S_DECREASE_GRADE(members[capture]); } else { tag.IncreaseGradeBtn.gameObject.SetActive(false); tag.DecreaseGradeBtn.gameObject.SetActive(false); } if (KickPermission(own, members[capture])) { tag.KickBtn.OnClickEvents += () => S_KICKOUT_GUILD(members[capture]); } else { tag.KickBtn.gameObject.SetActive(false); } CatchingTags.Enqueue(tag); tag.gameObject.SetActive(true); } }
// used by wcf and test (predefined UserContext with its own transformException) public AdminkaRoutineHandlerBaseAsync( ApplicationSettings applicationSettings, IPerformanceCounters performanceCounters, IConfigurationContainerFactory configurationFactory, Func <Exception, Guid, MemberTag, /* Func<Exception, string>,*/ Exception> routineTransformException, Guid correlationToken, ITraceDocumentBuilder documentBuilder, MemberTag memberTag, TUserContext userContext, bool hasVerboseLoggingPrivilege, string configurationFor, Func <TUserContext, string> getAuditStamp, object input ) : this( applicationSettings, performanceCounters, routineTransformException, InjectedManager.ComposeNLogMemberLoggerFactory(documentBuilder), InjectedManager.CreateContainerFactory(configurationFactory).CreateContainer(memberTag, configurationFor), correlationToken, memberTag, userContext, hasVerboseLoggingPrivilege, getAuditStamp, input) { }
public AdminkaRoutineHandlerBaseAsync( ApplicationSettings applicationSettings, TUserContext userContext, Func <TUserContext, string> getAuditStamp, object input, Guid correlationToken, ITraceDocumentBuilder documentBuilder, bool hasVerboseLoggingPrivilege, string configurationFor, MemberTag memberTag ) : this( // to final applicationSettings, getAuditStamp, new AdminkaRoutineHandlerFactory <TUserContext>( correlationToken, InjectedManager.DefaultRoutineTagTransformException, InjectedManager.ComposeNLogMemberLoggerFactory(documentBuilder), applicationSettings.PerformanceCounters) .CreateLoggingHandler( memberTag, InjectedManager.CreateContainerFactory( applicationSettings.ConfigurationContainerFactory ).CreateContainer(memberTag, configurationFor), userContext, hasVerboseLoggingPrivilege, input) ) { }
public AdminkaAnonymousRoutineHandlerAsync( ApplicationSettings applicationSettings, IPerformanceCounters performanceCounters, IConfigurationContainerFactory configurationContainerFactory, Func <Exception, Guid, MemberTag, /*Func<Exception, string>,*/ Exception> transformException, Guid correlationToken, ITraceDocumentBuilder documentBuilder, MemberTag memberTag, AnonymousUserContext anonymousUserContext, object input ) : base( applicationSettings, performanceCounters, configurationContainerFactory, transformException, correlationToken, documentBuilder, memberTag, anonymousUserContext, false, //getVerboseLoggingFlag: (userContext) => "VerboseLogging", // (userContext) => (userContext?.User?.HasPrivilege(Privilege.VerboseLogging) ?? false) ? Privilege.VerboseLogging : null configurationFor: anonymousUserContext.AuditStamp, u => u.AuditStamp, input ) { }
public void AddNewSmallGroup() { var o = DbUtil.Db.LoadOrganizationById(Id); var mt = new MemberTag { Name = NewGroup }; o.MemberTags.Add(mt); DbUtil.Db.SubmitChanges(); DbUtil.LogActivity("OrgMem AddNewSubGroup " + NewGroup, Id); AddSmallGroup(mt.Id); NewGroup = null; }
public string AddNewSmallGroup(int pid) { var o = DbUtil.Db.LoadOrganizationById(OrgId); var mt = new MemberTag { Name = NewGroup }; o.MemberTags.Add(mt); DbUtil.Db.SubmitChanges(); DbUtil.LogActivity("OrgMem AddNewSubGroup " + NewGroup, OrgId); NewGroup = null; return(SmallGroupChanged(mt.Id, true)); }
public static Exception DefaultRoutineTagTransformException( Exception exception, Guid correlationToken, MemberTag memberTag //, //Func<Exception, string> markdownException ) { exception.Data["CorrelationToken"] = correlationToken; exception.Data[nameof(MemberTag.Namespace)] = memberTag.Namespace; exception.Data[nameof(MemberTag.Type)] = memberTag.Type; exception.Data[nameof(MemberTag.Member)] = memberTag.Member; return(exception); }
public AdminkaAnonymousRoutineHandlerAsync( ApplicationSettings applicationSettings, bool hasVerboseLoggingPrivilege, MemberTag memberTag, string auditStamp, object input) : this( applicationSettings, InjectedManager.ComposeNLogMemberLoggerFactory(null), hasVerboseLoggingPrivilege, memberTag, auditStamp, input ) { }
public MemberTag MakeNewGroup() { var group = new MemberTag { Name = GroupName, OrgId = orgid, CheckIn = AllowCheckin.ToBool(), ScheduleId = ScheduleId, CheckInOpenDefault = CheckInOpenDefault, CheckInCapacityDefault = CheckInCapacityDefault, }; Db.MemberTags.InsertOnSubmit(group); Db.SubmitChanges(); groupid = group.Id; return group; }
public NLogLoggingAdapter( Guid correlationToken, ITraceDocumentBuilder documentBuilder, MemberTag memberTag, Func <Exception, string> markdownException, Func <object, int, bool, string> serializeObject ) { this.correlationToken = correlationToken; this.documentBuilder = documentBuilder; this.memberTag = memberTag; var loggerName = "Routine:" + memberTag.GetCategory(); logger = LogManager.GetLogger(loggerName); // ~0.5 ms this.serializeObject = serializeObject; this.markdownException = markdownException; }
// Used as "pre-final-1" stage to prepare container private AdminkaRoutineHandlerBaseAsync( ApplicationSettings applicationSettings, AdminkaRoutineHandlerFactory <TUserContext> routineLogger, IContainer container, MemberTag memberTag, TUserContext userContext, bool hasVerboseLoggingPrivilege, Func <TUserContext, string> getAuditStamp, object input) : this( applicationSettings, getAuditStamp, routineLogger.CreateLoggingHandler(memberTag, container, userContext, hasVerboseLoggingPrivilege, input) ) { }
GetUserAndFailedActionResultInitialisedAsync( ApplicationSettings applicationSettings, MemberTag memberTag, ControllerBase controllerBase, AspRoutineFeature aspRoutineFeature, IMemoryCache memoryCache, string aspRequestId ) { return(GetUserAndFailedActionResultInitialisedAsync(applicationSettings, memberTag, getName: () => controllerBase.User.Identity.Name, systemIsInRole: g => controllerBase.User.IsInRole(g), aspRoutineFeature, memoryCache, getForbiddenActionResult: () => controllerBase.Forbid(), exceptionToActionResult: (ex) => { return AspNetCoreManager.GetErrorActionResult(ex, aspRequestId, applicationSettings.ForceDetailsOnCustomErrorPage, null); } )); }
GetUserAndFailedActionResultInitialisedAsync( ApplicationSettings applicationSettings, MemberTag memberTag, PageModel pageModel, AspRoutineFeature aspRoutineFeature, IMemoryCache memoryCache, PageRoutineFeature pageRoutineFeature ) { return(GetUserAndFailedActionResultInitialisedAsync(applicationSettings, memberTag, getName: () => pageModel.User.Identity.Name, systemIsInRole: g => pageModel.User.IsInRole(g), aspRoutineFeature, memoryCache, getForbiddenActionResult: () => pageModel.RedirectToPage( "AccessDenied", new { pageRoutineFeature.Referrer }), exceptionToActionResult: null )); }
public ConfigurationContainer(IEnumerable <IRoutineConfigurationRecord <TSerialized> > routineConfigurationRecords, IGWithConstructorFactory <TSerialized> deserializer, MemberTag memberTag, string @for) { this.deserializer = deserializer; var memberRoutineConfigurationRecords = routineConfigurationRecords.LimitRoutineConfigurationRecords(memberTag); foreach (var routineConfigurationRecord in memberRoutineConfigurationRecords) { if (routineConfigurationRecord.For.IsNullOrWhiteSpaceOrAsterix() || routineConfigurationRecord.For == @for) { foreach (var resolvableConfigurationRecord in routineConfigurationRecord.Resolvables) { if (!elements.Any(e => e.Type == resolvableConfigurationRecord.Type && e.Namespace == resolvableConfigurationRecord.Namespace)) { elements.Add(resolvableConfigurationRecord); } } } } }
public void AddNewSmallGroup() { var db = CMSDataContext.Create(Host); var o = db.LoadOrganizationById(OrgId); if (o != null) { var mt = new MemberTag { Name = NewGroup }; o.MemberTags.Add(mt); db.SubmitChanges(); DbUtil.LogActivity("OrgMem AddNewSubGroup " + NewGroup, OrgId); AddSmallGroup(mt.Id); NewGroup = null; } else { throw new Exception($"Org not found: {OrgId}"); } }
public static ComplexRoutineHandlerAsync <PerCallContainer <TUserContext>, TUserContext> GetContainerHandlerAsync <TUserContext>( MemberTag memberTag, AspRoutineFeature aspRoutineFeature, Func <object> getInput, TUserContext userContext, ApplicationSettings applicationSettings, Func <TUserContext, string> getConfigurationFor, Func <TUserContext, string> getAuditStamp ) { return(new AdminkaRoutineHandlerBaseAsync <TUserContext>( applicationSettings, userContext, getAuditStamp: getAuditStamp, input: getInput(), correlationToken: aspRoutineFeature.CorrelationToken, documentBuilder: aspRoutineFeature.TraceDocument.Builder, hasVerboseLoggingPrivilege: false, configurationFor: getConfigurationFor(userContext), memberTag: memberTag )); }
public ApiUserRoutineHandler( ControllerBase controllerBase, ApplicationSettings applicationSettings, IMemoryCache memoryCache, MemberTag memberTag ) : base( controllerBase, (aspRoutineFeature) => AspNetCoreManager.GetUserAndFailedActionResultInitialisedAsync(applicationSettings, memberTag, controllerBase, aspRoutineFeature, memoryCache, aspRoutineFeature.AspRequestId), (aspRoutineFeature, getInput, user, containerFactory) => AspNetCoreManager.GetUserHandler( aspRoutineFeature, getInput, user, new UserContext(user), containerFactory, memberTag, applicationSettings, uc => uc.User.LoginName ) ) { }
/// <summary> /// 添加标签 /// </summary> /// <param name="context"></param> /// <returns></returns> private string AddTag(HttpContext context) { string tagName = context.Request["TagName"], tagType = context.Request["TagType"]; if (string.IsNullOrEmpty(tagName)) { resp.Status = 0; resp.Msg = "请输入标签名称"; return(Common.JSONHelper.ObjectToJson(resp)); } MemberTag tag = new MemberTag(); tag.TagType = string.IsNullOrEmpty(tagType) ? "all" : tagType; tag.TagName = tagName; tag.CreateTime = DateTime.Now; tag.Creator = this.currentUserInfo.UserID; tag.WebsiteOwner = bllTag.WebsiteOwner; if (bllTag.ExistsTag(tag)) { resp.Status = 0; resp.Msg = "标签不能重复添加"; return(Common.JSONHelper.ObjectToJson(resp)); } if (bllTag.AddTag(tag)) { resp.Status = 1; resp.Msg = "添加成功"; } else { resp.Status = 0; resp.Msg = "添加失败"; } return(Common.JSONHelper.ObjectToJson(resp)); }
public static ComplexRoutineHandlerAsync <StorageRoutineHandlerAsync <TUserContext>, TUserContext> GetContainerStorageHandlerAsync <TUserContext>( ContainerFactory containerFactory, MemberTag memberTag, AspRoutineFeature aspRoutineFeature, Func <object> getInput, TUserContext userContext, ApplicationSettings applicationSettings, //Func<TUserContext, string> getConfigurationFor, Func <TUserContext, string> getAuditStamp ) { var adminkaRoutineHandlerFactory = new AdminkaRoutineHandlerFactory <TUserContext>( correlationToken: Guid.NewGuid(), InjectedManager.DefaultRoutineTagTransformException, InjectedManager.ComposeNLogMemberLoggerFactory(null), applicationSettings.PerformanceCounters); IHandlerAsync <RoutineClosure <TUserContext> > loggingHandler = adminkaRoutineHandlerFactory.CreateLoggingHandler( memberTag, containerFactory.CreateContainer(memberTag, getAuditStamp(userContext)), userContext, hasVerboseLoggingPrivilege: false, getInput()); return(new ComplexRoutineHandlerAsync <StorageRoutineHandlerAsync <TUserContext>, TUserContext> /*AdminkaRoutineHandlerBase<TUserContext>*/ ( closure => new AuthenticationDomStorageRoutineHandlerAsync <TUserContext>( applicationSettings.AdminkaStorageConfiguration, userContext, null, new Handler <RoutineClosure <TUserContext>, RoutineClosure <TUserContext> >( () => closure, closure ), getAudit: uc => getAuditStamp(uc) ), loggingHandler )); }
public ActionResult MakeNewGroup(OrgGroupsModel m) { if (!m.GroupName.HasValue()) { return(Content("error: no group name")); } var Db = CurrentDatabase; var group = new MemberTag { Name = m.GroupName, OrgId = m.orgid, CheckIn = m.AllowCheckin.ToBool(), ScheduleId = m.ScheduleId, CheckInOpenDefault = m.CheckInOpenDefault, CheckInCapacityDefault = m.CheckInCapacityDefault, }; Db.MemberTags.InsertOnSubmit(group); Db.SubmitChanges(); m.groupid = group.Id; ViewData["newgid"] = group.Id; return(Redirect("/OrgGroups/Management/" + m.orgid)); }
public ActionResult MakeNewGroup(OrgGroupsModel m) { if (!m.GroupName.HasValue()) { return(Content("error: no group name")); } var Db = DbUtil.Db; var group = Db.MemberTags.SingleOrDefault(g => g.Name == m.GroupName && g.OrgId == m.orgid); if (group == null) { group = new MemberTag { Name = m.GroupName, OrgId = m.orgid }; Db.MemberTags.InsertOnSubmit(group); Db.SubmitChanges(); } m.groupid = group.Id; ViewData["newgid"] = group.Id; return(View("Form", m)); }
public Member(string Name, TypeInterface Type, MemberTag Tag) { this.Name = Name; this.Type = Type; this.Tag = Tag; }