/// <summary> /// Configure the given container with the /// registrations provided by the funqlet. /// </summary> /// <param name="container">Container to register.</param> public override void Configure(Funq.Container container) { ServiceStack.OrmLite.OrmLiteConfig.CommandTimeout = 60; WebEas.Log.WebEasNLogLogger.Application = "BDS"; base.Configure(container); this.SetConfig(new HostConfig { WsdlServiceNamespace = "http://schemas.webeas.sk/office/esam/office/1.0", SoapServiceName = "EsamOfficeBds", #if DEBUG || DEVELOP || INT || ITP DebugMode = true, EnableFeatures = Feature.All.Remove(this.disableFeaturesDebug), #else DebugMode = false, EnableFeatures = Feature.All.Remove(this.disableFeatures), #endif DefaultContentType = MimeTypes.Json, AllowJsonpRequests = true }); //JsConfig<List<FilesDto>>.DeSerializeFn = data => JsonSerializer.DeserializeFromString<List<FilesDto>>(data); //JsConfig.ThrowOnDeserializationError = true; //JsConfig.OnDeserializationError = (object instance, System.Type propertyType, string propertyName, string propertyValueStr, System.Exception ex) => //{ // Console.WriteLine(ex.Message); //}; #if !DEBUG ConfigureMessageServiceForLongOperations <ServiceModel.Office.Bds.Dto.BdsLongOperationStartDto>(container); #endif //Routes.Add<IsoMessageDto>("/AckMsg"); container.AddScoped <IBdsRepository, BdsRepository>(); }
/// <summary> /// Configure the given container with the /// registrations provided by the funqlet. /// </summary> /// <param name="container">Container to register.</param> public override void Configure(Funq.Container container) { ServiceStack.OrmLite.OrmLiteConfig.CommandTimeout = 60; WebEas.Log.WebEasNLogLogger.Application = "CFE"; base.Configure(container); this.SetConfig(new HostConfig { WsdlServiceNamespace = "http://schemas.webeas.sk/office/esam/office/1.0", SoapServiceName = "EsamOfficeCfe", #if DEBUG || DEVELOP || INT || ITP DebugMode = true, EnableFeatures = Feature.All.Remove(this.disableFeaturesDebug), #else DebugMode = false, EnableFeatures = Feature.All.Remove(this.disableFeatures), #endif DefaultContentType = MimeTypes.Json, AllowJsonpRequests = true }); container.RegisterAutoWiredAs <BdsRepository, IRepositoryBase>("bds").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<DapRepository, IRepositoryBase>("dap").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<DmsRepository, IRepositoryBase>("dms").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<FinRepository, IRepositoryBase>("fin").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<OsaRepository, IRepositoryBase>("osa").ReusedWithin(ReuseScope.Request); container.RegisterAutoWiredAs <RegRepository, IRepositoryBase>("reg").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<RzpRepository, IRepositoryBase>("rzp").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<UctRepository, IRepositoryBase>("uct").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<VykRepository, IRepositoryBase>("vyk").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<MajRepository, IRepositoryBase>("maj").ReusedWithin(ReuseScope.Request); container.RegisterAutoWiredAs <CfeRepository, IRepositoryBase>("cfe").ReusedWithin(ReuseScope.Request); container.AddScoped <ICfeRepository, CfeRepository>(); }
/// <summary> /// Configure the given container with the /// registrations provided by the funqlet. /// </summary> /// <param name="container">Container to register.</param> public override void Configure(Funq.Container container) { ServiceStack.OrmLite.OrmLiteConfig.CommandTimeout = 60; WebEas.Log.WebEasNLogLogger.Application = "PFE"; base.Configure(container); // new EnumSerializerConfigurator().WithAssemblies(new List<Assembly> { typeof(HierarchyNode).Assembly }).WithNullableEnumSerializers().Configure(); this.SetConfig(new HostConfig { WsdlServiceNamespace = "http://schemas.dcom.sk/private/Egov/pfe/1.0", SoapServiceName = "EsamPfe", #if DEBUG || DEVELOP || INT || ITP DebugMode = true, EnableFeatures = Feature.All.Remove(this.disableFeaturesDebug), #else DebugMode = false, EnableFeatures = Feature.All.Remove(this.disableFeatures), #endif DefaultContentType = MimeTypes.Json, AllowJsonpRequests = true, #if DEVELOPCRM WebHostUrl = "https://esam-crm.datalan.sk/esam/api/pfe" #endif }); #if !DEBUG container.Register <IMessageService>(c => new RedisMqServer(c.Resolve <IRedisClientsManager>())); container.Resolve <IMessageService>().RegisterHandler <WebEas.ServiceModel.Dto.LongOperationStatus>(m => { using (var redisClient = base.Resolve <IRedisClientsManager>().GetClient()) { var longOperationStatus = m.GetBody(); ProcessLongOperationStatus(longOperationStatus, redisClient, base.Resolve <IServerEvents>()); } return(null); }); container.Resolve <IMessageService>().Start(); #endif container.RegisterAutoWiredAs <CfeRepository, IRepositoryBase>("cfe").ReusedWithin(ReuseScope.Request); container.RegisterAutoWiredAs <BdsRepository, IRepositoryBase>("bds").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<DapRepository, IRepositoryBase>("dap").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<DmsRepository, IRepositoryBase>("dms").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<FinRepository, IRepositoryBase>("fin").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<OsaRepository, IRepositoryBase>("osa").ReusedWithin(ReuseScope.Request); container.RegisterAutoWiredAs <RegRepository, IRepositoryBase>("reg").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<RzpRepository, IRepositoryBase>("rzp").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<UctRepository, IRepositoryBase>("uct").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<VykRepository, IRepositoryBase>("vyk").ReusedWithin(ReuseScope.Request); //container.RegisterAutoWiredAs<MajRepository, IRepositoryBase>("maj").ReusedWithin(ReuseScope.Request); container.AddScoped <IPfeRepository, PfeRepository>(); var mse = new ServerEventsFeature() { LimitToAuthenticatedUsers = true, NotifyChannelOfSubscriptions = false, OnCreated = (sub, req) => { var session = req.SessionAs <EsamSession>(); if (!session.IsAuthenticated) { return; } if (session.Roles != null) { var key = "SynchronizaciaDAPToast:" + session.TenantId + ":" + session.UserId; var showed = GetCacheClient().Get <bool>(key); if (!showed) { if (session.Roles.Any(x => x.StartsWith("DAP") || x.StartsWith("FIN") || x.StartsWith("UCT"))) { var repository = HostContext.Resolve <IPfeRepository>(); repository.Session = session; var eSAMRezim = repository.GetNastavenieI("cfe", "eSAMRezim"); var isoZdroj = repository.GetNastavenieI("cfe", "ISOZdroj"); if (repository.GetNastavenieB("cfe", "PohladavkyDAP") && (eSAMRezim == 1 || isoZdroj > 0)) { var datumSynchro = repository.GetNastavenieT("dap", "SynchronizaciaDAP"); if (datumSynchro.HasValue) { sub.ConnectArgs["SynchronizaciaDAP"] = datumSynchro.Value.ToString("o"); } GetCacheClient().Set(key, true, DateTime.Today.AddDays(1)); } } } } }, /* * TODO: Synchronizacia s ISO * OnSubscribe = (sub) => * { * if (sub.UserId == "00000000-0000-0000-0000-000000000002") * { * var subSessionKey = SessionFeature.GetSessionKey(sub.SessionId); * var subSession = HostContext.Cache.Get<EsamSession>(subSessionKey); * var syncManager = new IsoSynchronizationManager(Resolve<IServerEvents>(), Resolve<IRedisClientsManager>()); * syncManager.ProcessQueue(subSession.TenantId); * } * }*/ }; Plugins.Add(mse); }