Пример #1
0
        public async Task <ActionResult> Register(RegisterCustomerBindingModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName = model.Email,
                    Email    = model.Email,
                    Name     = model.Name
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    this.UserManager.AddToRole(user.Id, "Customer");
                    this._service.AddCustomer(model, user);
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    return(RedirectToAction("All", "Requests", new { area = "Customer" }));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Пример #2
0
        public void Register(RegisterCustomerBindingModel model)
        {
            var customer = new CustomerUser
            {
                UserName      = model.Email,
                Email         = model.Email,
                Orders        = new List <Order>(),
                UserAddresses = new List <UserAddress>()
                {
                    new UserAddress()
                    {
                        FirstName    = model.PrimaryAddress.FirstName,
                        LastName     = model.PrimaryAddress.LastName,
                        Phone        = model.PrimaryAddress.Phone,
                        AddressLine1 = model.PrimaryAddress.AddressLine1,
                        AddressLine2 = model.PrimaryAddress.AddressLine2,
                        City         = model.PrimaryAddress.City,
                        State        = model.PrimaryAddress.State,
                        Zipcode      = model.PrimaryAddress.Zipcode
                    }
                }
            };

            _userManager.Create(customer, model.Password);
        }
Пример #3
0
        public IHttpActionResult Register(RegisterCustomerBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _customerService.Register(model);
            return(Ok());
        }
Пример #4
0
        public void AddCustomer(RegisterCustomerBindingModel model, ApplicationUser appUser)
        {
            ApplicationUser user     = this.Context.Users.Find(appUser.Id);
            Customer        customer = new Customer()
            {
                ApplicationUser = user,
                CompanyName     = model.CompanyName
            };

            this.Context.Customers.Add(customer);
            this.Context.SaveChanges();
        }
Пример #5
0
        public async Task <IHttpActionResult> RegisterCustomer(RegisterCustomerBindingModel model)
        {
            if (model == null)
            {
                return(this.BadRequest("Invalid user data"));
            }
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var user = new Customer()
            {
                UserName    = model.Username,
                Email       = model.Email,
                PhoneNumber = model.PhoneNumber,
                Gender      = (Gender)Enum.Parse(typeof(Gender), model.Gender, true),
                IsDeleted   = false
            };

            IdentityResult result = await this.UserManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return(this.GetErrorResult(result));
            }

            var newUser = this.EscortServiceData.Users.FirstOrDefault(u => u.UserName == user.UserName);

            if (newUser != null)
            {
                var roleUser = this.UserManager.AddToRole(newUser.Id, "customer");
            }

            //Auto login after registration (successful user registration should return access_token)
            //var loginResult = await this.LoginUser(new UserAccountInputModel()
            //{
            //    Username = model.Username,
            //    Password = model.Password
            //});

            //return loginResult;

            return(this.Ok());
        }