Ejemplo n.º 1
0
        public BusinessAccountInformation CreateNewBusinessAccount(BusinessAccountInformation command)
        {
            try
            {
                // Add transactions

                // 1. Save Business
                var businessAccount = new Qup.Database.Business()
                {
                    Name        = command.BusinessName,
                    Address     = command.BusinessAddress,
                    Capacity    = command.Capacity,
                    IsActive    = true,
                    DateCreated = DateTime.Now
                };
                _context.Businesses.Add(businessAccount);

                // 2. Save Business Admin
                // 2.1 generate password Hash
                var encryptedCredentials = GenericUtilityService.EncryptPassword(command.AdminPassword); // Next item

                var businessAdmin = new Qup.Database.User()
                {
                    FirstName    = command.AdminFirstName,
                    LastName     = command.AdminLastName,
                    Email        = command.AdminEmail,
                    PhoneNumber  = command.AdminPhone,
                    DateCreated  = DateTime.Now,
                    Salt         = encryptedCredentials.Salt,
                    UserPassword = encryptedCredentials.EncryptedPassword
                };
                _context.Users.Add(businessAdmin);
                _context.SaveChanges();

                command.BusinessId = businessAccount.Id;

                // Link User To UserGroup
                var mapUserToGroup = new UsersToUserGroup()
                {
                    UserId      = businessAdmin.Id,
                    UserGroupId = 2 // Bar Admin user group
                };
                _context.UsersToUserGroups.Add(mapUserToGroup);
                _context.SaveChanges();

                // Generate QR code - just for now - move this to Business Logic
                GenerateQuickResponseCodeForNewBusiness(businessAccount.Id);

                command.BusinessAccountCreated = true;
            }
            catch (Exception e)
            {
                command.BusinessAccountCreated = false;
            }

            return(command);
        }
Ejemplo n.º 2
0
        protected void signUpSubmit_Click(object sender, EventArgs e)
        {
            // Get values
            var businessName            = companyName.Value.Trim();
            var businessAddress         = address.Value.Trim();
            var businessSeatingCapacity = seatingCapacity.Value.Trim();

            var businessAdminFirstName   = firstName.Value.Trim();
            var businessAdminLastName    = lastName.Value.Trim();
            var businessAdminPhoneNumber = mobileNumber.Value.Trim();
            var businessAdminEmail       = email.Value.Trim();
            var businessAdminPassword    = password.Value.Trim();



            // 1. Server Side Validation
            bool formValuesValidationResult = ValidateRequest();

            // 2. Save
            if (formValuesValidationResult)
            {
                var businessAccountInformation = new BusinessAccountInformation()
                {
                    BusinessName    = businessName,
                    BusinessAddress = businessAddress,
                    Capacity        = Convert.ToInt32(businessSeatingCapacity),
                    AdminFirstName  = businessAdminFirstName,
                    AdminLastName   = businessAdminLastName,
                    AdminPhone      = businessAdminPhoneNumber,
                    AdminEmail      = businessAdminEmail,
                    AdminPassword   = businessAdminPassword
                };

                var accountSetService = new AccountManagementService();
                var result            = accountSetService.CreateNewBusinessAccount(businessAccountInformation);
                if (result.BusinessAccountCreated)
                {
                    UserMessage        = "New Business Account created successfully.";
                    businessProfileUrl = "/Admins/ViewProfile?businessId=" + result.BusinessId.ToString();
                    ResetFieldValues();
                }
                else
                {
                    UserMessage = "New Business Account failed to be created.";
                }
            }
            else
            {
                // return error message
            }
        }