public void AddShouldAddCustomerCompanyDetailsIntoDatabase() { //Act var intialCount = _repository.Get().ToList().Count; Partner partner = _partnerRepository.GetById(new Guid("BDBBD5EF-62E7-40B0-8A28-A70A00FDDBE1")); Module module = _moduleRepository.GetById(new Guid("117522B3-EBC1-4A9A-AA8E-A70A00FE001B")); Service service = _serviceRepository.GetById(new Guid("4DD8E082-5071-499C-8914-A70A00FE1C57")); CustomerLoginDetails loginDetails = new CustomerLoginDetails { UserName = "******", Password = "******" }; CustomerAddress address = new CustomerAddress { AddressLine1 = "Mulund", AddressLine2 = "B.R.Road", City = "Mumbai", State = "Maharashtra", ZipCode = "400080", Country = "India" }; _listOfModules.Add(module); _listOfServices.Add(service); CustomerSubscriptionDetails subscriptionDetails = new CustomerSubscriptionDetails { NumberOfNamedUsers = 18, Subscription = CustomerSubscriptionType.Saas, Modules = _listOfModules, Services = _listOfServices }; _listOfSubscription.Add(subscriptionDetails); Customer customerDetails = new Customer { CompanyName = "xyz", FirstName = "Akhilesh", LastName = "Vishwakarma", PrimaryContact = 8291404841, Currency = CurrencyType.INR, ShortName = "XPO", Email = "*****@*****.**", WebsiteUrl = "https://app.vsaex.visualstudio.com", Role = "user", Partner = partner, LoginDetails = loginDetails, CustomerAddress = address, Subscriptions = _listOfSubscription }; _repository.Add(customerDetails); var afterCount = _repository.Get().ToList().Count; //Assert Assert.IsTrue(intialCount < afterCount); }
public NewRegistrationViewModel() { Modules = new List <string>(); Services = new List <string>(); Module = new Module(); Service = new Service(); Customer = new Customer(); CustomerLoginDetail = new CustomerLoginDetails(); CustomerSubscriptionDetail = new CustomerSubscriptionDetails(); CustomerList = new List <Customer>(); ModuleList = new List <Module>(); ServiceList = new List <Service>(); }
public string PerformCustomerRegistration(CustomerLoginDetails customerLoginDetails) { string customerID = GenerateCustomerID(customerLoginDetails); try { using (SqlCommand sqlcommand = new SqlCommand()) { sqlcommand.CommandText = "spInsertIntoCustomerLoginDetails"; sqlcommand.Connection = _connection; sqlcommand.CommandType = CommandType.StoredProcedure; sqlcommand.Parameters.AddWithValue("CustomerID", customerID); sqlcommand.Parameters.AddWithValue("FirmID", customerLoginDetails.FirmID); sqlcommand.Parameters.AddWithValue("CustomerStatus", customerLoginDetails.CustomerRegistrationValidationStatus); sqlcommand.Parameters.AddWithValue("FirstName", customerLoginDetails.FirstName); sqlcommand.Parameters.AddWithValue("LastName", customerLoginDetails.LastName); sqlcommand.Parameters.AddWithValue("FatherName", customerLoginDetails.FatherName); sqlcommand.Parameters.AddWithValue("DOB", customerLoginDetails.DOB); sqlcommand.Parameters.AddWithValue("AadhaarNumber", customerLoginDetails.AadhaarNumber); sqlcommand.Parameters.AddWithValue("Password", customerLoginDetails.Password); sqlcommand.Parameters.AddWithValue("EmailID", customerLoginDetails.EmailID); if (_connection.State == System.Data.ConnectionState.Closed) { _connection.Open(); } if (IsCustomerAlreadyRegistered(customerID)) { throw new Exception($"You are already registered to firm {customerLoginDetails.FirmID} and your CustomerID id is {customerID}"); } else { int rowsAffected = sqlcommand.ExecuteNonQuery(); } } } catch (Exception ex) { throw ex; } finally { _connection.Close(); } return(customerID); }
public void AddShouldAddCustomerLoginDetailsIntoDatabase() { //Act var intialCount = _repository.Get().ToList().Count; CustomerLoginDetails customerLoginDetails = new CustomerLoginDetails { UserName = "******", Password = "******" }; _repository.Add(customerLoginDetails); var afterCount = _repository.Get().ToList().Count; //Assert Assert.IsTrue(intialCount < afterCount); }
public void UpdateShouldUpdateCustomerLoginDetailsIntoDatabase() { //Act var customerrLogin = _repository.GetById(new Guid("B182DCDC-2F6C-4726-9A2F-A70300D5FEFC")); CustomerLoginDetails customerLoginDetails = new CustomerLoginDetails { LoginId = customerrLogin.LoginId, UserName = "******", Password = "******" }; _repository.Update(customerLoginDetails); var customerLogin = _repository.GetByName("raju"); //Assert Assert.IsNotNull(customerLogin); }
private string GenerateCustomerID(CustomerLoginDetails customerLoginDetails) { string customerID = string.Empty; try { using (SqlCommand command = new SqlCommand("spGetNextCustomerID", _connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("FirmID", customerLoginDetails.FirmID); if (_connection.State == ConnectionState.Closed) { _connection.Open(); } using (var reader = command.ExecuteReader()) { if (reader.Read()) { customerID = reader.GetString(0); } } } } catch (SqlNullValueException ex) { var firm = _firmService.GetFirmDetails(customerLoginDetails.FirmID); throw new SqlNullValueException($"Number of customers to the Firm {customerLoginDetails.FirmID} reached maximum . Please contact Firm Owner. Phone Number : { firm.PhoneNumber } . EmailID : {firm.Email}", ex); } catch (Exception ex) { throw ex; } finally { _connection.Close(); } return(customerID.Trim()); }
public IActionResult PerformCustomerRegistration(CustomerLoginDetails customerLoginDetails) { string customerID = string.Empty; try { if (customerLoginDetails != null) { Thread.Sleep(2000); customerID = _customerRegistrationService.PerformCustomerRegistration(customerLoginDetails); } else { return(BadRequest()); } } catch (Exception ex) { return(StatusCode(500, ex.Message)); } return(Ok(new { CustomerID = customerID }));; }
public ActionResult SignIn(LoginViewModel loginViewModel) { CustomerLoginDetails customerLoginDetails = _customerLoginRepository.IsValidCustomer(loginViewModel.CustomerLoginDetails.UserName, loginViewModel.CustomerLoginDetails.Password); if (customerLoginDetails != null) { Session["customerLoginId"] = customerLoginDetails.LoginId; var customer = (_customerRepository.Search(x => x.LoginDetails.LoginId == customerLoginDetails.LoginId)) .SingleOrDefault(); Session["customerId"] = customer.CustomerId; FormsAuthentication.SetAuthCookie(customer.Email, true); if (CheckUser(customer)) { if (customer.IsApproved == 1) { CreateCookie(_loginViewModel.CustomerLoginDetails.RememberMe, _loginViewModel.CustomerLoginDetails.LoginId); TempData["message"] = Resource.LoginSuccessfully; return(RedirectToAction("TenantProfile", "Customer")); } else { TempData["message"] = Resource.ApprovedMessage; return(View(_loginViewModel)); } } else { CreateCookie(_loginViewModel.CustomerLoginDetails.RememberMe, _loginViewModel.CustomerLoginDetails.LoginId); return(RedirectToAction("NewRequest", "Admin")); } } TempData["message"] = Resource.LoginUnsuccessfull; return(View()); }
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 LoginViewModel() { CustomerSubscriptionDetails = new CustomerSubscriptionDetails(); CustomerLoginDetails = new CustomerLoginDetails(); Customers = new List <CustomerLoginDetails>(); }
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); } }