public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus;
                Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null,
                                      out createStatus);

                if (createStatus == MembershipCreateStatus.Success)
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
                    Roles.AddUserToRole(model.UserName, model.Role);

                    if (model.Role == "Tenant")
                    {
                        RegisterTenant(model);
                    }

                    if (model.Role == "Owner")
                    {
                        RegisterOwner(model);
                    }

                    if (model.Role == "Agent")
                    {
                        RegisterAgent(model);
                    }

                    if (model.Role == "Specialist")
                    {
                        RegisterSpecialist(model);
                    }

                    if (model.Role == "Provider")
                    {
                        RegisterProvider(model);
                    }
                    //Add User to the Databases
                    return RedirectToAction("Index", model.Role);
                }
                else
                {
                    ModelState.AddModelError("", ErrorCodeToString(createStatus));
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
        public void RegisterProvider(RegisterModel model)
        {
            var newprovider = new MaintenanceProvider { EmailAddress = model.Email };
            var user = Membership.GetUser(model.UserName);
            if (user != null)
            {
                var providerUserKey = user.ProviderUserKey;
                if (providerUserKey != null)
                    newprovider.GUID = (Guid)providerUserKey;
                newprovider.FirstName = model.UserName;
                newprovider.Photo = "./../images/dotimages/avatar-placeholder.png";
                newprovider.GoogleMap = "USA";
            }

            _db.MaintenanceProviders.Add(newprovider);
            _db.SaveChanges();

        }