public ErrorReporter(ITransactor transactor, IErrorQueueLoader errorQueueLoader, IEventHandlerAuditRepository auditRepository, IEventHandlerErrorRepository errorRepository) { _transactor = transactor; _errorQueueLoader = errorQueueLoader; _auditRepository = auditRepository; _errorRepository = errorRepository; }
internal void AddTransactor(ITransactor transactor) { if (!Transactors.Contains(transactor)) { Transactors.Add(transactor); } }
/// <inheritdoc/> protected override void Execute(ITransactor transactor, object parameter) { foreach (var node in _nodes) { transactor.Transact(new MoveNodeCommand(_nodeToPositionMap[node]), node); } }
/// <inheritdoc/> protected override void Execute(ITransactor transactor, object parameter) { foreach (var composedCommand in _composedCommands) { transactor.Transact(composedCommand, parameter); } }
public Task HandleDb(HttpContext httpContext, ITransactor transactor) { string result = null; int wantedId = GetRandomWantedId(); transactor.Transact(db => { IWorld w = GetRandomWorld(db, wantedId); if (w != null) { result = JsonConvert.SerializeObject(w, _jsonSerializerSettings); } }); if (result == null) { result = "410 Gone\r\n"; httpContext.Response.StatusCode = StatusCodes.Status410Gone; httpContext.Response.ContentType = "text/plain"; } else { httpContext.Response.StatusCode = StatusCodes.Status200OK; httpContext.Response.ContentType = "application/json"; } httpContext.Response.ContentLength = result.Length; return(httpContext.Response.WriteAsync(result)); }
public void Configure(IApplicationBuilder app, IServiceProvider services) { Dictionary <string, Func <HttpContext, ITransactor, Task> > _routes = new Dictionary <string, Func <HttpContext, ITransactor, Task> >(); _routes["/json"] = HandleJson; _routes["/db"] = HandleDb; _routes["/queries"] = HandleQueries; _routes["/fortunes"] = HandleFortunes; _routes["/updates"] = HandleUpdates; _routes["/plaintext"] = HandlePlaintext; _routes["/select/worlds"] = HandleSelectWorlds; ITransactor transactor = services.GetRequiredService <ITransactor>(); World.Populate(transactor); Fortune.Populate(transactor); app.Run(httpContext => { Func <HttpContext, ITransactor, Task> action; if (_routes.TryGetValue(httpContext.Request.Path.Value, out action)) { return(action.Invoke(httpContext, transactor)); } string response = "404 Not Found"; httpContext.Response.StatusCode = 404; httpContext.Response.ContentLength = response.Length; httpContext.Response.ContentType = "text/plain"; return(httpContext.Response.WriteAsync(response)); }); }
public ErrorQueueLoader(ITransactor transactor, IEventStore eventStore, IEventErrorStoreRepository eventErrorStoreRepository, IHandlerSequenceRespository handlerSequenceRepRespository) { _transactor = transactor; _eventStore = eventStore; _eventErrorStoreRepository = eventErrorStoreRepository; _handlerSequenceRepRespository = handlerSequenceRepRespository; }
public async Task HandleUpdates(HttpContext httpContext, ITransactor transactor) { string result = null; int queries = GetQueriesValue(httpContext); TransactOptions opts = new TransactOptions(OnConflict); IWorld[] results = new IWorld[queries]; int[] wantedIds = new int[queries]; for (int i = 0; i < queries; i++) { wantedIds[i] = GetRandomWantedId(); } await transactor.TransactAsync(db => { for (int i = 0; i < queries; i++) { IWorld w = GetRandomWorld(db, wantedIds[i]); w.RandomNumber = _random.Next(1, World.Count + 1); results[i] = new WorldOrm(w); } }, opts); result = JsonConvert.SerializeObject(results, _jsonSerializerSettings); httpContext.Response.StatusCode = StatusCodes.Status200OK; httpContext.Response.ContentType = "application/json"; httpContext.Response.ContentLength = result.Length; await httpContext.Response.WriteAsync(result); }
public static void Populate(ITransactor transactor) { transactor.Transact(db => { int found = 0; foreach (Fortune f in db.Sql <Fortune>("SELECT f FROM Starcounter.Techempower.Fortune f")) { Debug.Assert(f.Id >= 1); Debug.Assert(f.Id <= Count); Debug.Assert(db.GetOid(f) != 0); found++; } for (int id = found + 1; id <= Count; id++) { Fortune f = db.Insert <Fortune>(); f.Id = id; f.Message = _initial[id - 1]; Debug.Assert(f.Id >= 1); Debug.Assert(f.Id <= Count); Debug.Assert(db.GetOid(f) != 0); } }); }
public static void Populate(ITransactor transactor) { Random rnd = new Random(); transactor.Transact(db => { int found = 0; foreach (World w in db.Sql <World>("SELECT w FROM Starcounter.Techempower.World w")) { Debug.Assert(w.Id >= 1); Debug.Assert(w.Id <= Count); Debug.Assert(db.GetOid(w) != 0); found++; } for (int id = found + 1; id <= Count; id++) { var w = db.Insert <World>(); w.Id = id; w.RandomNumber = rnd.Next(1, Count + 1); Debug.Assert(w.Id >= 1); Debug.Assert(w.Id <= Count); Debug.Assert(db.GetOid(w) != 0); } }); }
public Task HandlePlaintext(HttpContext httpContext, ITransactor transactor) { httpContext.Response.StatusCode = StatusCodes.Status200OK; httpContext.Response.ContentType = "text/plain"; httpContext.Response.Headers["Content-Length"] = "13"; return(httpContext.Response.Body.WriteAsync(_helloWorldPayload, 0, _helloWorldPayload.Length)); }
public SequencedEventSelector(ITransactor transactor, IEventStore eventStore, IHandlerSequenceRespository handlerSequenceRespository) { _transactor = transactor; _eventStore = eventStore; _handlerSequenceRespository = handlerSequenceRespository; }
/// <inheritdoc/> protected override void Execute(ITransactor transactor, object parameter) { foreach (var node in _nodes) { if (_nodeToSizeMap.ContainsKey(node)) { transactor.Transact(new ResizeNodeCommand(_nodeToSizeMap[node]), node); } } }
/// <inheritdoc/> protected override void Execute(ITransactor transactor, object parameter) { if (parameter is Node node) { foreach (var wire in node.Terminals.SelectMany(t => t.Model.ConnectedWires).ToArray()) { transactor.Transact(_removeWireCommand, wire); } } }
/// <inheritdoc/> protected override void Execute(ITransactor transactor, object parameter) { if (parameter is IEnumerable enumerable) { foreach (var item in enumerable) { transactor.Transact(_commandToMap, item); } } }
public TransactionFlusher( ITransactor <T> transactor, TimeSpan interval, IProducerConsumerCollection <TopicPartitionOffset>?offsetSource, Func <T, int>?offsetMapping) { this.transactor = transactor; this.interval = interval; this.offsetSource = offsetSource; this.offsetMapping = offsetMapping; }
/// <summary> /// This function is needed to implement `update` action verification by Techempower. /// </summary> /// <param name="httpContext"></param> /// <returns></returns> public async Task HandleSelectWorlds(HttpContext httpContext, ITransactor transactor) { string json = null; Dictionary <int, int> data = null; await transactor.TransactAsync(db => { data = db.Sql <World>("SELECT w FROM Starcounter.Techempower.World w").ToDictionary(k => k.Id, v => v.RandomNumber); }); json = JsonConvert.SerializeObject(data, _jsonSerializerSettings); await httpContext.Response.WriteAsync(json); }
public static Task HandleJson(HttpContext httpContext, ITransactor transactor) { httpContext.Response.StatusCode = StatusCodes.Status200OK; httpContext.Response.ContentType = "application/json"; httpContext.Response.ContentLength = _helloWorldPayloadSize; using (var sw = new StreamWriter(httpContext.Response.Body, _encoding, bufferSize: _helloWorldPayloadSize)) { _json.Serialize(sw, new { message = "Hello, World!" }); } return(_done); }
/// <summary> /// Creates a new instance of <see cref="ProjectManager"/>. /// </summary> /// <param name="dialogHostFactory">A factory that returns a <see cref="DialogHostBase"/>.</param> /// <param name="diagramFactoryFactory">A factory that returns an <see cref="DiagramFactory"/>.</param> /// <param name="libraryManagerFactory">A factory that returns an <see cref="ILibraryManager"/>.</param> /// <param name="projectFileServiceFactory">A factory that returns a <see cref="IProjectFileService"/>.</param> /// <param name="nodeServiceProviderFactory">A factory that returns a <see cref="NodeServiceProvider"/>.</param> public ProjectManager( Func <DialogHostBase> dialogHostFactory, Func <DiagramFactory> diagramFactoryFactory, Func <ILibraryManager> libraryManagerFactory, Func <IProjectFileService> projectFileServiceFactory, Func <ITransactor> transactorFactory, Func <NodeServiceProvider> nodeServiceProviderFactory) { _dialogHost = dialogHostFactory(); _libraryManager = libraryManagerFactory(); _projectFileService = projectFileServiceFactory(); _transactor = transactorFactory(); _diagramFactory = diagramFactoryFactory(); _nodeServiceProvider = nodeServiceProviderFactory(); _nodeServiceProvider.RegisterService <IProjectManager>(this); _transactor.Transacted += DirtyProject; }
/// <summary> /// Removes the given item from the collection /// </summary> /// <returns>True, if the item was removed, otherwise False</returns> /// <param name="item">The item that should be removed</param> public override bool Remove(IModelElement item) { IBankStatement bankStatementItem = item.As <IBankStatement>(); if (((bankStatementItem != null) && this._parent.BankStatements.Remove(bankStatementItem))) { return(true); } if ((this._parent.MerchantAgreement == item)) { this._parent.MerchantAgreement = null; return(true); } ITransactor transactorItem = item.As <ITransactor>(); if (((transactorItem != null) && this._parent.Transactors.Remove(transactorItem))) { return(true); } IVendor vendorItem = item.As <IVendor>(); if (((vendorItem != null) && this._parent.Vendors.Remove(vendorItem))) { return(true); } IVendorShift vendorShiftItem = item.As <IVendorShift>(); if (((vendorShiftItem != null) && this._parent.VendorShifts.Remove(vendorShiftItem))) { return(true); } return(false); }
public async Task HandleFortunes(HttpContext httpContext, ITransactor transactor) { List <IFortune> fortunes = null; await transactor.TransactAsync(db => { fortunes = new List <IFortune>(); foreach (Fortune f in db.Sql <Fortune>("SELECT f FROM Starcounter.Techempower.Fortune f")) { fortunes.Add(new FortuneOrm(f)); } Debug.Assert(fortunes.Count == Fortune.Count); fortunes.Add(new FortuneOrm() { Message = "Additional fortune added at request time." }); }); fortunes.Sort(); await RenderFortunesHtml(fortunes, httpContext, _htmlEncoder); }
/// <summary> /// Adds the given element to the collection /// </summary> /// <param name="item">The item to add</param> public override void Add(IModelElement item) { IBankStatement bankStatementsCasted = item.As <IBankStatement>(); if ((bankStatementsCasted != null)) { this._parent.BankStatements.Add(bankStatementsCasted); } if ((this._parent.MerchantAgreement == null)) { IMerchantAgreement merchantAgreementCasted = item.As <IMerchantAgreement>(); if ((merchantAgreementCasted != null)) { this._parent.MerchantAgreement = merchantAgreementCasted; return; } } ITransactor transactorsCasted = item.As <ITransactor>(); if ((transactorsCasted != null)) { this._parent.Transactors.Add(transactorsCasted); } IVendor vendorsCasted = item.As <IVendor>(); if ((vendorsCasted != null)) { this._parent.Vendors.Add(vendorsCasted); } IVendorShift vendorShiftsCasted = item.As <IVendorShift>(); if ((vendorShiftsCasted != null)) { this._parent.VendorShifts.Add(vendorShiftsCasted); } }
/// <summary> /// Creates a new instance of <see cref="DiagramRifter"/>. /// </summary> /// <param name="transactorFactory">A factory that returns a <see cref="ITransactor"/> to tractact the node moves through.</param> public DiagramRifter(Func <ITransactor> transactorFactory) { _transactor = transactorFactory.Invoke(); Weight = 0.5; }
public ClanRepository(ITransactor <SoraContext> soraTransactor) { _soraTransactor = soraTransactor; }
internal void AddTransactor(ITransactor transactor) { Transactors.Add(transactor); }
public StarboardRepository(ITransactor <SoraContext> soraTransactor) { _soraTransactor = soraTransactor; }
public MarriageRepository(ITransactor <SoraContext> soraTransactor) { _soraTransactor = soraTransactor; }
public WaifuRequestRepository(ITransactor <SoraContext> soraTransactor) { _soraTransactor = soraTransactor; }
public GuildRepository(ITransactor <SoraContext> soraTransactor) { _soraTransactor = soraTransactor; }
public ProfileRepository(ITransactor <SoraContext> soraTransactor, ILogger <ProfileRepository> log) { _soraTransactor = soraTransactor; _log = log; }