public IActionResult Register(RegValidator data) { if (UserExists(data.Email)) { ModelState.AddModelError("Email", "Email is in use"); } if (ModelState.IsValid) { User user = new User { Firstname = data.Firstname, Lastname = data.Lastname, Email = data.Email, Password = data.Password, }; PasswordHasher <User> Hasher = new PasswordHasher <User>(); user.Password = Hasher.HashPassword(user, user.Password); _context.users.Add(user); _context.SaveChanges(); User user1 = _context.users.SingleOrDefault(u => u.Email == data.Email); HttpContext.Session.SetInt32("ID", user1.UserId); return(RedirectToAction("Home")); } else { return(View("Index")); } }
public override void Given() { InputFileContent = GetInputFilecontent(); var failures = new List <ValidationFailure>(); expectedRow = new RegistrationCsvRecordResponse { RowNum = 1, Uln = 123, FirstName = "F name", LastName = "L name", DateOfBirth = new DateTime(2000, 1, 1), ProviderUkprn = 1234, CoreCode = "989", AcademicYear = 2020, SpecialismCodes = new List <string> { "spl1" } }; var regCsvResponse = new ValidationResult(failures); RegValidator.ValidateAsync(Arg.Any <RegistrationCsvRecordRequest>()).Returns(regCsvResponse); DataParser.ParseRow(Arg.Any <RegistrationCsvRecordRequest>(), Arg.Any <int>()).Returns(expectedRow); }
public IActionResult Register(RegValidator model) { if (ModelState.IsValid) { List <User> users = _context.Users.ToList(); User existing = users.SingleOrDefault(u => u.username == model.username); if (existing == null) { PasswordHasher <User> hasher = new PasswordHasher <User>(); User newUser = new User { first_name = model.first_name, last_name = model.last_name, username = model.username, wallet = 1000 }; newUser.password = hasher.HashPassword(newUser, model.password); _context.Add(newUser); _context.SaveChanges(); users = _context.Users.ToList(); User justCreated = users.Single(u => u.username == newUser.username); HttpContext.Session.SetInt32("id", justCreated.id); HttpContext.Session.SetString("name", justCreated.first_name); return(RedirectToAction("Main")); } ModelState.AddModelError("username", "This username is already in use."); } return(View("Index")); }
public override void Given() { InputFileContent = GetInputFilecontent(); var errorMessage = string.Format(ValidationMessages.MustHaveDigitsWithLength, ResultFluentHeader.CoreCode, 8); var failures = new List <ValidationFailure> { new ValidationFailure(ResultFileHeader.CoreCode, errorMessage), }; expectedRow = new ResultCsvRecordResponse { Uln = 123, RowNum = 1, ValidationErrors = new List <BulkProcessValidationError> { new BulkProcessValidationError { RowNum = "1", Uln = "1234567890", ErrorMessage = errorMessage }, } }; var regCsvResponse = new ValidationResult(failures); RegValidator.ValidateAsync(Arg.Any <ResultCsvRecordRequest>()).Returns(regCsvResponse); DataParser.ParseErrorObject(Arg.Any <int>(), Arg.Any <ResultCsvRecordRequest>(), regCsvResponse).Returns(expectedRow); }
public override void Given() { InputFileContent = GetInputFilecontent(); var failures = new List <ValidationFailure> { new ValidationFailure(ResultFileHeader.Uln, string.Format(ValidationMessages.Required, ResultFluentHeader.Uln)), }; var regCsvResponse = new ValidationResult(failures); RegValidator.ValidateAsync(Arg.Any <ResultCsvRecordRequest>()).Returns(regCsvResponse); DataParser.ParseErrorObject(Arg.Any <int>(), Arg.Any <ResultCsvRecordRequest>(), regCsvResponse).ReturnsNull(); }
public override void Given() { InputFileContent = GetInputFilecontent(); var failures = new List <ValidationFailure> { new ValidationFailure("ULN", "Uln required"), new ValidationFailure("First name", "First name required"), }; var regCsvResponse = new ValidationResult(failures); RegValidator.ValidateAsync(Arg.Any <RegistrationCsvRecordRequest>()).Returns(regCsvResponse); DataParser.ParseErrorObject(Arg.Any <int>(), Arg.Any <RegistrationCsvRecordRequest>(), regCsvResponse).ReturnsNull(); }
public override void Given() { InputFileContent = GetInputFilecontent(); var failures = new List <ValidationFailure>(); expectedRow = new ResultCsvRecordResponse { RowNum = 1, Uln = 1234567890, CoreCode = "12345678", CoreAssessmentSeries = "Summer 2021", CoreGrade = "A", }; var regCsvResponse = new ValidationResult(failures); RegValidator.ValidateAsync(Arg.Any <ResultCsvRecordRequest>()).Returns(regCsvResponse); DataParser.ParseRow(Arg.Any <ResultCsvRecordRequest>(), Arg.Any <int>()).Returns(expectedRow); }
public override void Given() { InputFileContent = GetInputFilecontent(); var failures = new List <ValidationFailure> { new ValidationFailure("First name", "First name required"), }; expectedRow = new RegistrationCsvRecordResponse { Uln = 123, RowNum = 1, ValidationErrors = new List <BulkProcessValidationError> { new BulkProcessValidationError { RowNum = "1", Uln = "123", ErrorMessage = "First name required" } } }; var regCsvResponse = new ValidationResult(failures); RegValidator.ValidateAsync(Arg.Any <RegistrationCsvRecordRequest>()).Returns(regCsvResponse); DataParser.ParseErrorObject(Arg.Any <int>(), Arg.Any <RegistrationCsvRecordRequest>(), regCsvResponse).Returns(expectedRow); }
public override void Given() { InputFileContent = GetInputFilecontent(); var failures = new List <ValidationFailure> { new ValidationFailure("Core code", "Core code must have 8 digits only"), }; expectedRow = new AssessmentCsvRecordResponse { Uln = 123, RowNum = 1, ValidationErrors = new List <BulkProcessValidationError> { new BulkProcessValidationError { RowNum = "1", Uln = "123", ErrorMessage = "Core code must have 8 digits only" } } }; var regCsvResponse = new ValidationResult(failures); RegValidator.ValidateAsync(Arg.Any <AssessmentCsvRecordRequest>()).Returns(regCsvResponse); DataParser.ParseErrorObject(Arg.Any <int>(), Arg.Any <AssessmentCsvRecordRequest>(), regCsvResponse).Returns(expectedRow); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { //---------------------------------------------------- IConfigService configService = new XMLConfigService("Config.xml"); IMessenger messenger_sms = new SmsMessenger(); IMessenger messenger_email = new EmailMessenger(); IPassHasher passHasher = new SHA256Hasher(); IKeyGenerator smallKeyGenerator = new SmallKeyGenerator(); IKeyGenerator bigKeyGenerator = new BigKeyGenerator(); IRegValidator regValidator = new RegValidator(); IUOWFactory UOWFactory = new EFUOWFactory(configService.ConnectionString); IGetUserDTO getUserDTO = new GetUserDTO(); //---------------------------------------------------- IClaimService claimService = new ClaimService(UOWFactory); //---------------------------------------------------- services.AddSingleton <IConfigService, IConfigService>( serviceProvider => { return(configService); } ); //---------------------------------------------------- services.AddSingleton <IGetUserDTO, IGetUserDTO>( serviceProvider => { return(getUserDTO); } ); //---------------------------------------------------- services.AddSingleton <IUOWFactory, IUOWFactory>( serviceProvider => { return(UOWFactory); } ); services.AddSingleton <IClaimService, ClaimService>(); //----------------------------------------------------- services.AddSingleton <IUserService, UserAuthService>( serviceProvider => { return(new UserAuthService( UOWFactory, new AuthKeyService(smallKeyGenerator, messenger_sms), new AuthKeyService(smallKeyGenerator, messenger_email), passHasher, regValidator, claimService, bigKeyGenerator, getUserDTO )); } ); services.AddSingleton <IProfileService, ProfileService>( serviceProvider => { IConfirmService emailCS = new ConfirmService( new ConfirmKeyService(bigKeyGenerator, messenger_email) ); IConfirmService phoneCS = new ConfirmService( new ConfirmKeyService(smallKeyGenerator, messenger_sms) ); return(new ProfileService( UOWFactory, regValidator, emailCS, phoneCS, passHasher, claimService, getUserDTO )); } ); services.AddSingleton <IRestorePasswordService, RestorePasswordService>( serviceProvider => { var emaiCKS = new ConfirmKeyService(bigKeyGenerator, messenger_email); var phoneCKS = new ConfirmKeyService(smallKeyGenerator, messenger_sms); return(new RestorePasswordService(UOWFactory, emaiCKS, phoneCKS, new RegValidator(), passHasher)); } ); //---------Forum Services-------------------------------- IGroupRules groupRules = new GroupRules(); ISectionRules sectionRules = new SectionRules(groupRules); IThemeRules themeRules = new ThemeRules(sectionRules); IMessageRules messageRules = new MessageRules(themeRules, sectionRules); IDTOHelper dtoHelper = new DTOHelper(); IForumDTOHelper forumDTOHelper = new ForumDTOHelper(messageRules, themeRules, sectionRules, groupRules, dtoHelper); services.AddSingleton <IGroupService, GroupService>( serviceProvider => { return(new GroupService(groupRules, getUserDTO, UOWFactory, forumDTOHelper)); } ); services.AddSingleton <ISectionService, SectionService>( serviceProvider => { return(new SectionService(sectionRules, getUserDTO, UOWFactory, forumDTOHelper)); } ); services.AddSingleton <IThemeService, ThemeService>( serviceProvider => { return(new ThemeService(themeRules, getUserDTO, UOWFactory, forumDTOHelper)); } ); services.AddSingleton <IMessageService, MessageService>( serviceProvider => { return(new MessageService(messageRules, getUserDTO, UOWFactory, forumDTOHelper)); } ); services.AddSingleton <IForumService, ForumService>( serviceProvider => { return(new ForumService(getUserDTO, UOWFactory, forumDTOHelper, groupRules)); } ); //--------------------Page Services-------------------- IPageRules pageRules = new PageRules(); INoteRules noteRules = new NoteRules(); services.AddSingleton <IPageService, PageService>( serviceProvider => { return(new PageService(pageRules, UOWFactory, getUserDTO, dtoHelper)); } ); services.AddSingleton <IBlogService, BlogService>( serviceProvider => { return(new BlogService(noteRules, UOWFactory, getUserDTO, dtoHelper)); } ); //------------------------------------------------------- services.AddSingleton <IImageService, ImageService>( serviceProvider => { return(new ImageService(UOWFactory, getUserDTO)); } ); //------------------------------------------- services.AddSingleton <IAdminService, AdminService>( serviceProvider => { return(new AdminService(getUserDTO, UOWFactory)); } ); services.Configure <FormOptions>(x => { x.ValueCountLimit = int.MaxValue; x.MemoryBufferThreshold = int.MaxValue; x.ValueLengthLimit = int.MaxValue; x.MultipartBodyLengthLimit = int.MaxValue; // In case of multipart }); //------------------------------------------------------ services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.LoginPath = new Microsoft.AspNetCore.Http.PathString("/Account/Login"); options.LogoutPath = new Microsoft.AspNetCore.Http.PathString("/Account/Logout"); options.Events.OnValidatePrincipal = PrincipalValidator.ValidateAsync; }); services.AddMvc(); }