public void CanSelectToolBilling() { ContainerContextFactory.Current.NewThreadScopedContext(); _context = ContainerContextFactory.Current.GetContext(); var cfg = new ThreadStaticContainerConfiguration(_context); cfg.RegisterAllTypes(); using (_context.GetInstance <IUnitOfWork>()) { var repo = _context.GetInstance <IToolBillingRepository>(); var results = repo.SelectToolBilling(DateTime.Parse("2017-02-01")); Assert.IsTrue(results.Count() > 0); } }
public void Setup() { ContainerContextFactory.Current.NewThreadScopedContext(); _context = ContainerContextFactory.Current.GetContext(); var cfg = new ThreadStaticContainerConfiguration(_context); cfg.RegisterAllTypes(); _provider = _context.GetInstance <IProvider>(); ServiceProvider.Setup(_provider); }
public void CanGetClient() { ContainerContextFactory.Current.NewThreadScopedContext(); _context = ContainerContextFactory.Current.GetContext(); var cfg = new ThreadStaticContainerConfiguration(_context); cfg.RegisterAllTypes(); using (_context.GetInstance <IUnitOfWork>()) { var session = _context.GetInstance <ISessionManager>().Session; var client = session.Get <Client>(1301); Assert.AreEqual("jgett", client.UserName); var co = session.Query <ClientOrg>().FirstOrDefault(x => x.Client.ClientID == 1301); Assert.AreEqual("jgett", co.Client.UserName); } ServiceProvider.Setup(_context.GetInstance <IProvider>()); using (_context.GetInstance <IUnitOfWork>()) { var client = ServiceProvider.Current.Data.Client.GetClient(1301); Assert.AreEqual("jgett", client.UserName); } using (_context.GetInstance <IUnitOfWork>()) { var session = _context.GetInstance <ISessionManager>().Session; var client = session.Get <Client>(1301); Assert.AreEqual("jgett", client.UserName); var co = session.Query <ClientOrg>().FirstOrDefault(x => x.Client.ClientID == 1301); Assert.AreEqual("jgett", co.Client.UserName); } using (_context.GetInstance <IUnitOfWork>()) { var session = _context.GetInstance <ISessionManager>().Session; var client = session.Get <Client>(1301); Assert.AreEqual("jgett", client.UserName); var co = session.Query <ClientOrg>().FirstOrDefault(x => x.Client.ClientID == 1301); Assert.AreEqual("jgett", co.Client.UserName); } }
public override async Task Invoke(IOwinContext context) { Uri uri = context.Request.Uri; IDisposable uow = null; if (!IsStaticContent(uri)) { uow = _context.GetInstance <IDataAccessService>().StartUnitOfWork(); } await Next.Invoke(context); if (uow != null) { uow.Dispose(); } }
public IUnitOfWork StartUnitOfWork() { return(_context.GetInstance <IUnitOfWork>()); }
protected override void OnStart(string[] args) { _context = ContainerContextFactory.Current.NewThreadScopedContext(); var cfg = new ThreadStaticContainerConfiguration(_context); cfg.RegisterAllTypes(); _provider = _context.GetInstance <IProvider>(); ServiceProvider.Setup(_provider); var msgq = GetMessageQueue(); // When the service starts the queue should be cleared so we don't process a bunch of stale messages if (ConfigurationManager.AppSettings["PurgeQueueOnStart"] == "true") { msgq.Purge(); } _thread = new Thread(() => { while (true) { try { Message msg = msgq.Receive(); msg.Formatter = new XmlMessageFormatter(new[] { typeof(WorkerRequest), typeof(UpdateBillingWorkerRequest) }); WorkerRequest req = (WorkerRequest)msg.Body; using (_provider.DataAccess.StartUnitOfWork()) { var handler = new RequestHandler(_provider); DateTime start = DateTime.Now; BroadcastLogMessage($"[{start:yyyy-MM-dd HH:mm:ss}] RECV: {req.Command}", ConsoleColor.White); string message = handler.Start(req); DateTime end = DateTime.Now; BroadcastLogMessage(message.TrimEnd(Environment.NewLine.ToCharArray()), ConsoleColor.Yellow); BroadcastLogMessage($"[{end:yyyy-MM-dd HH:mm:ss}] Completed in {(end - start).TotalSeconds:0.0000}", ConsoleColor.White); SendSuccessEmail(start, end, req.Command, message); } } catch (Exception ex) { try { Program.ConsoleWriteLine(ex.ToString(), ConsoleColor.Red); BroadcastLogMessage($"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] {ex}", ConsoleColor.Red); SendErrorEmail(ex); } catch { } } } }); _thread.Start(); BroadcastLogMessage($"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] Service started."); }