Пример #1
0
 public override void RegisterServieceRequest(ServiceRegister Register)
 {
     Register.Register("System.CountUser",
                       (Request parameter, ref Request result) =>
     {
         var res = CreateMsg.CreateRequest(GetCount(), new RequestType()
         {
             Other = "System.CountUser"
         });
         res.SendUser = "******";
         result       = res;
         res.RecUserlist.Add(parameter.SendUser);
         socket.Send(res);
     });
     Register.Register("System.GetUserList",
                       (Request parameter, ref Request result) =>
     {
         Request request = (Request)parameter;
         var res         = CreateMsg.CreateRequest(GetCount(), new RequestType()
         {
             Other = "System.GetUserList"
         });
         res.Content     = GetUserList();
         res.SendUser    = "******";
         res.RecUserlist = request.RecUserlist;
         result          = res;
         socket.Send(res);
     });
 }
Пример #2
0
 public override void RegisterServieceRequest(ServiceRegister Register)
 {
     Register.Register(RequestType.Message,
                       (Request parameter, ref Request result) =>
     {
         socket.Send(parameter);
     });
     Register.Register(RequestType.File,
                       (Request parameter, ref Request result) =>
     {
         result.Content = FileUpAsync(parameter);
     });
 }
    public void Register_SameTypeRegistered_ThrowsInvalidOperationException()
    {
        // Arrange
        var register = new ServiceRegister();

        register.Register(new MockService());

        // Act
        TestDelegate td = () => register.Register <MockService>();

        // Assert
        Assert.Throws <ServiceCollisionException <MockService> >(td);
    }
Пример #4
0
        /// <summary>
        /// Registers dependencies for Autofac to resolve via reflection at run-time.
        /// </summary>
        /// <exception cref="Exception"></exception>
        public static void RegisterDependencies()
        {
            // Create the container builder.
            var builder = new ContainerBuilder();

            // Register the Web API controllers.
            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
            builder.RegisterWebApiFilterProvider(GlobalConfiguration.Configuration);

            // Register your dependencies.
            builder.RegisterType <UnitOfWork>().As <IUnitOfWork>();
            builder.RegisterType <TekTak.iLoop.UOW.UnitOfWork>().As <TekTak.iLoop.UOW.IUnitOfWork>();
            //builder.RegisterType<iLoopEntity>().InstancePerLifetimeScope();

            ServiceRegister.Register(builder);
            //RegisterJServices(builder);

            AuthorizationRegister.Register(builder);

            ValidatorRegister.Register(builder);

            // Build the container.
            var container = builder.Build();

            // Create the dependency resolver.
            var resolver = new AutofacWebApiDependencyResolver(container);

            // Configure Web API with the dependency resolver.
            GlobalConfiguration.Configuration.DependencyResolver = resolver;

            FluentValidation.WebApi.FluentValidationModelValidatorProvider.Configure(GlobalConfiguration.Configuration,
                                                                                     provider => provider.ValidatorFactory = new ValidatorFactory(container));
        }
Пример #5
0
 protected override void RegisterServiceHandler(ServiceRegister registerManager)
 {
     registerManager.Register("ReceiveService.DoReceive", (object parameter, ref object result) =>
     {
         result = DoReceive(parameter as string);
     });
 }
Пример #6
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddAutoMapper();
            services.AddCustomMvc(_appConfig)
            .AddCustomAuthentication(_environment, _appConfig);
            ServiceRegister.Register(services);
            ServiceRegister.AddConfigureSetting(services, _appConfig.Configuration);

            IdentityModelEventSource.ShowPII = true;
        }
Пример #7
0
 // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
 public void ConfigureServices(IServiceCollection services)
 {
     services.AddAutoMapper();
     services.AddSession();
     services.AddInfrastructure <LanguageSub>(Configuration);
     services.AddMvc().AddDataAnnotationsLocalization().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
     services.AddMvcCore().AddVersionedApiExplorer(o => o.GroupNameFormat = "'v'VVV").AddAuthorization();
     services.AddMemoryCache();
     ServiceRegister.Register(services);
     services.AddCustomSwagger();
 }
Пример #8
0
        public ViewModelLocator()
        {
            INavigationService navigationService = new NavigationService();

            register = new ServiceRegister();
            register.Register(navigationService);

            navigationService.Configure(PageType.HomePage, new Uri("../Pages/HomePage.xaml", UriKind.Relative));
            navigationService.Configure(PageType.CollectSystemBlockPage, new Uri("../Pages/CollectSystemBlockPage.xaml", UriKind.Relative));
            navigationService.Configure(PageType.ViewCollectedPage, new Uri("../Pages/ViewCollectedPage.xaml", UriKind.Relative));
            navigationService.Configure(PageType.SaveSystemBlockPage, new Uri("../Pages/SaveSystemBlockPage.xaml", UriKind.Relative));
        }
