public EFUserService(VideoGamerDbContext context,
                      IRegisterService registerService,
                      IPasswordHasher passwordHasher
                      ) : base(context)
 {
     _registerService = registerService;
     _passwordHasher  = passwordHasher;
 }
Beispiel #2
0
        public GameFluentValidator(VideoGamerDbContext context)
        {
            _context = context;

            CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(g => g.Name)
            .NotEmpty()
            .WithMessage("Name is required.")
            .MinimumLength(5)
            .WithMessage("Name must be at least 5 characters long.")
            .MaximumLength(255)
            .WithMessage("Name can't be longer than 255 characters.")
            .Must(BeUniqueName)
            .WithMessage("Name already exists.");

            RuleFor(g => g.Engine)
            .NotEmpty()
            .WithMessage("Engine is required.")
            .MinimumLength(5)
            .WithMessage("Engine must be at least 5 characters long.")
            .MaximumLength(255)
            .WithMessage("Engine can't be longer than 255 characters.");

            RuleFor(g => g.AgeLabel)
            .NotEmpty()
            .WithMessage("Age label is required.")
            .IsInEnum()
            .WithMessage("Must be of the offered ones.");

            RuleFor(g => g.ReleaseDate)
            .NotEmpty()
            .WithMessage("Release Date is required.")
            .GreaterThan(DateTime.UnixEpoch)
            .WithMessage("Release date must be greater than 1970.");

            RuleFor(g => g.GameMode)
            .NotEmpty()
            .WithMessage("Game mode is required.")
            .IsInEnum()
            .WithMessage("Must be of the offered ones.");

            RuleFor(g => g.PublisherId)
            .NotEmpty()
            .WithMessage("Publisher is required.")
            .Must(ExistInDbPublisher)
            .WithMessage("Publisher doesn't exist.");

            RuleFor(g => g.DeveloperId)
            .NotEmpty()
            .WithMessage("Developer is required.")
            .Must(ExistInDb)
            .WithMessage("Developer doesn't exist.");

            RuleFor(g => g.Path)
            .NotEmpty()
            .WithMessage("Image is required.");
        }
        public GenreFluentValidator(VideoGamerDbContext context)
        {
            _context = context;

            CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(g => g.Name)
            .NotEmpty()
            .WithMessage("Name is required.")
            .MinimumLength(3)
            .WithMessage("Name must be at least 3 characters long.")
            .MaximumLength(255)
            .WithMessage("Name can't be greather than 255 characters long.")
            .Must(BeUniqueName)
            .WithMessage("Name already exitsts.");
        }
        public PublisherFluentValidator(VideoGamerDbContext context)
        {
            _context = context;

            CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(p => p.Name)
            .NotEmpty()
            .WithMessage("Name is required.")
            .MinimumLength(5)
            .WithMessage("Name must be at least 5 characters long.")
            .MaximumLength(200)
            .WithMessage("Name can't be longer than 200 characters long.")
            .Must(BeUniqueName)
            .WithMessage("Name already exists.");

            RuleFor(d => d.HQ)
            .NotEmpty()
            .WithMessage("HQ is required.")
            .MinimumLength(5)
            .WithMessage("HQ must be at least 5 characters long.")
            .MaximumLength(200)
            .WithMessage("Name can't be longer than 200 characters long.");

            RuleFor(p => p.ISIN)
            .NotEmpty()
            .WithMessage("ISIN is required.")
            .Length(12)
            .WithMessage("ISIN must be exactly 12 characters.")
            .Must(BeUniqueISIN)
            .WithMessage("ISIN already exists.");

            RuleFor(p => p.Founded)
            .NotEmpty();

            RuleFor(p => p.Website)
            .NotEmpty()
            .WithMessage("Website is required.")
            .MinimumLength(10)
            .WithMessage("Website must be at least 10 characters long.")
            .MaximumLength(255)
            .WithMessage("Website can't be longer than 255 characters long.")
            .Must(BeUniqueWebSite)
            .WithMessage("Website already exists.");
        }
Beispiel #5
0
        public RegisterFluentValidator(VideoGamerDbContext context)
        {
            _context = context;

            CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(u => u.Email)
            .NotEmpty()
            .WithMessage("Email address is required.")
            .MaximumLength(255)
            .WithMessage("Email address can't be longer than 255 characters.")
            .EmailAddress()
            .WithMessage("Invalid email address.")
            .Must(BeUniqueEmailInDatabase)
            .WithMessage("Email address already exists.");

            RuleFor(u => u.FirstName)
            .NotEmpty()
            .WithMessage("Firstname name is required.")
            .MinimumLength(3)
            .WithMessage("Firstname must be at least 3 characters long.")
            .MaximumLength(70)
            .WithMessage("Firstname can't be longer than 70 characters.")
            .Matches(new Regex("^[A-Z][a-z]+$"))
            .WithMessage("First name must start with capital letter.");

            RuleFor(u => u.LastName)
            .NotEmpty()
            .WithMessage("Last name is required.")
            .MinimumLength(3)
            .WithMessage("Lastname must be at least 3 characters long.")
            .MaximumLength(70)
            .WithMessage("Lastname can't be longer than 70 characters.")
            .Matches(new Regex("^[A-Z][a-z]+$"))
            .WithMessage("Last name must start with capital letter.");

            RuleFor(u => u.Password)
            .NotEmpty()
            .WithMessage("Password is required.")
            .MinimumLength(8)
            .WithMessage("Password must be at least 8 characters long.");
        }
