public override void PreInitialize() { Configuration.Auditing.IsEnabledForAnonymousUsers = true; Configuration.Modules.AbpAutoMapper().Configurators.Add(config => { #region Trade config.CreateMap <Trade, TradeDto>() .ForMember(u => u.Market, options => options.MapFrom(input => input.Market.Symbol)) //.ForMember(u => u.Stock, options => options.MapFrom(input => input.Stock.Symbol)) //.ForMember(u => u.CoveredCallOption, options => options.MapFrom(input => input.CoveredCallOption.Name)) //.ForMember(u => u.BullPutSpreadShortOption, options => options.MapFrom(input => input.BullPutSpreadShortOption.Name)) //.ForMember(u => u.BullPutSpreadLongOption, options => options.MapFrom(input => input.BullPutSpreadLongOption.Name)) .ForMember(u => u.EntrySetups, options => options.MapFrom(input => EnumExtensions.FlaggedEnumToList <TradingSetups>(input.EntrySetups))) .ForMember(u => u.EntryScreenshotDbId, options => options.MapFrom(input => input.EntryScreenshotDbId.HasValue ? input.EntryScreenshotDbId.Value : 0)) .ForMember(u => u.ExitScreenshotDbId, options => options.MapFrom(input => input.ExitScreenshotDbId.HasValue ? input.ExitScreenshotDbId.Value : 0)); config.CreateMap <TradeDto, Trade>() .ForMember(u => u.EntrySetups, options => options.MapFrom(input => EnumExtensions.ListToFlaggedEnum <TradingSetups>(input.EntrySetups))) .ForMember(u => u.EntryScreenshotDbId, options => options.MapFrom(input => Extensions.GetNullableValue(input.EntryScreenshotDbId))) .ForMember(u => u.ExitScreenshotDbId, options => options.MapFrom(input => Extensions.GetNullableValue(input.ExitScreenshotDbId))); #endregion #region MarketLogEntry config.CreateMap <MarketLogEntry, MarketLogEntryDto>() .ForMember(u => u.Market, options => options.MapFrom(input => input.Market.Symbol)) .ForMember(u => u.ScreenshotDbId, options => options.MapFrom(input => input.ScreenshotDbId.HasValue ? input.ScreenshotDbId.Value : 0)); config.CreateMap <MarketLogEntryDto, MarketLogEntry>(); #endregion #region MonteCarloSimulation config.CreateMap <MonteCarloSimulation, MonteCarloSimulationDto>() .ForMember(u => u.TradingAccount, options => options.MapFrom(input => input.TradingAccount.Name)) .ForMember(u => u.MarketMaxContractsList, options => options.MapFrom(input => JsonConvert.DeserializeObject <List <MarketMaxContracts> >(input.MarketMaxContractsJson))); config.CreateMap <MonteCarloSimulationDto, MonteCarloSimulation>() .ForMember(u => u.TradingAccount, options => options.Ignore()) .ForMember(u => u.MarketMaxContractsJson, options => options.MapFrom(input => JsonConvert.SerializeObject(input.MarketMaxContractsList))); #endregion #region Market config.CreateMap <Market, TosMarketDto>() .ForMember(u => u.Id, options => options.MapFrom(input => input.Id)) .ForMember(u => u.TickValue, options => options.MapFrom(input => input.TickValue)) .ForAllOtherMembers(options => options.Ignore()); config.CreateMap <TosMarketDto, Market>() .ForMember(u => u.TickSize, options => options.Ignore()) .ForMember(u => u.TickValue, options => options.Ignore()) .ForMember(u => u.InitialMargin, options => options.Ignore()); #endregion //Configuration.Settings.Providers.Add<MySettingProvider>(); }); //Declare entity types Configuration.Modules.Zero().EntityTypes.Tenant = typeof(Tenant); Configuration.Modules.Zero().EntityTypes.Role = typeof(Role); Configuration.Modules.Zero().EntityTypes.User = typeof(User); //Remove the following line to disable multi-tenancy. Configuration.MultiTenancy.IsEnabled = GuerillaTraderConsts.MultiTenancyEnabled; //Add/remove localization sources here Configuration.Localization.Sources.Add( new DictionaryBasedLocalizationSource( GuerillaTraderConsts.LocalizationSourceName, new XmlEmbeddedFileLocalizationDictionaryProvider( Assembly.GetExecutingAssembly(), "GuerillaTrader.Localization.Source" ) ) ); AppRoleConfig.Configure(Configuration.Modules.Zero().RoleManagement); Configuration.Authorization.Providers.Add <GuerillaTraderAuthorizationProvider>(); }
public override void PreInitialize() { //workaround for issue: https://github.com/aspnet/EntityFrameworkCore/issues/9825 //related github issue: https://github.com/aspnet/EntityFrameworkCore/issues/10407 AppContext.SetSwitch("Microsoft.EntityFrameworkCore.Issue9825", true); Configuration.Auditing.IsEnabledForAnonymousUsers = true; //Declare entity types Configuration.Modules.Zero().EntityTypes.Tenant = typeof(Tenant); Configuration.Modules.Zero().EntityTypes.Role = typeof(Role); Configuration.Modules.Zero().EntityTypes.User = typeof(User); ProjectsNGLocalizationConfigurer.Configure(Configuration.Localization); //Adding feature providers Configuration.Features.Providers.Add <AppFeatureProvider>(); //Adding setting providers Configuration.Settings.Providers.Add <AppSettingProvider>(); //Adding notification providers Configuration.Notifications.Providers.Add <AppNotificationProvider>(); //Adding webhook definition providers Configuration.Webhooks.Providers.Add <AppWebhookDefinitionProvider>(); Configuration.Webhooks.TimeoutDuration = TimeSpan.FromMinutes(1); Configuration.Webhooks.IsAutomaticSubscriptionDeactivationEnabled = false; //Enable this line to create a multi-tenant application. Configuration.MultiTenancy.IsEnabled = ProjectsNGConsts.MultiTenancyEnabled; //Enable LDAP authentication //Configuration.Modules.ZeroLdap().Enable(typeof(AppLdapAuthenticationSource)); //Twilio - Enable this line to activate Twilio SMS integration //Configuration.ReplaceService<ISmsSender,TwilioSmsSender>(); //Adding DynamicEntityParameters definition providers Configuration.DynamicEntityParameters.Providers.Add <AppDynamicEntityParameterDefinitionProvider>(); // MailKit configuration Configuration.Modules.AbpMailKit().SecureSocketOption = SecureSocketOptions.Auto; Configuration.ReplaceService <IMailKitSmtpBuilder, ProjectsNGMailKitSmtpBuilder>(DependencyLifeStyle.Transient); //Configure roles AppRoleConfig.Configure(Configuration.Modules.Zero().RoleManagement); if (DebugHelper.IsDebug) { //Disabling email sending in debug mode Configuration.ReplaceService <IEmailSender, NullEmailSender>(DependencyLifeStyle.Transient); } Configuration.ReplaceService(typeof(IEmailSenderConfiguration), () => { Configuration.IocManager.IocContainer.Register( Component.For <IEmailSenderConfiguration, ISmtpEmailSenderConfiguration>() .ImplementedBy <ProjectsNGSmtpEmailSenderConfiguration>() .LifestyleTransient() ); }); Configuration.Caching.Configure(FriendCacheItem.CacheName, cache => { cache.DefaultSlidingExpireTime = TimeSpan.FromMinutes(30); }); IocManager.Register <DashboardConfiguration>(); }
public override void PreInitialize() { //workaround for issue: https://github.com/aspnet/EntityFrameworkCore/issues/9825 //related github issue: https://github.com/aspnet/EntityFrameworkCore/issues/10407 AppContext.SetSwitch("Microsoft.EntityFrameworkCore.Issue9825", true); Configuration.Auditing.IsEnabledForAnonymousUsers = true; //Declare entity types Configuration.Modules.Zero().EntityTypes.Tenant = typeof(Tenant); Configuration.Modules.Zero().EntityTypes.Role = typeof(Role); Configuration.Modules.Zero().EntityTypes.User = typeof(User); FloodCitiSenseLocalizationConfigurer.Configure(Configuration.Localization); //Adding feature providers Configuration.Features.Providers.Add <AppFeatureProvider>(); //Adding setting providers Configuration.Settings.Providers.Add <AppSettingProvider>(); //Adding notification providers Configuration.Notifications.Providers.Add <AppNotificationProvider>(); //Enable this line to create a multi-tenant application. Configuration.MultiTenancy.IsEnabled = FloodCitiSenseConsts.MultiTenancyEnabled; //Enable LDAP authentication (It can be enabled only if MultiTenancy is disabled!) //Configuration.Modules.ZeroLdap().Enable(typeof(AppLdapAuthenticationSource)); //Configure roles AppRoleConfig.Configure(Configuration.Modules.Zero().RoleManagement); //TODO: Remove this after smpt is configured //Disabling email sending //Configuration.ReplaceService<IEmailSender, NullEmailSender>(DependencyLifeStyle.Transient); //TODO: Enable this after smpt is configured //if (DebugHelper.IsDebug) //{ // //Disabling email sending in debug mode // Configuration.ReplaceService<IEmailSender, NullEmailSender>(DependencyLifeStyle.Transient); //} Configuration.ReplaceService(typeof(IEmailSenderConfiguration), () => { Configuration.IocManager.IocContainer.Register( Component.For <IEmailSenderConfiguration, ISmtpEmailSenderConfiguration>() .ImplementedBy <FloodCitiSenseSmtpEmailSenderConfiguration>() .LifestyleTransient() ); }); Configuration.Caching.Configure(FriendCacheItem.CacheName, cache => { cache.DefaultSlidingExpireTime = TimeSpan.FromMinutes(30); }); Configuration.Caching.Configure(PaymentCacheItem.CacheName, cache => { cache.DefaultSlidingExpireTime = TimeSpan.FromMinutes(FloodCitiSenseConsts.PaymentCacheDurationInMinutes); }); }