Пример #9
0
        protected void Application_Start()
        {
            var path = AppDomain.CurrentDomain.BaseDirectory + @"\log4net.config";

            log4net.Config.XmlConfigurator.Configure(new FileInfo(path));

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            ServiceRegister.Register();
        }
    public void Resolve_ServiceRegistered_ReturnsService()
    {
        // Arrange
        var register = new ServiceRegister();

        // Act
        register.Register <IMockService>(new MockService());

        // Assert
        var service = register.Resolve <IMockService>();

        Assert.IsNotNull(service);
    }
    public void RegisterTypeImplementation_NoCollisisons_AddsServiceImplementation()
    {
        // Arrange
        var register = new ServiceRegister();

        // Act
        register.Register <IMockService, MockService>();

        // Assert
        var registeredService = register.Resolve <IMockService>();

        Assert.AreEqual(typeof(MockService), registeredService.GetType());
    }
Пример #12
0
 // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
 public void ConfigureServices(IServiceCollection services)
 {
     services.AddAutoMapper();
     services.AddSession();
     services.AddInfrastructure <LanguageSub>(Configuration);
     services.AddMvc().AddDataAnnotationsLocalization().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
     services.AddMvcCore().AddVersionedApiExplorer(o => o.GroupNameFormat = "'v'VVV").AddAuthorization();
     services.AddMemoryCache();
     ServiceRegister.Register(services);
     services.Configure <APIUrls>(options => Configuration.GetSection(nameof(APIUrls)).Bind(options));
     services.AddCatelogueManagementApiServices();
     services.AddCustomSwagger();
 }
Пример #13
0
 public override void RegisterServieceRequest(ServiceRegister Register)
 {
     Register.Register("riderType1", (Request parameter, ref Request result) =>
     {
         var request       = (Request)parameter;
         orderinfo param   = (orderinfo)request.Content;
         param.driverprice = param.price - Math.Round(param.price * double.Parse(CostService.Config["Profit"]), 2);
         param.id          = request.Head["KeyID"];
         riderTypeOne.Add(param.id, param);
         result.Content = createorder(param);
     });
     Register.Register("riderType2", (Request parameter, ref Request result) =>
     {
         var request       = (Request)parameter;
         orderinfo param   = (orderinfo)request.Content;
         param.driverprice = param.price - Math.Round(param.price * double.Parse(CostService.Config["Profit"]), 2);
         param.id          = request.Head["KeyID"];
         riderTypeTwo.Add(param.id, param);
         result.Content = createorder(param);
     });
     Register.Register("riderType3", (Request parameter, ref Request result) =>
     {
         var request       = (Request)parameter;
         orderinfo param   = (orderinfo)request.Content;
         param.driverprice = param.price - Math.Round(param.price * double.Parse(CostService.Config["Profit"]), 2);
         param.id          = request.Head["KeyID"];
         riderTypeThere.Add(param.id, param);
         result.Content = createorder(param);
     });
     Register.Register("riderType4", (Request parameter, ref Request result) =>
     {
         var request       = (Request)parameter;
         orderinfo param   = (orderinfo)request.Content;
         param.driverprice = param.price - Math.Round(param.price * double.Parse(CostService.Config["Profit"]), 2);
         param.id          = request.Head["KeyID"];
         riderTypeThere.Add(param.id, param);
         result.Content = createorder(param);
     });
 }
    public void RegisterInstance_NoServicesRegistered_AddsInstance()
    {
        // Arrange
        var register = new ServiceRegister();

        // Act
        register.Register(new MockService());

        // Assert
        MockService  service = null;
        TestDelegate td      = () => service = register.Resolve <MockService>();

        Assert.DoesNotThrow(td);
        Assert.IsNotNull(service);
    }
Пример #15
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            var unityContainer = UnityConfiguration.Configure(GlobalConfiguration.Configuration);

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            var sourceManager  = unityContainer.Resolve <ISourceManager>();
            var serviceLocator = unityContainer.Resolve <IServiceLocator>();

            //
            //Cash Service  for Service lookup
            ServiceRegister.Register(sourceManager, serviceLocator);
        }
