public async Task <Registration.Models.OutModel> Registration(Registration.Models.InModel inModel, CancellationToken cancellationToken = default) { RegistrationValidator validator = new RegistrationValidator(); await validator.ValidateAndThrowAsync(inModel); var user = await _dbContext.Users.FirstOrDefaultAsync(x => x.Username == inModel.UserName || x.Email == inModel.Email, cancellationToken); User newUser; if (user != null) { throw new InvalidOperationException($"User with {user.Email} or {user.Username} already exist."); } byte[] genSalt = Cryptor.GenerateSalt(); newUser = new User { Username = inModel.UserName, Email = inModel.Email, PasswordHash = Cryptor.CalculateHashOfPassword(inModel.PasswordHash) }; _dbContext.Users.Add(newUser); await _dbContext.SaveChangesAsync(cancellationToken); return(new Registration.Models.OutModel { IdUser = newUser.Id }); }
/// <summary> /// State is intialised on applicaton start. /// Usually I would use Autofac for this - but it wasn't compatible with WCF without the SVC file. /// I opted to not use an SVC file because I like to be able to explicitly state my routes to ensure they are REST /// </summary> public static SiteState Initialise(IConfiguration config, IRepository <User, UserPet> users, IRepository <Pet, PetMetric> pets, IRepository <Animal, AnimalMetric> animals, IRepository <Interaction, MetricInteraction> interactions, IRepository <Metric, MetricInteraction> metrics, IDataProvider <User> userDataProvider, ISiteRequestProcessor requestProcessor, IContainer userSessionContainer) { if (IsInitalised) { throw new Exception("The site state is already initialised"); } //Builder var responseBuilder = ResponseBuilder.Initialise(animals, metrics, pets, interactions); //GameData var gameState = GameDataState.Initialize(config, animals, metrics, interactions, responseBuilder); //Validators var registrationValidator = new RegistrationValidator(users); var userSessionRequestValidator = new NewUserSessionValidator(users, new Encrypter(config)); var siteValidator = new SiteRequestRequestValidator(registrationValidator, userSessionRequestValidator); IsInitalised = true; return(new SiteState(gameState, users, pets, animals, interactions, requestProcessor, siteValidator, config, responseBuilder, userSessionContainer)); }
public ActionResult Register(UserViewModel model) { try { var validator = new RegistrationValidator(); var result = validator.Validate(model); if (result.IsValid) { XmlDal.RegisterNewUser(model); Response.StatusCode = (int)HttpStatusCode.OK; return(new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new[] { "New user " + model.Email + " was successfully registered." } }); } Response.StatusCode = (int)HttpStatusCode.BadRequest; return(new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = GetPrettifiedValidationError(result) }); } catch (Exception ex) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(new JsonResult { Data = Resources.GenericErrorMessage + "\n" + ex.Message }); } }
public async Task <Registration.OutModel> Registration([FromBody] Registration.InModel inModel) { RegistrationValidator validationRules = new RegistrationValidator(); await validationRules.ValidateAndThrowAsync(inModel); return(await _iAccessControlService.Registration(inModel)); }
public void IsValid_Returns_validCode_when_Required_fields_are_Empty() { var mockobject = new Mock <IUserData>(); mockobject.Setup(x => x.GetEmailAddress(string.Empty)).Returns(string.Empty); RegistrationValidator validator = new RegistrationValidator(mockobject.Object); validator.IsValid(new UserDataObject()); // Firstname is required Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Registration.ERROR_FIRSTNAME_REQUIRED)); // Lastname is required Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Registration.ERROR_LASTNAME_REQUIRED)); // Password is required Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Password.ERROR_PASSWORD_REQUIRED)); // Retype password is required Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Password.ERROR_REPASSWORD_REQUIRED)); // Email address is required Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Registration.ERROR_EMAIL_REQUIRED)); // Company is required Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Registration.ERROR_COMPANY_REQUIRED)); // Phone is required Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Registration.ERROR_PHONE_REQUIRED)); }
public async Task <IActionResult> Registrate([FromForm] RegistrationViewModel model) { RegistrationValidator validator = new RegistrationValidator(_userManager); var results = validator.Validate(model); if (!results.IsValid) { TempData[TextConstants.TempDataErrorText] = ValidatorHelper.GetErrorString(results.Errors); return(View("Registration", model)); } List <KeyValuePair <string, ProductRoleEnum> > products = null; if (!string.IsNullOrEmpty(model.ProductKey) && !string.IsNullOrEmpty(model.Role)) { products = new List <KeyValuePair <string, ProductRoleEnum> >() { new KeyValuePair <string, ProductRoleEnum>(model.ProductKey, (ProductRoleEnum)Int32.Parse(model.Role)) }; } _userManager.AddUser(model.Username, null, null, HashComputer.ComputePasswordHash(model.Password), false, products); await Authenticate(model.Username, true); if (!string.IsNullOrEmpty(model.TicketId)) { _ticketManager.RemoveTicket(Guid.Parse(model.TicketId)); } return(RedirectToAction("Index", "Home")); }
public override void Given() { Logger = new Logger <CsvHelperService <RegistrationCsvRecordRequest, CsvResponseModel <RegistrationCsvRecordResponse>, RegistrationCsvRecordResponse> >(new NullLoggerFactory()); DataParser = new RegistrationParser(); Validator = new RegistrationValidator(); Service = new CsvHelperService <RegistrationCsvRecordRequest, CsvResponseModel <RegistrationCsvRecordResponse>, RegistrationCsvRecordResponse>(Validator, DataParser, Logger); FilePath = Path.Combine(Path.GetDirectoryName(GetCodeBaseAbsolutePath()), _dataFilePath); }
// Implements Registration of user informations (suivent) / modifying registered user informations (modifier) private async void NextModifyBtn_Click(object sender, EventArgs e) { /* Perform add user registration to db */ // Get user data to a model Adherent newAdh = new Adherent { Nom = NameTB.Text, Prenom = PrenomTB.Text, Sexe = SexeCB.SelectedItem.ToString(), Cin = CinTB.Text, Tel = TelTB.Text, TelUrgence = TelUrgenceTB.Text, Adresse = AdresseTB.Text, Ville = VilleTB.Text, CNE = (CneTB.Text != "CNE Pour Bénificier d'une réduction étudiant") ? CneTB.Text : null }; // Instanciating validators RegistrationValidator validator = new RegistrationValidator(); ValidationResult results = await validator.ValidateAsync(newAdh); // User input data is not valid if (!results.IsValid) { // Display Errors to user foreach (ValidationFailure failure in results.Errors) { UserErrors.Add(failure.ErrorMessage); } MetroFramework.MetroMessageBox.Show(this, string.Join("\n", UserErrors), "Données Non Valides", MessageBoxButtons.OK, MessageBoxIcon.Error); // Clear errors for another use and quit UserErrors.Clear(); return; } // All is valid let's attach adherent informations to the user using (ClubDbContext _context = new ClubDbContext()) { var userInDb = await _context.Users.FirstOrDefaultAsync(u => u.Id == currentUser.Id); if (userInDb != null) { userInDb.Adherent = newAdh; } await _context.SaveChangesAsync(); userInDb.AdherentId = userInDb.Adherent.CodeAdh; await _context.SaveChangesAsync(); } // call the event to quit this shit OnSetRegistration(); }
public AdminControllerMethods(AdminQueries _dbQuery, Mailer _mailer, IHttpContextAccessor httpContextAccesssor) { _httpContextAccesssor = httpContextAccesssor; _currentDomain = _httpContextAccesssor.HttpContext.Request.Host.Value; dbQuery = _dbQuery; mailer = _mailer; authenticator = new Auth(_dbQuery); validator = new RegistrationValidator(_dbQuery); _tGen = new TokenGenerator(); }
public int Register(UserDataObject user) { RegistrationValidator validator = new RegistrationValidator(userData); if (!validator.IsValid(user)) { throw new RegistrationException(validator.ErrorCodes); } user.EncryptedPassword = IGenProtector.Encrypt(user.Password); return(userData.Add(user)); }
public void RegistrationValidator_AggregateException() { //Mock var mock = new Mock <IUserRepository>(); mock.Setup(x => x.GetItemAsync(null)).Returns(Task.FromResult <User>(null)); //Arrange var manager = new RegistrationValidator(mock.Object, _log); //Act and Assert Assert.ThrowsException <AggregateException>(() => manager.GetValidatorsResult(new User()).Result, "UserLogin property is null. Invalid value."); }
public LoginPanel(Form form) : base(form, OpenXConst, OpenYConst, ClosedXConst, ClosedYConst, TransitionDirectionConst, TransitionAccelerationConst, DestinationOpenConst, DestinationClosedConst) { InitializeComponent(); this.loginHandler = new LoginHandler(); this.loginValidator = new LoginValidator(); this.regHandler = new RegistrationHandler(); this.regValidator = new RegistrationValidator(); this.regButton.UseSelectable = false; this.logButton.UseSelectable = false; this.Select(); }
public void IsValid_should_return_invalid_email_errorcode_when_invalid_email_ispassed(string email) { var mockobject = new Mock <IUserData>(); mockobject.Setup(x => x.GetEmailAddress(string.Empty)).Returns(string.Empty); RegistrationValidator validator = new RegistrationValidator(mockobject.Object); validator.IsValid(new UserDataObject { Email = email }); Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Registration.ERROR_EMAIL_INVALID)); }
public void IsValid_should_not_return_any_phone_errorcodes_when_phonenumber_isvalid(string phone) { var mockobject = new Mock <IUserData>(); mockobject.Setup(x => x.GetEmailAddress(string.Empty)).Returns(string.Empty); RegistrationValidator validator = new RegistrationValidator(mockobject.Object); validator.IsValid(new UserDataObject { Phone = phone }); Assert.IsFalse(validator.ErrorCodes.Contains(ErrorCodes.Registration.ERROR_PHONE_INVALID)); }
private static void Step2(List <Vehicle> vehicles) { // get my list of cars with valid registrations var validRegistrationVehicles = vehicles.Where(v => RegistrationValidator.Validate(v.Registration)).ToList(); var csvBuilder = new VehicleCsvBuilder(); var csv = csvBuilder.Generate(validRegistrationVehicles); File.WriteAllText("Valid Registration Vehicles.csv", csv); Console.WriteLine("All CSVs have been generated, and can be found within the 'bin' folder"); Console.WriteLine($"The total count of vehicles with a valid registration is: {validRegistrationVehicles.Count}"); }
public void IsValid_should_return_password_invalid_errorcode_when_password_isabove_10_characters() { var mockobject = new Mock <IUserData>(); mockobject.Setup(x => x.GetEmailAddress(string.Empty)).Returns(string.Empty); RegistrationValidator validator = new RegistrationValidator(mockobject.Object); validator.IsValid(new UserDataObject { Password = "******", RePassword = "******" }); Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Password.ERROR_PASSWORD_STRENGTH)); }
public void Isvalid_should_return_password_donotmatch_errorcode_when_passwords_are_different(string password, string repassword) { var mockobject = new Mock <IUserData>(); mockobject.Setup(x => x.GetEmailAddress(string.Empty)).Returns(string.Empty); RegistrationValidator validator = new RegistrationValidator(mockobject.Object); validator.IsValid(new UserDataObject { Password = password, RePassword = repassword }); Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Password.ERROR_PASSWORD_DO_NOT_MATCH)); }
public void IsValid_should_return_email_registered_errorcode_when_registered_email_ispassed() { string email = "*****@*****.**"; var mockobject = new Mock <IUserData>(); mockobject.Setup(x => x.GetEmailAddress(email)).Returns(email); RegistrationValidator validator = new RegistrationValidator(mockobject.Object); validator.IsValid(new UserDataObject { Email = email }); Assert.IsTrue(validator.ErrorCodes.Contains(ErrorCodes.Registration.ERROR_EMAIL_IS_REGISTERED)); }
public void RegistrationValidator_HasItems_Failed() { //Mock var mock = new Mock <IUserRepository>(); mock.Setup(x => x.GetItemAsync(It.IsAny <Expression <Func <User, bool> > >())).Returns(Task.FromResult(_user)); //Arrange var manager = new RegistrationValidator(mock.Object, _log); //Act var list = manager.GetValidatorsResult(_user).Result.ToList(); //Assert Assert.IsTrue(manager.ReturnObject != null); Assert.IsTrue(list.Any()); }
public void RegistrationValidator_HasItems_Success() { //Mock var mock = new Mock <IUserRepository>(); mock.Setup(x => x.GetItemAsync(null)).Returns(Task.FromResult <User>(null)); //Arrange var manager = new RegistrationValidator(mock.Object, _log); //Act var list = manager.GetValidatorsResult(_user).Result.ToList(); //Assert Assert.IsTrue(manager.ReturnObject != null); Assert.IsTrue(list.Any()); Assert.AreEqual(list.FirstOrDefault()?.Invoke().StatusCode, StatusCode.Success); }
public void IsValid_should_not_return_any_password_errorcode_when_password_isvalid() { var mockobject = new Mock <IUserData>(); mockobject.Setup(x => x.GetEmailAddress(string.Empty)).Returns(string.Empty); RegistrationValidator validator = new RegistrationValidator(mockobject.Object); validator.IsValid(new UserDataObject { Password = "******", RePassword = "******" }); Assert.IsFalse(validator.ErrorCodes.Contains(ErrorCodes.Password.ERROR_PASSWORD_STRENGTH)); Assert.IsFalse(validator.ErrorCodes.Contains(ErrorCodes.Password.ERROR_PASSWORD_DO_NOT_MATCH)); Assert.IsFalse(validator.ErrorCodes.Contains(ErrorCodes.Password.ERROR_PASSWORD_REQUIRED)); Assert.IsFalse(validator.ErrorCodes.Contains(ErrorCodes.Password.ERROR_REPASSWORD_REQUIRED)); }
public void IsValid_should_return_true_when_user_information_isvalid() { UserDataObject user = new UserDataObject { FirstName = "Jeethendra", LastName = "dv", Password = "******", RePassword = "******", Company = "IMS Group", Phone = "02041170361", Email = "*****@*****.**" }; var mockobject = new Mock <IUserData>(); mockobject.Setup(x => x.GetEmailAddress(user.Email)).Returns(string.Empty); RegistrationValidator validator = new RegistrationValidator(mockobject.Object); Assert.IsTrue(validator.IsValid(user)); Assert.AreEqual(0, validator.ErrorCodes.Count); }
public void ShouldReturnFalse_WithValue_ND05_BFRT() { Assert.IsFalse(RegistrationValidator.Validate("ND05 BFRT")); }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) { var validator = new RegistrationValidator(); var result = validator.Validate(this); return result.Errors.Select(item => new ValidationResult(item.ErrorMessage, new[] {item.PropertyName})); }
static void Main(string[] args) { //2. Zadatak Console.WriteLine("Ovo je 2. zadatak."); Dataset newDataset = new Dataset("csv.txt"); Analyzer3rdParty newAnalyzer = new Analyzer3rdParty(); Adapter newAdapter = new Adapter(newAnalyzer); double[] averageRows = newAdapter.CalculateAveragePerRow(newDataset); Console.WriteLine("Prosjek redaka:"); for (int i = 0; i < averageRows.Length; i++) { Console.WriteLine(averageRows[i]); } double[] averageColumns = newAdapter.CalculateAveragePerColumn(newDataset); Console.WriteLine("Prosjek stupaca:"); for (int i = 0; i < averageColumns.Length; i++) { Console.WriteLine(averageColumns[i]); } //3. Zadatak Console.WriteLine("Ovo je 3. zadatak."); List <IRentable> BooksAndMovies = new List <IRentable>(); Book bookExample = new Book("Ana Karenjina"); Video videoExample = new Video("Rat i mir"); BooksAndMovies.Add(bookExample); BooksAndMovies.Add(videoExample); RentingConsolePrinter printerExample = new RentingConsolePrinter(); printerExample.PrintTotalPrice(BooksAndMovies); printerExample.DisplayItems(BooksAndMovies); //4. Zadatak Console.WriteLine("Ovo je 4. zadatak."); HotItem newestBook = new HotItem(new Book("Stranac")); HotItem newestVideo = new HotItem(new Video("Parazit")); BooksAndMovies.Add(newestBook); BooksAndMovies.Add(newestVideo); printerExample.PrintTotalPrice(BooksAndMovies); printerExample.DisplayItems(BooksAndMovies); /* Cijena liste sa samo prva dva elementa bila je 13.98. Dodavanje jos * elementa cijena bi trebala biti 27.96. Međutim, dodani asortiman * pripada HitItem-ima pa je cijena veća -> 31.94. Također uz naslove * stoji naznaka da artikl pripada Trendingu.*/ //5. Zadatak Console.WriteLine("Ovo je 5. zadatak."); List <IRentable> flashSale = new List <IRentable>(); for (int i = 0; i < 4; i++) { flashSale.Add(new DiscountedItem(BooksAndMovies[i], 20)); } printerExample.PrintTotalPrice(flashSale); printerExample.DisplayItems(flashSale); //6. zadatak Console.WriteLine("Ovo je 6. zadatak."); string myMail = "*****@*****.**"; string myPass = "******"; EmailValidator mailValidator = new EmailValidator(); PasswordValidator passValidator = new PasswordValidator(8); if (mailValidator.IsValidAddress(myMail)) { Console.WriteLine("Vasa eMail adresa" + myMail + "je ispravna."); } else { Console.WriteLine("Vasa eMail adresa " + myMail + " nije ispravna."); } if (passValidator.IsValidPassword(myPass)) { Console.WriteLine("Vasa lozinka je ispravna."); } else { Console.WriteLine("Vasa lozinka nije ispravna."); } //7. Zadatak Console.WriteLine("Ovo je 7. zadatak."); //UserEntry.ReadUserFromConsole(); RegistrationValidator finalValidator = new RegistrationValidator(); UserEntry entry = UserEntry.ReadUserFromConsole(); while (!(finalValidator.IsUserEntryValid(entry))) { entry = UserEntry.ReadUserFromConsole(); } }
public void ShouldReturnFalse_WithValue_MD60XBA() { Assert.IsFalse(RegistrationValidator.Validate("MD60XBA")); }
public void ShouldReturnFalse_WithValue_B640_BBJ() { Assert.IsFalse(RegistrationValidator.Validate("B640 BBJ")); }
public void ShouldReturnFalse_WithValue_NDJ64_XYZ() { Assert.IsFalse(RegistrationValidator.Validate("NDJ64 XYZ")); }
public void ShouldReturnFalse_WithValue_NDR_543R() { Assert.IsFalse(RegistrationValidator.Validate("NDR 543R")); }
// Implements Registration of user informations (suivent) / modifying registered user informations (modifier) private async void NextModifyBtn_Click(object sender, EventArgs e) { if (ModifyBtn.Text.Equals("Modifier")) { // Enable form to user formEnabled(true); // Change UI formColors(Color.WhiteSmoke); // Change button text ModifyBtn.Text = "Sauvegarder"; } else if (ModifyBtn.Text.Equals("Sauvegarder")) { /* Perform Modify Logic */ // Get current Adherent currentAdherent = adherentBindingSource.Current as Adherent; // Instanciating validators RegistrationValidator validator = new RegistrationValidator(); ValidationResult results = await validator.ValidateAsync(currentAdherent); // User input data is not valid if (!results.IsValid) { // Display Errors to user foreach (ValidationFailure failure in results.Errors) { UserErrors.Add(failure.ErrorMessage); } MetroFramework.MetroMessageBox.Show(this, string.Join("\n", UserErrors), "Données Non Valides", MessageBoxButtons.OK, MessageBoxIcon.Error); // Clear errors for another use and quit UserErrors.Clear(); return; } // Get adherent from database using (ClubDbContext context = new ClubDbContext()) { var adherentInDB = context.Adherents .SingleOrDefault(a => a.CodeAdh == currentAdherent.CodeAdh); adherentInDB.Nom = currentAdherent.Nom; adherentInDB.Prenom = currentAdherent.Prenom; adherentInDB.Sexe = currentAdherent.Sexe; adherentInDB.Cin = currentAdherent.Cin; adherentInDB.Tel = currentAdherent.Tel; adherentInDB.TelUrgence = currentAdherent.TelUrgence; adherentInDB.Adresse = currentAdherent.Adresse; adherentInDB.Ville = currentAdherent.Ville; adherentInDB.CNE = currentAdherent.CNE; await context.SaveChangesAsync(); } // Refresh dataGrid Profile_Load(sender, e); // Disable form to user formEnabled(false); // Change Ui formColors(Color.FromArgb(172, 126, 241)); // Change button text ModifyBtn.Text = "Modifier"; } }
public void ShouldReturnTrue_WithValue_NJ13_LXX() { Assert.IsTrue(RegistrationValidator.Validate("NJ13 LXX")); }