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 }));;
        }
Ejemplo n.º 8
0
        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());
        }
Ejemplo n.º 9
0
        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());
        }
Ejemplo n.º 10
0
 public LoginViewModel()
 {
     CustomerSubscriptionDetails = new CustomerSubscriptionDetails();
     CustomerLoginDetails        = new CustomerLoginDetails();
     Customers = new List <CustomerLoginDetails>();
 }
Ejemplo n.º 11
0
        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);
            }
        }