Пример #16
0
        public static void initializeDataAndServices()
        {
            DatabaseTypeEnum databaseType = DatabaseTypeEnum.SQL_SERVER_DATABASE;

            DatabaseTypeInitializer.InitializeDatabaseType(databaseType);
            ServiceRegister serviceRegister = ServiceRegister.getInstance();

            serviceRegister.Register(typeof(PersonService), new PersonServiceImpl());
            serviceRegister.Register(typeof(AnimalGroupService), new AnimalGroupServiceImpl());
            serviceRegister.Register(typeof(AnimalService), new AnimalServiceImpl());
            serviceRegister.Register(typeof(CageService), new CageServiceImpl());
            serviceRegister.Register(typeof(FoodService), new FoodServiceImpl());
            serviceRegister.Register(typeof(EventService), new EventServiceImpl());
            serviceRegister.Register(typeof(AddressService), new AddressServiceImpl());
        }
    public void Replace_SameTypeRegistered_ReplacesServiceWithWarning()
    {
        // Arrange
        bool warningLogged = false;
        var  register      = new ServiceRegister();

        register.Register <IMockService>(new MockService());
        Application.logMessageReceived += (condition, trace, type) =>
                                          warningLogged = type == LogType.Warning && condition.Contains(typeof(MockService).Name);

        // Act
        register.Replace <IMockService>(new MockServiceAlternate());

        // Assert
        var service = register.Resolve <IMockService>();

        Assert.AreEqual(typeof(MockServiceAlternate), service.GetType());
        Assert.True(warningLogged);
    }
Пример #18
0
 public override void RegisterServieceRequest(ServiceRegister Register)
 {
     Register.Register("text", (Request parameter, ref Request result) =>
     {
         var req = (Request)parameter;
         req.Head["CreateTime"] = GetCreateTime().ToString();
         result.Content         = CreateMsg(req);
     });
     Register.Register("image", (Request parameter, ref Request result) =>
     {
         var req = (Request)parameter;
         req.Head["CreateTime"] = GetCreateTime().ToString();
         result.Content         = CreateMsg(req);
     });
     Register.Register("voice", (Request parameter, ref Request result) =>
     {
         var req = (Request)parameter;
         req.Head["CreateTime"] = GetCreateTime().ToString();
         result.Content         = CreateMsg(req);
     });
     Register.Register("video", (Request parameter, ref Request result) =>
     {
         var req = (Request)parameter;
         req.Head["CreateTime"] = GetCreateTime().ToString();
         result.Content         = CreateMsg(req);
     });
     Register.Register("location", (Request parameter, ref Request result) =>
     {
         var req = (Request)parameter;
         req.Head["CreateTime"] = GetCreateTime().ToString();
         result.Content         = CreateMsg(req);
     });
     Register.Register("link", (Request parameter, ref Request result) =>
     {
         var req = (Request)parameter;
         req.Head["CreateTime"] = GetCreateTime().ToString();
         result.Content         = CreateMsg(req);
     });
     Register.Register("event", (Request parameter, ref Request result) =>
     {
         var req = (Request)parameter;
         req.Head["CreateTime"] = GetCreateTime().ToString();
         result.Content         = CreateMsg(req);
     });
 }
Пример #19
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext <AppDbContext>(options =>
                                                 options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"),
                                                                      o => o.MigrationsAssembly("AspNetCore.Data.EF")));

            services.AddIdentity <AppUser, AppRole>()
            .AddEntityFrameworkStores <AppDbContext>()
            .AddDefaultTokenProviders();

            // Configure Identity
            services.Configure <IdentityOptions>(options =>
            {
                // Password settings
                options.Password.RequireDigit           = true;
                options.Password.RequiredLength         = 6;
                options.Password.RequireNonAlphanumeric = false;
                options.Password.RequireUppercase       = false;
                options.Password.RequireLowercase       = false;

                // Lockout settings
                options.Lockout.DefaultLockoutTimeSpan  = TimeSpan.FromMinutes(30);
                options.Lockout.MaxFailedAccessAttempts = 10;

                // User settings
                options.User.RequireUniqueEmail = true;
            });

            services.AddMvc();

            services.AddCors(o => o.AddPolicy("AspNetCoresPolicy", builder =>
            {
                builder.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader();
            }));

            //Config authen
            //services.AddAuthentication(o =>
            //{
            //    o.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            //    o.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            //}).AddJwtBearer(cfg =>
            //{
            //    cfg.RequireHttpsMetadata = false;
            //    cfg.SaveToken = true;

            //    cfg.TokenValidationParameters = new TokenValidationParameters()
            //    {
            //        ValidIssuer = Configuration["Tokens:Issuer"],
            //        ValidAudience = Configuration["Tokens:Issuer"],
            //        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Tokens:Key"]))
            //    };
            //});

            services.AddAutoMapper();

            // Add application services.
            services.AddSingleton(Mapper.Configuration);
            services.AddScoped <IMapper>(sp => new Mapper(sp.GetRequiredService <AutoMapper.IConfigurationProvider>(), sp.GetService));
            services.AddTransient(typeof(IUnitOfWork), typeof(EFUnitOfWork));
            services.AddTransient(typeof(IRepository <,>), typeof(EFRepository <,>));

            services.AddScoped <SignInManager <AppUser>, SignInManager <AppUser> >();
            services.AddScoped <UserManager <AppUser>, UserManager <AppUser> >();
            services.AddScoped <RoleManager <AppRole>, RoleManager <AppRole> >();

            //services.AddTransient<IProductCategoryService, ProductCategoryService>();

            //Register for service
            ServiceRegister.Register(services);

            services.AddMvc()
            .AddViewLocalization()
            .AddDataAnnotationsLocalization()
            .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());

            services.AddSwaggerGen(s =>
            {
                s.SwaggerDoc("v1", new Info
                {
                    Version     = "v1",
                    Title       = "ASP NET Core Project",
                    Description = "ASP NET Core - API Swagger surface",
                    License     = new License {
                        Name = "MIT", Url = "https://github.com/laptrinhviet/AspNetCore.git"
                    }
                });
            });
        }
