Пример #1
0
        public async Task <IActionResult> Details(string returnUrl = null)
        {
            // get user
            var user = await _userManager.GetUserAsync(User);

            // get role
            var role = _userManager.GetRolesAsync(user).ToAsyncEnumerable();

            // if user not found
            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
            }
            // assign user properties to EditDetails Model
            EditUserDetails edit = _mapper.Map <EditUserDetails>(user);

            if (user.Address != null)
            {
                string[] address = user.Address.Split(",");
                edit.FLAddress = address[0];
                edit.SLAddress = address[1];
                edit.PostCode  = address[2];
            }
            if (user.SavedCustomerCard != null)
            {
                edit.SavedCardId = user.SavedCustomerCard;
            }
            edit.RemoveSavedCard  = false;
            ViewData["ReturnUrl"] = returnUrl;

            return(View(edit));
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="userDetails"></param>
        /// <returns></returns>
        public Message UpdateUserDetails(EditUserDetails userDetails)
        {
            List <SqlParameter> param = new List <SqlParameter>();

            param.Add(new SqlParameter()
            {
                ParameterName = "@UserId", Value = userDetails.UserId
            });
            param.Add(new SqlParameter()
            {
                ParameterName = "@Email", Value = userDetails.Email
            });
            param.Add(new SqlParameter()
            {
                ParameterName = "@Fname", Value = userDetails.FName
            });
            param.Add(new SqlParameter()
            {
                ParameterName = "@LName", Value = userDetails.LName
            });
            param.Add(new SqlParameter()
            {
                ParameterName = "@Mobile", Value = userDetails.Mobile
            });
            param.Add(new SqlParameter()
            {
                ParameterName = "@RoleId", Value = userDetails.RoleId
            });
            param.Add(new SqlParameter()
            {
                ParameterName = "@ModifiedBy", Value = userDetails.ModifiedBy
            });
            param.Add(new SqlParameter()
            {
                ParameterName = "@MessageCode", Value = userDetails.MessageCode, Direction = ParameterDirection.Output, Size = 10
            });
            param.Add(new SqlParameter()
            {
                ParameterName = "@MessageDescription", Value = userDetails.MessageDescription, Direction = ParameterDirection.Output, Size = 100
            });

            List <SqlParameter> retParam = new List <SqlParameter>();
            int isSuccessful             = Update(param, StoredProcedureName.UPDATE_ADMIN_USER_DETAILS, out retParam);

            return(new Message {
                MessageCode = (bool)retParam.ElementAtOrDefault(0).Value, MessageDescription = retParam.ElementAtOrDefault(1).Value.ToStringSafe()
            });
        }
        public void EditUser(User user, EditUserDetails details)
        {
            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                SqlCommand cmd = new SqlCommand("EditUser", cn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@Id", user.Id);
                cmd.Parameters.AddWithValue("@FullName", user.FullName);
                cmd.Parameters.AddWithValue("@FirstName", user.FirstName);
                cmd.Parameters.AddWithValue("@LastName", user.LastName);
                cmd.Parameters.AddWithValue("@Email", user.Email);
                cmd.Parameters.AddWithValue("@UserName", user.UserName);

                cn.Open();
                cmd.ExecuteNonQuery();

                cn.Close();

                SqlCommand cmd2 = new SqlCommand("GetRoleID", cn);
                cmd2.CommandType = CommandType.StoredProcedure;
                cmd2.Parameters.AddWithValue("@Role", details.Role);

                cn.Open();

                using (SqlDataReader dr2 = cmd2.ExecuteReader())
                {
                    if (dr2.Read())
                    {
                        details.RoleID = dr2["Id"].ToString();
                    }
                }

                cn.Close();

                SqlCommand cmd3 = new SqlCommand("UpdateUserRole", cn);
                cmd3.CommandType = CommandType.StoredProcedure;
                cmd3.Parameters.AddWithValue("@UserID", user.Id);
                cmd3.Parameters.AddWithValue("@RoleID", details.RoleID);

                cn.Open();
                cmd3.ExecuteNonQuery();
            }
        }
        public EditUserDetails GetByID(string id)
        {
            EditUserDetails details = new EditUserDetails();

            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                SqlCommand cmd = new SqlCommand("GetUserByID", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Id", id);
                cn.Open();
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    if (dr.Read())
                    {
                        details.FirstName = dr["FirstName"].ToString();
                        details.LastName  = dr["LastName"].ToString();
                        details.Email     = dr["Email"].ToString();
                        details.Role      = dr["Role"].ToString();
                    }
                }
            }

            return(details);
        }
Пример #5
0
        public async Task <IActionResult> Details(EditUserDetails model, string returnUrl = null)
        {
            // find the user to be updated
            var user = await _userManager.FindByIdAsync(model.Id);

            // if not found, send to not gound page
            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
            }

            // check if model valid
            if (ModelState.IsValid)
            {
                try
                {
                    // update user details
                    user.AgencyOrClubName = model.AgencyOrClubName;
                    user.DateOfBirth      = model.DateOfBirth;
                    user.FirstName        = model.FirstName;
                    user.Email            = model.Email;
                    user.LastName         = model.LastName;
                    user.IdNumber         = model.IdNumber;
                    user.UserName         = model.Email;
                    if (model.PhoneNumber != null)
                    {
                        user.PhoneNumber = model.PhoneNumber;
                    }

                    user.Address = model.FLAddress + "," + model.SLAddress + "," + model.PostCode;
                    if (model.RemoveSavedCard == true)
                    {
                        user.SavedCustomerCard = null;
                    }

                    //save details
                    await _userManager.UpdateAsync(user);

                    // refresh sign in session
                    await _signInManager.RefreshSignInAsync(user);

                    ViewData["ReturnUrl"] = returnUrl;


                    TempData["UserNotifier"] = new UserNotifier()
                    {
                        CssFormat   = "alert-success",
                        MessageType = "Success!",
                        Content     = "Details successfully update"
                    };
                    return(View(model));
                }
                catch (Exception e)
                {
                    // if exception occurs, let user know
                    TempData["UserNotifier"] = new UserNotifier()
                    {
                        CssFormat   = "alert-error",
                        MessageType = "Error!",
                        Content     = "Could not update your details,please try again later"
                    };
                    return(View(model));
                }
            }
            return(View(model));
        }