public async Task <IActionResult> PunchClockAsync(ClockedTimeCreateDto dto) { var user = await _userManager.FindByEmailAsync(dto.Email); bool userIsAuthenticated = false; if (user != null) { userIsAuthenticated = await _userManager.CheckPasswordAsync(user, dto.Password); } var clockInResult = new PunchClockResult() { Success = false, Message = "Error: Invalid credentials" }; if (userIsAuthenticated) { if (dto.Position == 0) { clockInResult = await _clockedTimeRepo.SignInUser(user.Id); } else { clockInResult = await _clockedTimeRepo.PunchClock(user.Id, dto.Position); } } return(Ok(clockInResult)); }
private async void AuthenticateUser() { try { if (!String.IsNullOrWhiteSpace(Email) && !String.IsNullOrWhiteSpace(Password)) { ClockedTimeCreateDto dto = new ClockedTimeCreateDto { Email = _email, Password = _password, }; var json = JsonConvert.SerializeObject(dto); var requestContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.PostAsync(punchClockUrl, requestContent); if (response.IsSuccessStatusCode) { var responseContent = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <PunchClockResult>(responseContent); Result = result.Message; if (result.Success) { if (!result.Message.Contains("clocked out")) { IsNotAuthenticated = false; IsAuthenticated = true; } else { Email = ""; Password = ""; Position = null; } } } } else { Result = "You must enter both your email and password to clock in."; } } catch (HttpRequestException netEx) { Result = "There was an error connecting to the database that was most likely caused by lack of internet connection. Please contact your supervisor."; } catch (Exception ex) { Result = "An unhandled error occured. Please contact your supervisor."; } }
private async void ClockIn() { if (Position != null) { ClockedTimeCreateDto dto = new ClockedTimeCreateDto { Email = _email, Password = _password, Position = _position.Id }; var json = JsonConvert.SerializeObject(dto); var requestContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.PostAsync(punchClockUrl, requestContent); if (response.IsSuccessStatusCode) { var responseContent = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <PunchClockResult>(responseContent); Result = result.Message; Email = ""; Password = ""; Position = null; IsAuthenticated = false; IsNotAuthenticated = true; } else { Result = "Something went wrong. Please try again or ask your supervisor for help."; } _resultTimer.Start(); } else { Result = "You must select a position."; } }