示例#1
0
        /// <summary>
        /// The index page profile.
        /// </summary>
        /// <returns></returns>
        public async Task <ActionResult> Index()
        {
            if (Session["ConnectedUser"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            bool isAuthorizedUser = await AuthorizeUserAttribute.IsUserExiste();

            if (!isAuthorizedUser)
            {
                return(RedirectToAction("Index", "Home"));
            }

            UserRequestData findRequest = new UserRequestData {
                UserDto = new UserItemData {
                    UserId = int.Parse(User.Identity.Name)
                }
            };
            ManageUserFormData userFormData = new ManageUserFormData();

            UserResultData result = await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser, Constant.WebApiFindUser, findRequest);

            if (result != null && result.OperationSuccess && result.UserDto != null)
            {
                userFormData = result.ToUserFormData();
            }
            return(View(userFormData));
        }
示例#2
0
        /// <summary>
        /// Get the view to creating new user.
        /// </summary>
        /// <returns>creating view</returns>
        public ActionResult GetCreateUser()
        {
            ManageUserFormData userFormData = new ManageUserFormData {
                UserId = 0
            };

            ViewBag.action = "CreateUser";

            return(PartialView("Partials/_ManageUser", userFormData));
        }
示例#3
0
        /// <summary>
        /// From user result data to connection form data
        /// </summary>
        /// <param name="resultData">the user result data from web api.</param>
        /// <returns>the form data.</returns>
        public static ManageUserFormData ToUserFormData(this UserResultData resultData)
        {
            ManageUserFormData formData = new ManageUserFormData();

            if (resultData?.UserDto != null)
            {
                formData = new ManageUserFormData
                {
                    UserStatus = resultData.UserDto.UserStatut,
                    UserName   = resultData.UserDto.UserName,
                    UserMail   = resultData.UserDto.UserMail,
                    UserId     = resultData.UserDto.UserId
                };
            }
            return(formData);
        }
示例#4
0
        public async Task <OmsJsonResult> CreateUser(ManageUserFormData userFormData)
        {
            UserRequestData userRequestData = userFormData.ToRequestData();

            if (userRequestData.UserDto.UserPicture == null)
            {
                userRequestData.UserDto.UserPicture = "default-user.png";
            }
            else
            {
                userFormData.UserPicture.SaveAs(Server.MapPath($"~/Images/Users/" + userFormData.UserPicture.FileName));
            }

            UserResultData result =
                await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser,
                                                                                       Constant.WebApiCreateUser, userRequestData);

            JsonReturnData data = new JsonReturnData();

            if (result == null)
            {
                data.ErrorMessage     = SharedResources.ServerError;
                data.OperationSuccess = false;
            }
            else if (!result.OperationSuccess && result.Errors != null && result.Errors.Count > 0)
            {
                data.ErrorMessage     = result.Errors.First();
                data.OperationSuccess = false;
            }
            else if (result.OperationSuccess)
            {
                //send mail :
                string bodyText = System.IO.File.ReadAllText(Server.MapPath($"/Templates/NewUserMail.html"));
                bodyText = bodyText.Replace("{passe}", result.UserDto.UserPassword);
                bodyText = bodyText.Replace("{login}", result.UserDto.UserMail);

                Thread mailThread = new Thread(() =>
                                               MaillingService.SendMail(result.UserDto.UserMail, SharedResources.SubjectUserMail, bodyText, true));
                mailThread.Start();

                data.SuccessMessage   = UserResources.Ok;
                data.OperationSuccess = true;
            }

            return(new OmsJsonResult(data));
        }
示例#5
0
        /// <summary>
        /// From Form data to request data.
        /// </summary>
        /// <param name="formData">the form data to convert.</param>
        /// <returns>the request data.</returns>
        public static UserRequestData ToRequestData(this ManageUserFormData formData)
        {
            UserRequestData request = new UserRequestData();

            if (formData != null)
            {
                request.UserDto = new UserItemData
                {
                    UserPicture  = formData.UserPicture?.FileName,
                    UserPassword = formData.UserPassword,
                    UserStatut   = formData.UserStatus,
                    UserMail     = formData.UserMail,
                    UserName     = formData.UserName,
                    UserId       = formData.UserId
                };
            }
            return(request);
        }
示例#6
0
        /// <summary>
        /// The update user view.
        /// </summary>
        /// <param name="userId">the user id to update.</param>
        /// <returns>updating view</returns>
        public async Task <ActionResult> GetUpdateUser(int userId)
        {
            ManageUserFormData userFormData = new ManageUserFormData();
            UserRequestData    findRequest  = new UserRequestData()
            {
                UserDto = new UserItemData {
                    UserId = userId
                },
                FindUserDto = FindUserItemData.UserId
            };

            UserResultData result = await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser, Constant.WebApiFindUser, findRequest);

            if (result != null && result.OperationSuccess && result.UserDto != null)
            {
                userFormData = result.ToUserFormData();
            }

            ViewBag.action = "UpdateUser";
            return(PartialView("Partials/_ManageUser", userFormData));
        }
示例#7
0
        public async Task <OmsJsonResult> UpdateProfile(ManageUserFormData userForm)
        {
            UserResultData result = await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser, Constant.WebApiUpdateUser, userForm.ToRequestData());

            JsonReturnData data = new JsonReturnData();

            if (result != null && result.OperationSuccess)
            {
                data.SuccessMessage   = UserResources.Ok;
                data.OperationSuccess = true;
            }
            else if (result != null && result.OperationSuccess == false && result.Errors != null && result.Errors.Any())
            {
                data.ErrorMessage     = result.Errors.First();
                data.OperationSuccess = false;
            }
            else if (result == null)
            {
                data.ErrorMessage     = SharedResources.ServerError;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }