/// <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)); }
/// <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)); }
/// <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)); }
/// <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); }
/// <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)); }
/// <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); }
/// <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); }
/// <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); }
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)); }
/// <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); }
/// <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)); }
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)); }
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)); }
/// <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)); }