Esempio n. 1
0
        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Index", "Manage");
            }

            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }
                var user = new HMSUser { UserName = model.Email, Email = model.Email };
                var result = await UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
                        return RedirectToLocal(returnUrl);
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
Esempio n. 2
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new HMSUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Esempio n. 3
0
        public async Task <JsonResult> Action(UsersActionModel model)
        {
            JsonResult json = new JsonResult();

            IdentityResult result = null;

            if (!string.IsNullOrEmpty(model.Id))//editing a record
            {
                var user = await UserManager.FindByIdAsync(model.Id);

                user.FullName = model.FullName;
                user.Email    = model.Email;
                user.UserName = model.UserName;
                user.Country  = model.Country;
                user.City     = model.City;
                user.Address  = model.Address;
                result        = await UserManager.UpdateAsync(user);
            }
            else//creating a new record
            {
                var user = new HMSUser();
                user.FullName = model.FullName;
                user.Email    = model.Email;
                user.UserName = model.UserName;
                user.Country  = model.Country;
                user.City     = model.City;
                user.Address  = model.Address;
                result        = await UserManager.CreateAsync(user);
            }

            json.Data = new { Success = result.Succeeded, Message = string.Join(",", result.Errors) };
            return(json);
        }
Esempio n. 4
0
        public async Task <ActionResult> Action(UsersActionModel model)
        {
            JsonResult json = new JsonResult();

            IdentityResult result = null;

            if (!string.IsNullOrEmpty(model.ID)) // tyring to edit model
            {
                var users = await UserManager.FindByIdAsync(model.ID);


                model.FullName = users.FullName;

                model.Email    = users.Email;
                model.Country  = users.Country;
                model.Address  = users.Address;
                model.City     = users.City;
                model.username = users.UserName;


                result = await UserManager.UpdateAsync(users);

                json.Data = new { Success = result.Succeeded, Message = string.Join(",", result.Errors) };
            }
            else // create the record
            {
                var users = new HMSUser();

                users.FullName = model.FullName;

                users.Email    = model.Email;
                users.Country  = model.Country;
                users.Address  = model.Address;
                users.City     = model.City;
                users.UserName = model.username;

                result = await UserManager.CreateAsync(users);
            }



            json.Data = new { Success = result.Succeeded, Message = string.Join(",", result.Errors) };



            return(json);
        }
        public async Task <JsonResult> Action(UserActionViewModel model)
        {
            JsonResult json = new JsonResult {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            IdentityResult result;                                    // decalre IdentityResult

            if (!string.IsNullOrEmpty(model.ID))                      // Editing record
            {
                var user = await UserManager.FindByIdAsync(model.ID); // find users based on param ID


                user.FullName = model.FullName;
                user.Email    = model.Email;
                user.UserName = model.Username;
                user.Country  = model.Country;
                user.City     = model.City;
                user.Address  = model.Address;
                //model.AccomadationPackageID = accomadations.AccomadationPackageID;


                result = await UserManager.UpdateAsync(user); // update HMSUser table in databse
            }
            else // Saving record
            {
                HMSUser user = new HMSUser
                {
                    FullName = model.FullName,
                    Email    = model.Email,
                    UserName = model.Username,
                    Country  = model.Country,
                    City     = model.City,
                    Address  = model.Address,
                    //model.AccomadationPackageID = accomadations.AccomadationPackageID;
                };
                result = await UserManager.CreateAsync(user); // create user in HMSUser table in databse without a password
            }

            // show true if result is success otherwise false and show the result error
            json.Data = new { Success = result.Succeeded, Message = string.Join(",", result.Errors) };



            return(json);
        }
Esempio n. 6
0
        public async Task <JsonResult> Action(UsersActionViewModel model)
        {
            JsonResult json = new JsonResult();

            IdentityResult result = null;

            if (!string.IsNullOrEmpty(model.ID))
            {
                var user = await UserManager.FindByIdAsync(model.ID);

                //model.ID = user.Id;
                user.FullName = model.FullName;
                user.Email    = model.Email;
                user.UserName = model.UserName;
                user.Country  = model.Country;
                user.City     = model.City;
                user.Address  = model.Address;
                //Accomodation accomodation = _repoWrapper.Accomodations.Get(model.ID);
                //accomodation.Name = model.Name;
                //accomodation.RoleID = model.RoleID;
                //accomodation.Description = model.Description;

                //result = _repoWrapper.Accomodations.Update(accomodation);
                result = await UserManager.UpdateAsync(user);
            }
            else
            {
                var user = new HMSUser();

                //model.ID = user.Id;
                user.FullName = model.FullName;
                user.Email    = model.Email;
                user.UserName = model.UserName;
                user.Country  = model.Country;
                user.City     = model.City;
                user.Address  = model.Address;
                result        = await UserManager.CreateAsync(user);
            }


            json.Data = new { Success = result.Succeeded, Message = string.Join(",", result.Errors) };
            return(json);
        }
Esempio n. 7
0
        //Handle Create & Edit -
        public async Task <JsonResult> Action(UserActionModels model)
        {
            JsonResult     json   = new JsonResult();
            IdentityResult result = null;

            if (!string.IsNullOrEmpty(model.ID))//we are trying to edit a record
            {
                var user = await UserManager.FindByIdAsync(model.ID);

                //user.Id = model.ID;
                user.FullName = model.FullName;
                user.Email    = model.Email;
                user.UserName = model.Username;

                user.Country = model.Country;
                user.City    = model.City;
                user.Address = model.Address;


                result = await UserManager.UpdateAsync(user);
            }
            else    //we are trying to create a record
            {
                var user = new HMSUser();

                //user.Id = model.ID;
                user.FullName = model.FullName;
                user.Email    = model.Email;
                user.UserName = model.Username;

                user.Country = model.Country;
                user.City    = model.City;
                user.Address = model.Address;


                result = await UserManager.CreateAsync(user);
            }

            json.Data = new { Success = false, Message = string.Join(", ", result.Errors) };

            return(json);
        }
        public async Task <JsonResult> Action(UsersActionModel user)
        {
            IdentityResult result = null;
            JsonResult     json   = new JsonResult();

            //HMSUser model = new HMSUser();

            if (!string.IsNullOrEmpty(user.ID)) //try to edit records
            {
                var model = await UserManager.FindByIdAsync(user.ID);

                model.Id       = user.ID;
                model.FullName = user.FullName;
                model.UserName = user.UserName;
                model.Email    = user.Email;
                model.Phone    = user.Phone;
                model.Address  = user.Address;
                model.City     = user.City;
                model.Country  = user.Country;
                result         = await UserManager.UpdateAsync(model);
            }
            else
            {
                var model = new HMSUser();
                model.FullName = user.FullName;
                model.UserName = user.UserName;
                model.Email    = user.Email;
                model.Phone    = user.Phone;
                model.Address  = user.Address;
                model.City     = user.City;
                model.Country  = user.Country;
                result         = await UserManager.CreateAsync(model);
            }

            json.Data = new { Success = result.Succeeded, Message = string.Join(",", result.Errors) };
            return(json);
        }
        public async Task <JsonResult> Action(UserModel model)
        {
            JsonResult result = new JsonResult();
            var        user   = new HMSUser();

            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            var            message   = "";
            bool           isSuccess = false;
            IdentityResult data      = null;

            try
            {
                if (ModelState.IsValid)
                {
                    if (!string.IsNullOrEmpty(model.ID))
                    {
                        user = await UserManager.FindByIdAsync(model.ID);

                        user.FullName = model.FullName;
                        user.Email    = model.Email;
                        user.UserName = model.UserName;
                        user.Address  = model.Address;
                        user.Country  = model.Country;
                        user.City     = model.City;
                        data          = await UserManager.UpdateAsync(user);

                        isSuccess = data.Succeeded;
                    }
                    else
                    {
                        user.FullName = model.FullName;
                        user.Email    = model.Email;
                        user.UserName = model.UserName;
                        user.Address  = model.Address;
                        user.Country  = model.Country;
                        user.City     = model.City;
                        data          = await UserManager.CreateAsync(user, model.Password);

                        isSuccess = data.Succeeded;
                    }
                }
                else
                {
                    message = string.Join("; ", ModelState.Values
                                          .SelectMany(x => x.Errors)
                                          .Select(x => x.ErrorMessage));
                }
            }
            catch (Exception ex)
            {
                message = ex.Message;
            }
            if (isSuccess)
            {
                await UserManager.AddToRoleAsync(user.Id, "Users");

                message     = "Data Save Successfully!!";
                result.Data = new { Success = true, Message = message };
            }
            else
            {
                if (ModelState.IsValid)
                {
                    message = string.Join(",", data.Errors);
                }
                result.Data = new { Success = false, Message = message };
            }
            return(result);
        }