public async Task <IActionResult> EditOfficer(int personalDetailsId, ResultHandler resultHandler = null) { var role = HttpContext.Session.GetInt32(SessionKeyRole); var username = HttpContext.Session.GetString(SessionUserName); if (username == null) { HttpContext.Session.SetString(SessionUserName, username); } if (resultHandler.Result != null) { personalDetailsId = (int)resultHandler.Result; } if (username == null && role != 1) { return(RedirectToAction("Login", "Accounts")); } UserDTO user = new UserDTO(); var requestUrl = $"{BaseUrl}{apiUri}/GetUserById?personId={personalDetailsId}"; using (var client = new HttpClient()) { client.BaseAddress = new Uri(requestUrl); HttpResponseMessage response = await client.GetAsync(requestUrl); if (response.StatusCode == HttpStatusCode.OK) { user = await response.Content.ReadAsAsync <UserDTO>(); } ; }; IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl); IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl); IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl); user.Branches = branches; user.Positions = positions; user.Roles = roles; //True - means its comming from edit and something went wrong if (resultHandler.IsErrorOccured == true) { user.IsErrorOccured = true; user.Message = "The system failed to delete the record, please contact inform Technical Administrator"; } return(View(user)); }
public async Task <IActionResult> Register(string message) { if (message != null) { ViewBag.message = message; } IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl); IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl); IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl); var user = new UserDTO { Branches = branches, Positions = positions, Roles = roles, }; return(View(user)); }
public async Task <IActionResult> Register(UserDTO user) { if (user.DateOfBirth > DateTime.UtcNow.AddHours(2)) { string error = "Date cannot be from the future"; return(RedirectToAction("Register", new { message = error })); } if (user.DateOfBirth == DateTime.UtcNow.AddHours(2)) { string error = "Date cannot be today"; return(RedirectToAction("Register", new { message = error })); } int age = DateTime.UtcNow.Year - user.DateOfBirth.Year; if (age < 16) { string error = "Minimum years is 16 years old"; return(RedirectToAction("Register", new { message = error })); } OutputHandler resultHandler = new OutputHandler(); if (user.Password == user.ConfirmPassword) { if (ModelState.IsValid) { var requestUrl = $"{BaseUrl}{apiUri}/CreateUser"; using (var client = new HttpClient()) { client.BaseAddress = new Uri(requestUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); user.RoleId = 2; var result = await client.PostAsJsonAsync(client.BaseAddress, user); if (result.StatusCode == HttpStatusCode.OK) { if (user.PositionId == 3) { return(RedirectToAction("ManageUsers")); } else { return(RedirectToAction("ManageOfficers")); } } else { resultHandler = await result.Content.ReadAsAsync <OutputHandler>(); if (resultHandler.Message != null) { user.Message = resultHandler.Message; } IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl); IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl); IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl); user.Branches = branches; user.Positions = positions; user.Roles = roles; user.IsOfficerCreation = user.IsOfficerCreation; return(View(user)); } }; } else { IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl); IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl); IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl); user.Branches = branches; user.Positions = positions; user.Roles = roles; user.IsOfficerCreation = user.IsOfficerCreation; return(View(user)); } } else { ModelState.AddModelError("", "Password does do not match"); ; IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl); IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl); IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl); user.Branches = branches; user.Positions = positions; user.Roles = roles; user.IsOfficerCreation = user.IsOfficerCreation; //var user = new UserDTO //{ // Branches = branches, // Positions = positions, // Roles = roles //}; } return(View(user)); }
public async Task <IActionResult> EditOfficer(long personalDetailsId, UserDTO user) { ResultHandler resultHandler = new ResultHandler(); if (ModelState.IsValid) { var requestUrl = $"{BaseUrl}{apiUri}/UpdateUser"; using (var client = new HttpClient()) { client.BaseAddress = new Uri(requestUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); user.RoleId = 1; var result = await client.PostAsJsonAsync(client.BaseAddress, user); if (result.StatusCode == HttpStatusCode.OK) { return(RedirectToAction("ManageOfficers")); } else { resultHandler = await result.Content.ReadAsAsync <ResultHandler>(); if (resultHandler.IsErrorOccured) { ModelState.AddModelError("", resultHandler.Message); } IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl); IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl); IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl); user.Branches = branches; user.Positions = positions; user.Roles = roles; return(View(user)); } }; } else { IEnumerable <Branch> branches = await StaticDataHandler.GetBranches(BaseUrl); IEnumerable <Positions> positions = await StaticDataHandler.GetPositions(BaseUrl); IEnumerable <Roles> roles = await StaticDataHandler.GetRoles(BaseUrl); user.Branches = branches; user.Positions = positions; user.Roles = roles; return(View(user)); } return(View(user)); }