Untitled

 avatar
unknown
plain_text
2 months ago
1.4 kB
2
Indexable
private async void OnTimeInClicked(object sender, EventArgs e)
{
    try
    {
        // Check if an entry for today already exists
        var openTimeEntry = await _firebaseHelper.GetTodaysTimeEntryAsync(
            _currentInstructors.ID,
            SubjectCodeLabel.Text
        );

        if (openTimeEntry != null)
        {
            await DisplayAlert("Error", "You already have an entry for today.", "OK");
            return;
        }

        // Log Time In
        var timeEntry = new TimeEntry
        {
            instructorId = _currentInstructors.ID,
            FirstName = _currentInstructors.FirstName,
            LastName = _currentInstructors.LastName,
            TimeIn = DateTime.Now,
            SubjectName = SubjectNameLabel.Text,
            SubjectCode = SubjectCodeLabel.Text
        };

        _currentEntryKey = await _firebaseHelper.AddTimeInAsync(timeEntry);

        if (!string.IsNullOrEmpty(_currentEntryKey))
        {
            TimeInLabel.Text = $"Time In: {timeEntry.TimeIn:g}";
            TimeInButton.IsEnabled = false; // Disable button after logging
            TimeOutButton.IsEnabled = true;
        }
        else
        {
            await DisplayAlert("Error", "Failed to record Time In.", "OK");
        }
    }
    catch (Exception ex)
    {
        await DisplayAlert("Error", $"An error occurred: {ex.Message}", "OK");
    }
}
Leave a Comment