Esempio n. 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));
        }
Esempio n. 2
0
        /// <summary>
        /// Delete user.
        /// </summary>
        /// <param name="userId">the userId to delete.</param>
        /// <returns></returns>
        public async Task <ActionResult> DeleteUser(int userId)
        {
            JsonReturnData data = new JsonReturnData();

            if (userId > 0)
            {
                string         param  = $"{nameof(userId)}={userId}";
                UserResultData result = await WebApiClient.DeleteAsync <UserResultData>(Constant.WebApiControllerUser, Constant.WebApiDeleteUser, param);

                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)
                {
                    data.SuccessMessage   = UserResources.Ok;
                    data.OperationSuccess = true;
                }
            }
            else
            {
                data.ErrorMessage     = UserResources.RequiredUserId;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }
Esempio n. 3
0
        /// <summary>
        /// Activate user.
        /// </summary>
        /// <param name="userId">the user to activate.</param>
        /// <returns></returns>
        public async Task <OmsJsonResult> ActivateUser(int?userId)
        {
            JsonReturnData data = new JsonReturnData();

            if (userId.HasValue)
            {
                //find user.
                UserRequestData findRequest = new UserRequestData
                {
                    UserDto = new UserItemData()
                    {
                        UserId = userId.Value
                    },
                    FindUserDto = FindUserItemData.UserId
                };

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

                if (result != null && result.OperationSuccess && result.UserDto != null)
                {
                    result.UserDto.UserStatut = !result.UserDto.UserStatut;

                    //update user.
                    UserResultData updatedResult = await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser, Constant.WebApiUpdateUser, result.ToUserRequestData());

                    if (updatedResult == null)
                    {
                        data.ErrorMessage     = SharedResources.ServerError;
                        data.OperationSuccess = false;
                    }
                    else if (!updatedResult.OperationSuccess && updatedResult.Errors != null &&
                             updatedResult.Errors.Count > 0)
                    {
                        data.ErrorMessage     = updatedResult.Errors.First();
                        data.OperationSuccess = false;
                    }
                    else if (updatedResult.OperationSuccess)
                    {
                        data.SuccessMessage   = UserResources.Ok;
                        data.OperationSuccess = true;
                    }
                }
                else
                {
                    data.SuccessMessage   = UserResources.NotFound;
                    data.OperationSuccess = false;
                }
            }
            else
            {
                data.ErrorMessage     = UserResources.RequiredUserId;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }
Esempio n. 4
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 ConnectionFormData ToFormData(this UserResultData resultData)
        {
            ConnectionFormData formData = new ConnectionFormData();

            if (resultData?.UserDto != null)
            {
                formData.Password = resultData.UserDto.UserPassword;
                formData.Username = resultData.UserDto.UserMail;
            }
            return(formData);
        }
Esempio n. 5
0
        /// <summary>
        /// Get the list of the users.
        /// </summary>
        /// <returns>action user</returns>
        public async Task <ActionResult> GetUsers()
        {
            UserViewData userViewData = new UserViewData {
                Users = new List <UserItemData>()
            };
            UserResultData result = await WebApiClient.GetAsync <UserResultData>(Constant.WebApiControllerUser, Constant.WebApiUserList);

            if (result.OperationSuccess && result.UserDtoList != null)
            {
                userViewData.Users = result.UserDtoList;
            }
            return(PartialView("Partials/_UsersList", userViewData));
        }
Esempio n. 6
0
        /// <summary>
        /// Return true if the user exist.
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        private static async Task <bool> IsActiveUserExiste(int userId)
        {
            UserRequestData findRequest = new UserRequestData
            {
                UserDto = new UserItemData {
                    UserId = userId
                },
                FindUserDto = FindUserItemData.UserId
            };

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

            return(result != null && result.OperationSuccess && result.UserDto != null && result.UserDto.UserStatut);
        }
Esempio n. 7
0
        /// <summary>
        /// Return true if the user exist.
        /// </summary>
        /// <returns></returns>
        public static async Task <bool> IsUserExiste()
        {
            int             userId      = int.Parse(HttpContext.Current.User.Identity.Name);
            UserRequestData findRequest = new UserRequestData
            {
                UserDto = new UserItemData {
                    UserId = userId
                },
                FindUserDto = FindUserItemData.UserId
            };

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

            return(result != null && result.OperationSuccess && result.UserDto != null);
        }
Esempio n. 8
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);
        }
Esempio n. 9
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));
        }
Esempio n. 10
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 UserRequestData ToUserRequestData(this UserResultData resultData)
        {
            UserRequestData userRequestData = new UserRequestData();

            if (resultData?.UserDto != null)
            {
                userRequestData = new UserRequestData
                {
                    UserDto = new UserItemData
                    {
                        UserPassword = resultData.UserDto.UserPassword,
                        UserPicture  = resultData.UserDto.UserPicture,
                        UserStatut   = resultData.UserDto.UserStatut,
                        UserName     = resultData.UserDto.UserName,
                        UserMail     = resultData.UserDto.UserMail,
                        UserId       = resultData.UserDto.UserId
                    }
                };
            }
            return(userRequestData);
        }
Esempio n. 11
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));
        }
Esempio n. 12
0
        public async System.Threading.Tasks.Task <ActionResult> Connection(ConnectionFormData formData)
        {
            if (!ModelState.IsValid)
            {
                return(View("Index", formData));
            }
            try
            {
                UserRequestData request = new UserRequestData
                {
                    UserDto = new UserItemData {
                        UserMail = formData.Username
                    },
                    FindUserDto = FindUserItemData.UserMail
                };
                UserResultData result = await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser, Constant.WebApiFindUser, request);

                if (result != null && result.OperationSuccess && result.UserDto != null)
                {
                    if (result.UserDto.UserPassword == formData.Password)
                    {
                        FormsAuthentication.SetAuthCookie(result.UserDto.UserId.ToString(), true);
                        Session["ConnectedUser"] = result.UserDto;
                        return(RedirectToAction("Index", "Activities"));
                    }
                    ViewBag.Errors = ConnectionResources.Errors;
                    return(View("Index", formData));
                }
                ViewBag.Errors = result?.ErrorMessage;
                return(View("Index", formData));
            }
            catch (Exception e)
            {
                var message = e.Message;
                ViewBag.Errors = message;
            }
            return(View("Index", formData));
        }
Esempio n. 13
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));
        }
Esempio n. 14
0
        /// <summary>
        /// The index page.
        /// </summary>
        /// <returns></returns>
        public async Task <ActionResult> Index()
        {
            if (Session["ConnectedUser"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            bool isAuthorizedUser = await AuthorizeUserAttribute.Authorize("A_USERS");

            if (!isAuthorizedUser)
            {
                return(RedirectToAction("NoAccess", "Errors"));
            }
            UserViewData userViewData = new UserViewData {
                Users = new List <UserItemData>()
            };
            UserResultData result = await WebApiClient.GetAsync <UserResultData>(Constant.WebApiControllerUser, Constant.WebApiUserList);

            if (result?.UserDtoList != null && result.OperationSuccess)
            {
                userViewData.Users = result.UserDtoList;
            }
            ViewBag.Users = "active";
            return(View(userViewData));
        }