Пример #20
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMemoryCache();
            services.AddMvc().AddDataAnnotationsLocalization().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            services.AddMvcCore().AddVersionedApiExplorer(o => o.GroupNameFormat = "'v'VVV").AddAuthorization();
            ServiceRegister.Register(services);
            services.AddCors(options =>
            {
                options.AddPolicy("AllowAllOrigins",
                                  builder =>
                {
                    builder
                    .WithHeaders("accept", "content-type", "origin", "x-custom-header")
                    .AllowAnyOrigin()
                    .AllowAnyHeader()
                    .AllowAnyMethod();
                });
            });
            //services.AddCustomAuthentication(Configuration);
            services.AddApiVersioning(config =>
            {
                config.ReportApiVersions = true;
                config.AssumeDefaultVersionWhenUnspecified = true;
                config.DefaultApiVersion = new ApiVersion(1, 0);
                config.ApiVersionReader  = new HeaderApiVersionReader("api-version");
            });

            services.AddSingleton <IActionContextAccessor, ActionContextAccessor>();
            services.AddJsonLocalization(opts => opts.ResourcesPath = Configuration["LANGUAGE_PATH"]);
            //Multiple language setting
            var supportedCultures = new[]
            {
                new CultureInfo(StaticVariable.EnCulture),
                new CultureInfo(StaticVariable.VnCulture)
            };

            var localizationOptions = new RequestLocalizationOptions()
            {
                DefaultRequestCulture = new RequestCulture(culture: StaticVariable.EnCulture, uiCulture: StaticVariable.EnCulture),
                SupportedCultures     = supportedCultures,
                SupportedUICultures   = supportedCultures
            };

            localizationOptions.RequestCultureProviders = new[]
            {
                new RouteDataRequestCultureProvider()
                {
                    RouteDataStringKey = "lang",
                    Options            = localizationOptions
                }
            };

            services.AddSingleton(localizationOptions);
            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer(jwtBearerOptions =>
            {
                jwtBearerOptions.TokenValidationParameters = new TokenValidationParameters()
                {
                    ValidateActor            = false,
                    ValidateAudience         = true,
                    ValidateLifetime         = true,
                    ValidateIssuerSigningKey = true,
                    ValidIssuer      = Configuration["Issuer"],
                    ValidAudience    = Configuration["Audience"],
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["SigningKey"]))
                };
                jwtBearerOptions.SaveToken = true;
            });
            services.AddSwaggerGen(
                options =>
            {
                var provider = services.BuildServiceProvider()
                               .GetRequiredService <IApiVersionDescriptionProvider>();

                foreach (var description in provider.ApiVersionDescriptions)
                {
                    options.SwaggerDoc(
                        description.GroupName,
                        new Info()
                    {
                        Title       = $"eFMS Mobile API {description.ApiVersion}",
                        Version     = description.ApiVersion.ToString(),
                        Description = "eFMS Mobile API Document"
                    });
                }
                options.DocumentFilter <SwaggerAddEnumDescriptions>();

                options.AddSecurityDefinition("oauth2", new OAuth2Scheme
                {
                    Flow             = "implicit", // just get token via browser (suitable for swagger SPA)
                    AuthorizationUrl = "",
                    Scopes           = new Dictionary <string, string> {
                        { "apimobile", "Mobile API" }
                    }
                });

                options.OperationFilter <AuthorizeCheckOperationFilter>();    // Required to use access token
            });
        }