public static CarrinhoCompra GetCarrinho(System.IServiceProvider services) { // define uma sessão acessando o contexto atual (tem que registrar em IServicesCo // Vai retornar uma session se o operador <IHttpContextAcessor> não for nulo // por isso usamos o operador condicional nulo ?. ISession session = services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; // obtém um serviço do tipo do nosso contexto var context = services.GetService <AppDbContext>(); // obtém ou gera o Id do carrinho // usamos o operador de coalicence nula (??) // se a sessão do carrinho "sessionGetString("CarrinhoId") existir, mantém o valor // se for nula, o comando Guid.NewGuid() irá atribuir um novo valor único para a sessão do carrinho // gera um número aleatório de 128 bits string carrinhoId = session.GetString("CarrinhoId") ?? Guid.NewGuid().ToString(); // atribui o id do carrinho na Sessão session.SetString("CarrinhoId", carrinhoId); // retorna o carrinho com o contexto atual e o Id atribuído ou obtido return(new CarrinhoCompra(context) { CarrinhoCompraId = carrinhoId }); }
public RmqConsumers(IServiceProvider services) { var options = services.GetRequiredService <RmqOptions>(); var cs = Environment.ExpandEnvironmentVariables(options.ConnectionString); bus = RabbitHutch.CreateBus(cs); SubscribeHandlers(bus, services); }
public AdminCommandTarget(IServiceProvider provider) : base(provider) { _siteUrl = () => provider .GetRequiredService<IWebConnectionService>() .GetConfig() .SiteUrl; }
private static int GetForumId(IServiceProvider provider, int? forumId) { if (forumId != null) return forumId.Value; var currentForum = provider .GetRequiredService<IActiveForumService>() .ActiveForum; return currentForum?.ID ?? -1; }
// https://github.com/EasyNetQ/EasyNetQ/wiki/Auto-Subscriber private static void SubscribeHandlers(IBus bus, IServiceProvider services) { var dispatcherLogger = services.GetRequiredService <ILogger <MessageDispatcher> >(); var subscriber = new AutoSubscriber(bus, "auto") { AutoSubscriberMessageDispatcher = new MessageDispatcher(services, dispatcherLogger), }; subscriber.SubscribeAsync(Assembly.GetExecutingAssembly()); }
public static void Main(string[] aArgumentArray) { IWebHost host = BuildWebHost(aArgumentArray); using (IServiceScope scope = host.Services.CreateScope()) { System.IServiceProvider services = scope.ServiceProvider; try { HercPwaDbContext hercPwaDbContext = services.GetRequiredService <HercPwaDbContext>(); DbInitializer.Initialize(hercPwaDbContext); } catch (Exception exception) { ILogger <Program> logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(exception, "An error occurred creating the DB."); } } host.Run(); }
private static int GetForumId(IServiceProvider provider, int?forumId) { if (forumId != null) { return(forumId.Value); } var currentForum = provider .GetRequiredService <IActiveForumService>() .ActiveForum; return(currentForum != null ? currentForum.ID : -1); }
public static CarrinhoCompra GetCarrinho(System.IServiceProvider services) { ISession session = services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; //var x = Microsoft.AspNetCore.Http.HttpContext. HttpContext. var context = services.GetService <AppDbContext>(); string carrinhoId = session.GetString("CarrinhoId") ?? Guid.NewGuid().ToString(); session.SetString("CarrinhoId", carrinhoId); return(new CarrinhoCompra(context) { CarrinhoCompraId = carrinhoId }); }
public static ShoppingCart GetId(System.IServiceProvider services) { //Define uma sessao acessando o contexto atual (Tem que registrar em IServicesCollection) ISession session = services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; //Obtém um serviço do tipo do nosso contexto var context = services.GetService <LanchesWebContext>(); //Obtém ou gera o Id do Carrinho string shoppingCartId = session.GetString("ShoppingCartId") ?? Guid.NewGuid().ToString(); //Atribui o Id do Carrinho na sessão session.SetString("ShoppingCartId", shoppingCartId); //Retorna o Carrinho com o contexto atual e o Id atribuído ou obtido return(new ShoppingCart(context) { ShoppingCartId = shoppingCartId }); }
public static CarrinhoCompra GetCarrinho(System.IServiceProvider services) { // define uma sessão utilizando o contexto ( banco de dados ) atual ISession session = services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; // Obtem um serviço do tipo do nosso contexto var context = services.GetService <AppDbContext>(); // Obtem ou gera o Id do carrinho string carrinhoId = session.GetString("CarrinhoId") ?? Guid.NewGuid().ToString(); // atribui o Id co carrinho na sessão session.SetString("CarrinhoId", carrinhoId); // retorna o carrinho com o contexto atual return(new CarrinhoCompra(context) { CarrinhoCompraId = carrinhoId }); }
public static CarrinhoCompra GetCarrinho(System.IServiceProvider services) { //define uma sessão acessando o contexto atual(tem que registrar em IServices) ISession session = services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; //obtem um serviço do tipo do nosso contexto var context = services.GetService <AppDbContext>(); //obtem ou gera o Id do carrinho string carrinhoId = session.GetString("CarrinhoId") ?? Guid.NewGuid().ToString(); //Atribui o id carrinho na sessão session.SetString("CarrinhoId", carrinhoId); return(new CarrinhoCompra(context) { CarrinhocompraId = carrinhoId }); }
public static CarrinhoCompra GetCarrinho(System.IServiceProvider services) { //define uma sessão acessando o contexto atual(tem que registrar em IServiceCollection.. ) //? é um operador condicional nulo, se IHttpContextAcessor for nulo, então ele retorna nulo // senão retorna a Sessão com o contexto (HttpContext.Session) ISession session = services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; //obtem um serviço do tipo do nosso contexto var context = services.GetService <AppDbContext>(); //obtem ou gera o id do carrinho // ?? retorna o CarrinhoId se ele existir, se não existir será dado um NewGuid para gerar um //identificador único string carrinhoId = session.GetString("CarrinhoId") ?? Guid.NewGuid().ToString(); //atribui o id do carrinho na Sessão session.SetString("CarrinhoId", carrinhoId); //retorna o carrinho com o contexto atual e o Id atribuido ou obtido return(new CarrinhoCompra(context) { CarrinhoCompraId = carrinhoId }); }
private static void UpdateForumsSubscriptions( [NotNull] System.IServiceProvider serviceProvider, [NotNull] IEnumerable <ForumSubscriptionRequest> requests, [NotNull] DeleteMessagesPredicate deleteMessagesPredicate) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } if (requests == null) { throw new ArgumentNullException("requests"); } if (deleteMessagesPredicate == null) { throw new ArgumentNullException("deleteMessagesPredicate"); } using (var mgr = serviceProvider.CreateDBContext()) { var forums = GetAllForums( mgr, f => new { f.ID, f.Name, f.Descript, Subscribed = false }, f => new { f.ID, f.Name, f.Descript, Subscribed = true }) .ToDictionary(forum => forum.ID); var requestsArray = requests .Where(request => request.IsSubscribed != forums[request.ForumId].Subscribed) .ToArray(); if (!requestsArray.Any()) { return; } var forumEntryIds = requestsArray .Select(request => new ForumEntryIds(request.ForumId)) .ToArray(); var eventBroker = serviceProvider.GetRequiredService <IEventBroker>(); eventBroker.Fire( ForumEventNames.BeforeForumEntryChanged, new ForumEntryChangedEventArgs(forumEntryIds, ForumEntryChangeType.ForumSubscription)); foreach (var request in requestsArray) { if (request.IsSubscribed) { Subscribe(serviceProvider, request.ForumId); } else { var forum = forums[request.ForumId]; Unsubscribe( serviceProvider, request.ForumId, deleteMessagesPredicate(forum.ID, forum.Name, forum.Descript)); } } serviceProvider .GetRequiredService <IUIShell>() .CreateUIAsyncOperation() .PostOperationCompleted(() => serviceProvider.GetRequiredService <IUIShell>().RefreshData()); eventBroker.Fire( ForumEventNames.AfterForumEntryChanged, new ForumEntryChangedEventArgs(forumEntryIds, ForumEntryChangeType.ForumSubscription)); } }
public T Build <T>() where T : class { return(_container.GetRequiredService <T>()); }