Exemple #1
0
 public ErrorReporter(ITransactor transactor, IErrorQueueLoader errorQueueLoader, IEventHandlerAuditRepository auditRepository, IEventHandlerErrorRepository errorRepository)
 {
     _transactor = transactor;
     _errorQueueLoader = errorQueueLoader;
     _auditRepository = auditRepository;
     _errorRepository = errorRepository;
 }
Exemple #2
0
 internal void AddTransactor(ITransactor transactor)
 {
     if (!Transactors.Contains(transactor))
     {
         Transactors.Add(transactor);
     }
 }
Exemple #3
0
 /// <inheritdoc/>
 protected override void Execute(ITransactor transactor, object parameter)
 {
     foreach (var node in _nodes)
     {
         transactor.Transact(new MoveNodeCommand(_nodeToPositionMap[node]), node);
     }
 }
Exemple #4
0
 public ErrorReporter(ITransactor transactor, IErrorQueueLoader errorQueueLoader, IEventHandlerAuditRepository auditRepository, IEventHandlerErrorRepository errorRepository)
 {
     _transactor       = transactor;
     _errorQueueLoader = errorQueueLoader;
     _auditRepository  = auditRepository;
     _errorRepository  = errorRepository;
 }
 /// <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 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);
        }
Exemple #11
0
        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;
 }
 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);
         }
     }
 }
Exemple #19
0
 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;
 }
Exemple #23
0
            /// <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);
        }
Exemple #25
0
            /// <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;
 }
Exemple #27
0
 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;
 }
Exemple #31
0
 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;
 }