public async Task<ActionResult> ProviderRegister(ProviderRegisterViewModel model)
        {
            if(ModelState.IsValid)
            {
                var user = model.GetUser();
                var provider = model.GetProviderDto();

                var phone = model.GetPhone();
                var address = model.GetAddress();

                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    await _hcSerivice.CreateProviderAsync(provider, phone, address);

                    var currentUser = await UserManager.FindByEmailAsync(user.Email);
                    var roleResult = await UserManager.AddToRoleAsync(currentUser.Id, "Provider");

                    UserManager.AddClaim(currentUser.Id, new Claim(ClaimTypes.Role, "Provider"));

                    if (roleResult.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
                        return RedirectToAction("Index", "Home");
                    }
                    AddErrors(roleResult);
                }
                AddErrors(result);
            }

            return View(model);
        }
 public async Task<ActionResult> ProviderRegister()
 {
     var model = new ProviderRegisterViewModel
     {
         SexOptions = new List<SelectizeItem<int>>
         {
             new SelectizeItem<int>(Enum.GetName(typeof (Sex), Sex.Male), (int) Sex.Male),
             new SelectizeItem<int>(Enum.GetName(typeof (Sex), Sex.Female), (int) Sex.Female)
         }
     };
     return View(model);
 }