< Summary - Syki

Information
Class: Syki.Front.Features.Teacher.AddStudentClassActivityNote.AddStudentClassActivityNoteDialog
Assembly: Front
File(s): /home/runner/work/syki/syki/Front/Features/Teacher/AddStudentClassActivityNote/AddStudentClassActivityNoteDialog.razor
Tag: 4_16869239191
Line coverage
0%
Covered lines: 0
Uncovered lines: 22
Coverable lines: 22
Total lines: 84
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 8
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_MudDialog()100%210%
get_ActivityId()100%210%
get_Work()100%210%
Submit()0%4260%
Cancel()100%210%

File(s)

/home/runner/work/syki/syki/Front/Features/Teacher/AddStudentClassActivityNote/AddStudentClassActivityNoteDialog.razor

#LineLine coverage
 1@namespace Syki.Front.Features.Teacher.AddStudentClassActivityNote
 2
 3<MudDialog Class="pb-2" DefaultFocus="DefaultFocus.None">
 4    <TitleContent>
 5        <SykiDialogTitle Icon="@Icons.Material.Filled.BookmarkAdded" Text="Adicionar nota" />
 6    </TitleContent>
 7    <DialogContent>
 8
 9        <MudGrid Spacing="3">
 10            <MudItem xs="12" sm="12" md="12" lg="12">
 11                <SykiLabelText Label="Aluno" Text="@Work.StudentName" />
 12            </MudItem>
 13            <MudItem xs="12" sm="12" md="12" lg="12">
 14                <SykiLabelText Label="Link">
 015                    <MudLink Href="@Work.Link" Target="_blank" Color="Color.Primary">@(Work.Link.HasValue() ? Work.Link 
 16                </SykiLabelText>
 17            </MudItem>
 18        </MudGrid>
 19
 020        <MudForm @ref="@_form" Class="pt-4">
 021            <MudGrid Spacing="2">
 022                <MudItem xs="12" sm="12" md="12" lg="12">
 023                    <MudNumericField
 024                        T="decimal"
 025                        @bind-Value="@Work.Note"
 26                        Max="10.00M"
 27                        MaxLength="4"
 28                        Min="0"
 29                        Format="N2"
 30                        AutoFocus="true"
 31                        HideSpinButtons="true"
 32                        Variant="Variant.Outlined"
 33                        Margin="Margin.Dense"/>
 34                </MudItem>
 35            </MudGrid>
 36        </MudForm>
 37    </DialogContent>
 38    <DialogActions>
 39        <DialogCancelButton OnClick="@Cancel" />
 40        <SykiProgressCircular Loading="@_loading" />
 41        <DialogSaveButton OnClick="@Submit" />
 42    </DialogActions>
 43</MudDialog>
 44
 45@inject ISnackbar Snackbar
 46@inject AddStudentClassActivityNoteClient AddStudentClassActivityNoteClient
 47
 48@code
 49{
 50    [CascadingParameter]
 051    IMudDialogInstance MudDialog { get; set; }
 52
 53    [Parameter]
 054    public Guid ActivityId { get; set; }
 55
 56    [Parameter]
 057    public ClassActivityWorkOut Work { get; set; }
 58
 59    private MudForm _form;
 60    private bool _loading;
 61
 62    private async Task Submit()
 63    {
 064        if (_loading) return;
 65
 066        await _form.Validate();
 067        if (!_form.IsValid) return;
 68
 069        _loading = true;
 070        var result = await AddStudentClassActivityNoteClient.Add(ActivityId, Work.StudentId, Work.Note);
 071        if (result.IsSuccess)
 72        {
 073            MudDialog.Close(DialogResult.Ok(true));
 074            Snackbar.Add("Nota adicionada com sucesso!", Severity.Success);
 75        }
 76        else
 77        {
 078            Snackbar.Add(result.Error.Message, Severity.Error);
 79        }
 080        _loading = false;
 081    }
 82
 083    private void Cancel() => MudDialog.Cancel();
 84}