Exemplo n.º 1
0
        public async Task <ActionResult> RegisterEmployeeUser(RegisterEmployeeViewModel model)
        {
            if (ModelState.IsValid)
            {
                LogicLayer.UserManager usrMgr = new LogicLayer.UserManager();
                try
                {
                    if (usrMgr.FindUser(model.Email))
                    {
                        return(RedirectToAction("Register", "Account"));
                    }
                    else
                    {
                        var employee = new DataTransferObjects.PetUniverseUser
                        {
                            FirstName   = model.GivenName,
                            LastName    = model.FamilyName,
                            Email       = model.Email,
                            PhoneNumber = model.PhoneNumber,
                            Address1    = model.AddressLine1,
                            Address2    = model.AddressLine2,
                            City        = model.City,
                            State       = model.State,
                            ZipCode     = model.ZipCode
                        };
                        if (usrMgr.CreateNewUser(employee))
                        {
                            var employeeID = usrMgr.getUserByEmail(model.Email).PUUserID;
                            var user       = new ApplicationUser
                            {
                                EmployeeID = employeeID,
                                GivenName  = model.GivenName,
                                FamilyName = model.FamilyName,
                                UserName   = model.Email,
                                Email      = model.Email
                            };
                            var result = await UserManager.CreateAsync(user, "newuser");

                            if (result.Succeeded)
                            {
                                return(RedirectToAction("Index", "Admin"));
                            }
                            AddErrors(result);
                        }
                    }
                }
                catch (Exception)
                {
                    return(View(model));
                }
            }
            return(View(model));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Created by Michael Takrama
        /// 04/15/17
        ///
        /// Logic to Apply for Commercial Account - MVC
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public bool ApplyForCommercialAccount(RegisterCommercialViewModel user)
        {
            // App User Creation
            var userManager = new UserManager();

            try
            {
                var createdUserResult = userManager.CreateNewUser(user, user.Password, user.ConfirmPassword);

                if ("Created" != createdUserResult)
                {
                    throw new ApplicationException(createdUserResult);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("CustomerManager-ApplyForCommercialAccount: " + ex.Message);
                throw;
            }

            // Commercial Customer Creation
            User userData = null;

            try
            {
                userData = userManager.RetrieveUserByUserName(user.UserName);

                var cm = new CommercialCustomer
                {
                    UserId       = userData.UserId,
                    FederalTaxId = int.Parse(user.FederalTaxID),
                    ApprovedBy   = 0,
                    Active       = true
                };

                if (CreateCommercialAccount(cm))
                {
                    return(true);
                }

                //Commercial Customer Creation failed - delete created user
                if (1 == UserAccessor.DeleteUser(userData.UserId))
                {
                    throw new ApplicationException("Fatal Error Occured");
                }
            }
            catch (SqlException ex)
            {
                if (userData != null)
                {
                    UserAccessor.DeleteUser(userData.UserId);
                }

                Debug.WriteLine(ex.Message);

                throw new ApplicationException("Fatal Error Occured");
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                throw;
            }

            return(false);
        }