private FluentValidation.Results.ValidationResult ValidateRegistration(NewRegistrationViewModel candidateform) { var validator = new NewRegistrationValidator(); var result = validator.Validate(candidateform); return(result); }
public AdminController(IRepository <SCMProfitCore.Model.CustomerModule.Customer> customerRepo, IRepository <CustomerLoginDetails> customerLoginDetailsRepo, IRepository <CustomerSubscriptionDetails> customerSubscriptionRepo, NewRegistrationViewModel newRegistrasionViewModel) { _customerRepository = customerRepo; _customerLoginDetailsRepository = customerLoginDetailsRepo; _customerSubscriptionRepository = customerSubscriptionRepo; _newRegistrasionViewModel = newRegistrasionViewModel; _customerService = new CustomerService(customerRepo); }
public CustomerController(IRepository <SCMProfitCore.Model.CustomerModule.Customer> _custRepository, IRepository <CustomerLoginDetails> _loginRepository, IRepository <CustomerSubscriptionDetails> _subscriptionRepository, IRepository <Partner> _partnerRepo, IRepository <Module> _moduleRepo, IRepository <Service> _serviceRepo) { _newRegistrasionViewModel = new NewRegistrationViewModel(); _customerRepository = _custRepository; _customerLoginDetailsRepository = _loginRepository; _customerSubscriptionRepository = _subscriptionRepository; _moduleRepository = _moduleRepo; _serviceRepository = _serviceRepo; _partnerRepository = _partnerRepo; _listOfModules = new List <Module>(); _listOfServices = new List <Service>(); _listOfSubscription = new List <CustomerSubscriptionDetails>(); }
private void MapCandidateAddress(Address address, NewRegistrationViewModel newRegistrationModel) { address.address_line_1 = newRegistrationModel.candidate_address_line_1; address.address_line_2 = newRegistrationModel.candidate_address_line_2; address.taluka_id = newRegistrationModel.candidate_taluka_id; if (newRegistrationModel.candidate_state_id != null) { address.state_id = (int)newRegistrationModel.candidate_state_id; } else { address.state_id = null; } address.district_id = newRegistrationModel.candidate_district_id; address.zip_code = newRegistrationModel.candidate_zip_code; }
public static NewRegistrationViewModel Get() { User expectedUser = UserHelper.Get(null, "First_name", false, "Last_name", "1234567890", UserRoles.Candidate, "", "1234567890"); Candidate expectedCandidate = CandidateHelper.Get("cfn", "cln", 1234567891, Castes.Jain, HighestEducations.BE_BTECH, FamilyTypes.Joint, Genders.Female, Religions.HINDU); Address expectedUserAddress = AddressHelper.Get("ual1", "ual2", Districts.NASHIK, States.GUJRAT, Talukas.SHIROL, 123); Address expectedCandidateAddress = AddressHelper.Get("cal1", "cal2", Districts.KOLHAPUR, States.GOA, Talukas.DAUND, 345); NewRegistrationViewModel newRegistration = new NewRegistrationViewModel(); newRegistration.address_line_1 = expectedUserAddress.address_line_1; newRegistration.address_line_2 = expectedUserAddress.address_line_2; newRegistration.candidate_address_line_1 = expectedCandidateAddress.address_line_1; newRegistration.candidate_address_line_2 = expectedCandidateAddress.address_line_2; newRegistration.candidate_district_id = expectedCandidateAddress.district_id; newRegistration.candidate_first_name = expectedCandidate.first_name; newRegistration.candidate_last_name = expectedCandidate.last_name; newRegistration.candidate_phone_number = expectedCandidate.phone_number; newRegistration.candidate_state_id = expectedCandidateAddress.state_id; newRegistration.candidate_taluka_id = expectedCandidateAddress.taluka_id; newRegistration.caste_id = expectedCandidate.caste_id; newRegistration.district_id = expectedUserAddress.district_id; newRegistration.education_id = expectedCandidate.education_id; newRegistration.familytype_id = expectedCandidate.family_type_id; newRegistration.first_name = expectedUser.first_name; newRegistration.gender_id = expectedCandidate.gender_id; newRegistration.language = new int[] { Languages.Marathi, Languages.Hindi }; newRegistration.last_name = expectedUser.last_name; newRegistration.phone_number = Convert.ToInt64(expectedUser.phone_number); newRegistration.religion_id = expectedCandidate.religion_id; newRegistration.state_id = expectedUserAddress.state_id; newRegistration.taluka_id = expectedUserAddress.taluka_id; newRegistration.zip_code = expectedUserAddress.zip_code; newRegistration.candidate_zip_code = expectedCandidateAddress.zip_code; return(newRegistration); }
public void TestNewRegistrationPhoneNumberValidationFailed() { SecurityService securityService = new SecurityService(); NewRegistrationViewModel newRegistration1 = NewRegistrationHelper.Get(); newRegistration1.phone_number = Convert.ToInt64(RegistrationTestUser2); RegistrationService registrationService = new RegistrationService(this.connectionStringService, securityService, IOptionsHelper.Get()); var response = registrationService.RegisterNewCandidate(newRegistration1); Assert.True(response.IsSuccess, "Registration should be successful."); response = registrationService.RegisterNewCandidate(newRegistration1); Assert.False(response.IsSuccess, "Registration should fail."); Assert.Equal("User phone number already exists", response.Message); }
private void MapCandidate(Candidate candidate, NewRegistrationViewModel model) { candidate.first_name = model.candidate_first_name; candidate.last_name = model.candidate_last_name; candidate.phone_number = model.candidate_phone_number; candidate.gender_id = model.gender_id; candidate.religion_id = model.religion_id; candidate.marital_status_id = model.marital_status_id; if (model.occupation != null && model.occupation != "" && model.occupation == "Other") { candidate.occupation = model.otheroccupation; } else if (model.occupation != null && model.occupation != "" && model.occupation != "Other") { candidate.occupation = model.occupation; } if (model.caste_id != null) { candidate.caste_id = (int)model.caste_id; } else { candidate.caste_id = null; } if (model.education_id != null) { candidate.education_id = (int)model.education_id; } else { candidate.education_id = null; } candidate.family_type_id = model.familytype_id; candidate.date_of_birth = model.candidate_birth_date; }
public IActionResult RegisterCandidate([FromBody] NewRegistrationViewModel model) { return(Ok(_registrationService.RegisterNewCandidate(model))); }
public ActionResult NewRegistration(NewRegistrationViewModel viewModel) { if (viewModel != null && this.IsCaptchaValid("Captcha is not valid")) { Partner partner = _partnerRepository.GetById(new Guid(Session["partnerId"].ToString())); CustomerLoginDetails loginDetails = new CustomerLoginDetails { UserName = viewModel.Customer.LoginDetails.UserName, Password = viewModel.Customer.LoginDetails.Password }; CustomerAddress address = new CustomerAddress { AddressLine1 = viewModel.Customer.CustomerAddress.AddressLine1, AddressLine2 = viewModel.Customer.CustomerAddress.AddressLine2, City = viewModel.Customer.CustomerAddress.City, State = viewModel.Customer.CustomerAddress.State, ZipCode = viewModel.Customer.CustomerAddress.ZipCode, Country = viewModel.Customer.CustomerAddress.Country }; foreach (var moduleList in viewModel.ModuleList) { if (moduleList.IsSelected) { _listOfModules.Add(_moduleRepository.GetByName(moduleList.ModuleName)); } } foreach (var serviceList in viewModel.ServiceList) { if (serviceList.IsSelected) { _listOfServices.Add(_serviceRepository.GetByName(serviceList.ServiceName)); } } CustomerSubscriptionDetails subscriptionDetails = new CustomerSubscriptionDetails { NumberOfNamedUsers = viewModel.CustomerSubscriptionDetail.NumberOfNamedUsers, Subscription = viewModel.CustomerSubscriptionDetail.Subscription, Modules = _listOfModules, Services = _listOfServices }; _listOfSubscription.Add(subscriptionDetails); var customerDetails = new SCMProfitCore.Model.CustomerModule.Customer { CompanyName = viewModel.Customer.CompanyName, FirstName = viewModel.Customer.FirstName, LastName = viewModel.Customer.LastName, PrimaryContact = viewModel.Customer.PrimaryContact, Currency = viewModel.Customer.Currency, ShortName = viewModel.Customer.ShortName, Email = viewModel.Customer.Email, WebsiteUrl = viewModel.Customer.WebsiteUrl, Role = viewModel.Customer.Role, Partner = partner, LoginDetails = loginDetails, CustomerAddress = address, Subscriptions = _listOfSubscription }; _customerRepository.Add(customerDetails); return(RedirectToAction("SignIn", "Login")); } return(View()); }
public void TestNewRegistration() { SecurityService securityService = new SecurityService(); string realPassword = "******"; //tests the lower casing of the password as well User expectedUser = UserHelper.Get(null, "First_name", false, "Last_name", "1234567890", UserRoles.Candidate, "", "1234567890"); expectedUser.password = securityService.HashUserNameAndPassword(expectedUser.phone_number.ToString(), realPassword); Candidate expectedCandidate = CandidateHelper.Get("cfn", "cln", 1234567891, Castes.Jain, HighestEducations.BE_BTECH, FamilyTypes.Joint, Genders.Female, Religions.HINDU); Address expectedUserAddress = AddressHelper.Get("ual1", "ual2", Districts.NASHIK, States.GUJRAT, Talukas.SHIROL, 123); Address expectedCandidateAddress = AddressHelper.Get("cal1", "cal2", Districts.KOLHAPUR, States.GOA, Talukas.DAUND, 345); NewRegistrationViewModel newRegistration = new NewRegistrationViewModel(); newRegistration.address_line_1 = expectedUserAddress.address_line_1; newRegistration.address_line_2 = expectedUserAddress.address_line_2; newRegistration.candidate_address_line_1 = expectedCandidateAddress.address_line_1; newRegistration.candidate_address_line_2 = expectedCandidateAddress.address_line_2; newRegistration.candidate_district_id = expectedCandidateAddress.district_id; newRegistration.candidate_first_name = expectedCandidate.first_name; newRegistration.candidate_last_name = expectedCandidate.last_name; newRegistration.candidate_phone_number = expectedCandidate.phone_number; newRegistration.candidate_state_id = expectedCandidateAddress.state_id; newRegistration.candidate_taluka_id = expectedCandidateAddress.taluka_id; newRegistration.caste_id = expectedCandidate.caste_id; newRegistration.district_id = expectedUserAddress.district_id; newRegistration.education_id = expectedCandidate.education_id; newRegistration.familytype_id = expectedCandidate.family_type_id; newRegistration.first_name = expectedUser.first_name; newRegistration.gender_id = expectedCandidate.gender_id; newRegistration.language = new int[] { Languages.Marathi, Languages.Hindi }; newRegistration.last_name = expectedUser.last_name; newRegistration.phone_number = Convert.ToInt64(expectedUser.phone_number); newRegistration.religion_id = expectedCandidate.religion_id; newRegistration.state_id = expectedUserAddress.state_id; newRegistration.taluka_id = expectedUserAddress.taluka_id; newRegistration.zip_code = expectedUserAddress.zip_code; newRegistration.candidate_zip_code = expectedCandidateAddress.zip_code; RegistrationService registrationService = new RegistrationService(this.connectionStringService, securityService, IOptionsHelper.Get()); var response = registrationService.RegisterNewCandidate(newRegistration); Assert.True(response.IsSuccess, "Registration Response Failed."); Assert.Equal("1234567890", response.Data.user_name); Assert.Equal(realPassword, response.Data.password); //User User actualUser = connectionForTest .QueryFirst <User>("Select * from user_table where user_name = @user_name", new { expectedUser.user_name }); Assert.NotNull(actualUser); UserHelper.Assrt(expectedUser, actualUser); //UserAddress Address actualUserAddress = connectionForTest .QueryFirst <Address>("Select * from address where id = @address_id", new { actualUser.address_id }); Assert.NotNull(actualUserAddress); AddressHelper.Assrt(expectedUserAddress, actualUserAddress); //Candidate Candidate actualCandidate = connectionForTest .QueryFirst <Candidate>("Select * from Candidate where user_id = @id", new { actualUser.id }); Assert.NotNull(actualCandidate); CandidateHelper.Assrt(expectedCandidate, actualCandidate); //Candidate Address Address actualCandidateAddress = connectionForTest .QueryFirst <Address>("Select * from address where id = @address_id", new { actualCandidate.address_id }); Assert.NotNull(actualCandidateAddress); AddressHelper.Assrt(expectedCandidateAddress, actualCandidateAddress); }
public void CustomerShouldBeRegisteredAndRedirectToSignIn() { //arrange NewRegistrationViewModel viewModel = new NewRegistrationViewModel(); IRepository <Customer> _customerRepository = new CustomerDetailsRepository(); IRepository <CustomerLoginDetails> _customerLoginDetailsRepository = new CustomerLoginDetailsRepository(); IRepository <CustomerSubscriptionDetails> _customerSubscriptionRepository = new CustomerSubscriptionDetailsRepository(); IRepository <Partner> _partnerRepository = new PartnerRepository(); IRepository <Module> _moduleRepository = new ModuleRepository(); IRepository <Service> _serviceRepository = new ServicesRepository(); Module _module = new Module(); Service _service = new Service(); CustomerController customerController = new CustomerController(_customerRepository, _customerLoginDetailsRepository, _customerSubscriptionRepository, _partnerRepository, _moduleRepository, _serviceRepository); //act Partner partner = new Partner { PartnerName = "TechLabs" }; CustomerLoginDetails loginDetails = new CustomerLoginDetails { UserName = "******", Password = "******" }; viewModel.Modules.Add("Warehouse"); foreach (var list in viewModel.Modules[0].Split(',')) { _module = new Module { ModuleName = list }; } viewModel.Services.Add("Online Support"); foreach (var list in viewModel.ServiceList) { _service = new Service { ServiceName = list.ServiceName }; } CustomerSubscriptionDetails subscriptionDetails = new CustomerSubscriptionDetails { NumberOfNamedUsers = 15, Subscription = CustomerSubscriptionType.OnPremise, //Modules = viewModel.Modules[0], //Services = viewModel.Services[0] }; Customer customer = new Customer { CompanyName = "Raju Company", FirstName = "Raju", LastName = "Vishwakarma", PrimaryContact = 7788256485, Currency = CurrencyType.EUR, ShortName = "BPO", Email = "*****@*****.**", WebsiteUrl = "https://mail.google.com", Role = "user" }; customer.Partner = partner; customer.LoginDetails = loginDetails; subscriptionDetails.Customer = customer; _module.Subscription = subscriptionDetails; _service.Subscription = subscriptionDetails; var result = customerController.NewRegistration(viewModel) as RedirectToRouteResult; //assert if (result != null) { Assert.AreEqual("SignIn", result.RouteValues["action"]); Assert.IsNotNull(result); } }
public JsonResponse <AuthenticateModel> RegisterNewCandidate(NewRegistrationViewModel newRegistrationModel) { JsonResponse <AuthenticateModel> jsonResponse = new JsonResponse <AuthenticateModel>(); var result = ValidateRegistration(newRegistrationModel); if (result.IsValid) { const int passwordGenerationIndex = 3; string username = newRegistrationModel.phone_number.ToString(); string password = GetPassword(newRegistrationModel.first_name, newRegistrationModel.last_name, newRegistrationModel.phone_number, passwordGenerationIndex); string hashedPassword = _SecurityService.HashUserNameAndPassword(username, password); AuthenticateModel infoModel = new AuthenticateModel(); infoModel.user_name = username; infoModel.password = password; User user = new User(); Address userAddress = new Address(); Address candidateAddress = new Address(); Candidate candidate = new Candidate(); CandidateLanguageMap candidateLanguageMap; MapCandidate(candidate, newRegistrationModel); MapUser(user, newRegistrationModel); MapUserAddress(userAddress, newRegistrationModel); MapCandidateAddress(candidateAddress, newRegistrationModel); user.user_name = username; user.password = hashedPassword; user.role_id = UserRoles.Candidate; user.is_user_login_first_time = true; user.date_of_birth = newRegistrationModel.user_birth_date; using (IDbConnection dbConnection = new NpgsqlConnection(_ConnectionStringService.Value)) { dbConnection.Open(); using (var transaction = dbConnection.BeginTransaction()) { try { user.address_id = (Int32)dbConnection.Insert <Address>(userAddress, transaction); candidate.address_id = (Int32)dbConnection.Insert <Address>(candidateAddress, transaction); candidate.user_id = (Int32)dbConnection.Insert <User>(user, transaction); Int16 candidate_id = (Int16)dbConnection.Insert <Candidate>(candidate, transaction); for (int i = 0; i < newRegistrationModel.language.Length; i++) { candidateLanguageMap = new CandidateLanguageMap(); candidateLanguageMap.candidate_id = candidate_id; candidateLanguageMap.language_id = newRegistrationModel.language[i]; dbConnection.Insert <CandidateLanguageMap>(candidateLanguageMap, transaction); } transaction.Commit(); jsonResponse.Data = infoModel; jsonResponse.IsSuccess = true; jsonResponse.Message = "Registration Successful"; } catch (Exception ex) { if (ex.Message.Contains("user_table_phone_number_unique")) { jsonResponse.Message = "User phone number already exists"; } else { jsonResponse.Message = "Some error occured. Please contact administrator."; } transaction.Rollback(); jsonResponse.IsSuccess = false; } } } } else { jsonResponse.IsSuccess = false; jsonResponse.Message = result.Messages(); } return(jsonResponse); }
private void MapUser(User user, NewRegistrationViewModel newRegistrationModel) { user.first_name = newRegistrationModel.first_name; user.last_name = newRegistrationModel.last_name; user.phone_number = newRegistrationModel.phone_number.ToString(); }