Beispiel #6
0
        public DeveloperFluentValidatior(VideoGamerDbContext context)
        {
            _context = context;

            CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(d => d.Name)
            .NotEmpty()
            .WithMessage("Name is required.")
            .MinimumLength(5)
            .WithMessage("Name must be at least 5 characters long.")
            .MaximumLength(200)
            .WithMessage("Name can't be longer than 200 characters long.")
            .Must(BeUniqueName)
            .WithMessage("Name already exists.");

            RuleFor(d => d.HQ)
            .NotEmpty()
            .WithMessage("HQ is required.")
            .MinimumLength(5)
            .WithMessage("HQ must be at least 5 characters long.")
            .MaximumLength(200)
            .WithMessage("HQ can't be longer than 200 characters long.");

            RuleFor(d => d.Founded)
            .NotEmpty()
            .GreaterThan(new DateTime(1970, 1, 1))
            .WithMessage("Date must be greater than 1970.")
            .WithMessage("Foundation date is required.");

            RuleFor(d => d.Website)
            .NotEmpty()
            .WithMessage("Website URL is required.")
            .MinimumLength(10)
            .WithMessage("Website URL must be at least 5 characters long.")
            .MaximumLength(255)
            .WithMessage("Website URL can't be longer than 255 characters long.")
            .SetValidator(new UriValidator("Invalid URL address."))
            .Must(BeUniqueWebSite)
            .WithMessage("Website already exists.");
        }
Beispiel #7
0
        // TODO: HTTP ONLY cookie flag

        //	services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
        //	.AddJwtBearer(options => {
        //	options.Events = new JwtBearerEvents
        //	{
        //		OnMessageReceived = context =>
        //		{
        //			context.Token = context.Request.Cookies["CookieName"];
        //			return Task.CompletedTask;
        //		}
        //	};
        //});


        public void Configure(IApplicationBuilder app, IHostingEnvironment env, VideoGamerDbContext context)
        {
            var DbSeeder = new DatabaseSeeder(context);

            DbSeeder.Seed();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseCors(policy =>
                {
                    policy.AllowAnyHeader();
                    policy.AllowAnyMethod();
                    policy.AllowAnyOrigin();
                });
            }
            else
            {
                app.UseHsts();
            }

            app.UseAuthentication();

            app.UseHttpsRedirection();
            app.UseMvc();

            app.UseSwagger();

            // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
            // specifying the Swagger JSON endpoint.
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "VideoGamerAPI V1");
                c.RoutePrefix = string.Empty;
            });
        }
 public EFDeveloperService(VideoGamerDbContext context) : base(context)
 {
 }
 public GamesController(IGameService gameService, VideoGamerDbContext context)
 {
     _gameService = gameService;
     _context     = context;
 }
 public EFRegisterService(VideoGamerDbContext context, IPasswordHasher hasher)
 {
     _context = context;
     _hasher  = hasher;
 }
 public EFGameGenreService(VideoGamerDbContext context) => _context = context;
 public DeveloperValidationTests(VideoGamerDbContext context) => _context = context;
 public GenreUpdateFluentValidator(VideoGamerDbContext context, int id) : base(context)
 {
     _id = id;
 }
Beispiel #14
0
 public GamesController(IGameService gamesService, VideoGamerDbContext context, IFileService fileService)
 {
     _gamesService = gamesService;
     _context      = context;
     _fileService  = _fileService;
 }
 public EFGenreService(VideoGamerDbContext context) : base(context)
 {
 }
Beispiel #16
0
 public DatabaseSeeder(VideoGamerDbContext context) => _context = context;
 public RegisterController(IRegisterService registerService, VideoGamerDbContext context, IEmailService emailService)
 {
     _registerService = registerService;
     _context         = context;
     _emailService    = emailService;
 }
Beispiel #18
0
 public BaseService(VideoGamerDbContext context) => _context = context;
Beispiel #19
0
 public UserValidationTests(VideoGamerDbContext context)
 {
     _context = context;
 }
Beispiel #20
0
 public GenresController(IGenreService genreService, VideoGamerDbContext context)
 {
     _genreService = genreService;
     _context      = context;
 }
Beispiel #21
0
 public EFGamePlatformService(VideoGamerDbContext context) => _context = context;
 public EFPublisherService(VideoGamerDbContext context) : base(context)
 {
 }
 public PublishersController(IPublisherService publisherService, VideoGamerDbContext context)
 {
     _publisherService = publisherService;
     _context          = context;
 }
 public DevelopersController(IDeveloperService developerService, VideoGamerDbContext context)
 {
     _developerService = developerService;
     _context          = context;
 }
 public UsersController(IUserService service, VideoGamerDbContext context)
 {
     _userService = service;
     _context     = context;
 }
Beispiel #26
0
 public EFGameService(VideoGamerDbContext context, IFileService fileService) : base(context)
 {
     _fileService = fileService;
 }
Beispiel #27
0
 public EFLoginService(VideoGamerDbContext context, IConfiguration config, IPasswordHasher hasher)
 {
     _context = context;
     _config  = config;
     _hasher  = hasher;
 }