generated from Integry/Template_NetMauiBlazorHybrid
Sistemati caricamenti
This commit is contained in:
@@ -232,7 +232,7 @@ public class ManageDataService(
|
|||||||
return await MapActivity(activities);
|
return await MapActivity(activities);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<ActivityDTO>> MapActivity(List<StbActivity>? activities)
|
public async Task<List<ActivityDTO>> MapActivity(List<StbActivity>? activities)
|
||||||
{
|
{
|
||||||
if (activities == null) return [];
|
if (activities == null) return [];
|
||||||
|
|
||||||
@@ -291,7 +291,7 @@ public class ManageDataService(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dto.Commessa = jtbComtList.LastOrDefault();
|
dto.Commessa = jtbComtList.Find(x => x.CodJcom.Equals(dto.CodJcom));
|
||||||
return dto;
|
return dto;
|
||||||
})
|
})
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|||||||
@@ -149,10 +149,9 @@ else
|
|||||||
await Task.Run(async () =>
|
await Task.Run(async () =>
|
||||||
{
|
{
|
||||||
var activities = await IntegryApiService.RetrieveActivity(new CRMRetrieveActivityRequestDTO { CodJcom = CodJcom });
|
var activities = await IntegryApiService.RetrieveActivity(new CRMRetrieveActivityRequestDTO { CodJcom = CodJcom });
|
||||||
ActivityList = Mapper.Map<List<ActivityDTO>>(activities)
|
ActivityList = (await ManageData.MapActivity(activities)).OrderByDescending(x =>
|
||||||
.OrderBy(x =>
|
(x.EffectiveTime ?? x.EstimatedTime) ?? x.DataInsAct
|
||||||
(x.EffectiveTime ?? x.EstimatedTime) ?? x.DataInsAct
|
).ToList();
|
||||||
).ToList();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
ActivityIsLoading = false;
|
ActivityIsLoading = false;
|
||||||
|
|||||||
@@ -24,11 +24,11 @@
|
|||||||
Back="true"
|
Back="true"
|
||||||
BackOnTop="true"
|
BackOnTop="true"
|
||||||
Title=""
|
Title=""
|
||||||
ShowProfile="false" />
|
ShowProfile="false"/>
|
||||||
|
|
||||||
@if (IsLoading)
|
@if (IsLoading)
|
||||||
{
|
{
|
||||||
<SpinnerLayout FullScreen="true" />
|
<SpinnerLayout FullScreen="true"/>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -123,7 +123,7 @@ else
|
|||||||
<div class="container-pers-rif">
|
<div class="container-pers-rif">
|
||||||
@foreach (var person in PersRif)
|
@foreach (var person in PersRif)
|
||||||
{
|
{
|
||||||
<ContactCard Contact="person" />
|
<ContactCard Contact="person"/>
|
||||||
@if (person != PersRif.Last())
|
@if (person != PersRif.Last())
|
||||||
{
|
{
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
@@ -147,11 +147,11 @@ else
|
|||||||
<div class="tab-content" style="display: @(ActiveTab == 1 ? "block" : "none")">
|
<div class="tab-content" style="display: @(ActiveTab == 1 ? "block" : "none")">
|
||||||
@if (IsLoadingCommesse)
|
@if (IsLoadingCommesse)
|
||||||
{
|
{
|
||||||
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="my-7" />
|
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="my-7"/>
|
||||||
}
|
}
|
||||||
else if (Commesse?.Count == 0)
|
else if (Commesse?.Count == 0)
|
||||||
{
|
{
|
||||||
<NoDataAvailable Text="Nessuna commessa presente" />
|
<NoDataAvailable Text="Nessuna commessa presente"/>
|
||||||
}
|
}
|
||||||
else if (Commesse != null)
|
else if (Commesse != null)
|
||||||
{
|
{
|
||||||
@@ -162,13 +162,13 @@ else
|
|||||||
Variant="Variant.Text"
|
Variant="Variant.Text"
|
||||||
@bind-Value="SearchTermCommesse"
|
@bind-Value="SearchTermCommesse"
|
||||||
OnDebounceIntervalElapsed="() => ApplyFiltersCommesse()"
|
OnDebounceIntervalElapsed="() => ApplyFiltersCommesse()"
|
||||||
DebounceInterval="500" />
|
DebounceInterval="500"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="commesse-container">
|
<div class="commesse-container">
|
||||||
@if (IsLoadingSteps)
|
@if (IsLoadingSteps)
|
||||||
{
|
{
|
||||||
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="my-3" />
|
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="my-3"/>
|
||||||
}
|
}
|
||||||
|
|
||||||
@foreach (var commessa in CurrentPageCommesse)
|
@foreach (var commessa in CurrentPageCommesse)
|
||||||
@@ -176,14 +176,14 @@ else
|
|||||||
<div class="commessa-wrapper" style="@(IsLoadingStep(commessa.CodJcom) ? "opacity: 0.7;" : "")">
|
<div class="commessa-wrapper" style="@(IsLoadingStep(commessa.CodJcom) ? "opacity: 0.7;" : "")">
|
||||||
@if (Steps.TryGetValue(commessa.CodJcom, out var steps))
|
@if (Steps.TryGetValue(commessa.CodJcom, out var steps))
|
||||||
{
|
{
|
||||||
<CommessaCard Steps="@steps" RagSoc="@Anag.RagSoc" Commessa="commessa" />
|
<CommessaCard Steps="@steps" RagSoc="@Anag.RagSoc" Commessa="commessa"/>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<CommessaCard Steps="null" RagSoc="@Anag.RagSoc" Commessa="commessa" />
|
<CommessaCard Steps="null" RagSoc="@Anag.RagSoc" Commessa="commessa"/>
|
||||||
@if (IsLoadingStep(commessa.CodJcom))
|
@if (IsLoadingStep(commessa.CodJcom))
|
||||||
{
|
{
|
||||||
<MudProgressLinear Indeterminate="true" Color="Color.Primary" Class="my-1" Style="height: 2px;" />
|
<MudProgressLinear Indeterminate="true" Color="Color.Primary" Class="my-1" Style="height: 2px;"/>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
@@ -194,7 +194,7 @@ else
|
|||||||
<div class="custom-pagination">
|
<div class="custom-pagination">
|
||||||
<MudPagination BoundaryCount="1" MiddleCount="1" Count="@TotalPagesCommesse"
|
<MudPagination BoundaryCount="1" MiddleCount="1" Count="@TotalPagesCommesse"
|
||||||
@bind-Selected="SelectedPageCommesse"
|
@bind-Selected="SelectedPageCommesse"
|
||||||
Color="Color.Primary" />
|
Color="Color.Primary"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="SelectedPageSize">
|
<div class="SelectedPageSize">
|
||||||
@@ -217,11 +217,11 @@ else
|
|||||||
<div class="tab-content" style="display: @(ActiveTab == 2 ? "block" : "none")">
|
<div class="tab-content" style="display: @(ActiveTab == 2 ? "block" : "none")">
|
||||||
@if (ActivityIsLoading)
|
@if (ActivityIsLoading)
|
||||||
{
|
{
|
||||||
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="my-7" />
|
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="my-7"/>
|
||||||
}
|
}
|
||||||
else if (ActivityList?.Count == 0)
|
else if (ActivityList?.Count == 0)
|
||||||
{
|
{
|
||||||
<NoDataAvailable Text="Nessuna attivit<69> presente" />
|
<NoDataAvailable Text="Nessuna attivit<69> presente"/>
|
||||||
}
|
}
|
||||||
else if (ActivityList != null)
|
else if (ActivityList != null)
|
||||||
{
|
{
|
||||||
@@ -232,13 +232,13 @@ else
|
|||||||
Variant="Variant.Text"
|
Variant="Variant.Text"
|
||||||
@bind-Value="SearchTermActivity"
|
@bind-Value="SearchTermActivity"
|
||||||
OnDebounceIntervalElapsed="() => ApplyFiltersActivity()"
|
OnDebounceIntervalElapsed="() => ApplyFiltersActivity()"
|
||||||
DebounceInterval="500" />
|
DebounceInterval="500"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="attivita-container">
|
<div class="attivita-container">
|
||||||
@foreach (var activity in CurrentPageActivity)
|
@foreach (var activity in CurrentPageActivity)
|
||||||
{
|
{
|
||||||
<ActivityCard ShowDate="true" Activity="activity" />
|
<ActivityCard ShowDate="true" Activity="activity"/>
|
||||||
}
|
}
|
||||||
|
|
||||||
@if (TotalPagesActivity > 1)
|
@if (TotalPagesActivity > 1)
|
||||||
@@ -246,7 +246,7 @@ else
|
|||||||
<div class="custom-pagination">
|
<div class="custom-pagination">
|
||||||
<MudPagination BoundaryCount="1" MiddleCount="1" Count="@TotalPagesActivity"
|
<MudPagination BoundaryCount="1" MiddleCount="1" Count="@TotalPagesActivity"
|
||||||
@bind-Selected="CurrentPageActivityIndex"
|
@bind-Selected="CurrentPageActivityIndex"
|
||||||
Color="Color.Primary" />
|
Color="Color.Primary"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="SelectedPageSize">
|
<div class="SelectedPageSize">
|
||||||
@@ -265,9 +265,9 @@ else
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<MudScrollToTop Selector="#topPage" VisibleCssClass="visible absolute" TopOffset="100" HiddenCssClass="invisible">
|
<MudScrollToTop Selector="#topPage" VisibleCssClass="visible absolute" TopOffset="100" HiddenCssClass="invisible">
|
||||||
<MudFab Size="Size.Small" Color="Color.Primary" StartIcon="@Icons.Material.Rounded.KeyboardArrowUp" />
|
<MudFab Size="Size.Small" Color="Color.Primary" StartIcon="@Icons.Material.Rounded.KeyboardArrowUp"/>
|
||||||
</MudScrollToTop>
|
</MudScrollToTop>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@@ -527,10 +527,9 @@ else
|
|||||||
await Task.Run(async () =>
|
await Task.Run(async () =>
|
||||||
{
|
{
|
||||||
var activities = await IntegryApiService.RetrieveActivity(new CRMRetrieveActivityRequestDTO { CodAnag = Anag.CodContact });
|
var activities = await IntegryApiService.RetrieveActivity(new CRMRetrieveActivityRequestDTO { CodAnag = Anag.CodContact });
|
||||||
ActivityList = Mapper.Map<List<ActivityDTO>>(activities)
|
ActivityList = (await ManageData.MapActivity(activities)).OrderByDescending(x =>
|
||||||
.OrderByDescending(x =>
|
(x.EffectiveTime ?? x.EstimatedTime) ?? x.DataInsAct
|
||||||
(x.EffectiveTime ?? x.EstimatedTime) ?? x.DataInsAct
|
).ToList();
|
||||||
).ToList();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
UserState.Activitys = ActivityList;
|
UserState.Activitys = ActivityList;
|
||||||
@@ -794,4 +793,5 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -39,18 +39,26 @@
|
|||||||
<div class="form-container">
|
<div class="form-container">
|
||||||
<span class="disable-full-width">Commessa</span>
|
<span class="disable-full-width">Commessa</span>
|
||||||
|
|
||||||
<MudAutocomplete
|
@if (ActivityModel.CodJcom != null && SelectedComessa == null)
|
||||||
Disabled="ActivityModel.Cliente.IsNullOrEmpty()"
|
{
|
||||||
T="JtbComt?" ReadOnly="IsView"
|
<MudSkeleton />
|
||||||
@bind-Value="SelectedComessa"
|
}
|
||||||
@bind-Value:after="OnCommessaSelectedAfter"
|
else
|
||||||
SearchFunc="SearchCommesseAsync"
|
{
|
||||||
ToStringFunc="@(c => c == null ? string.Empty : $"{c.CodJcom} - {c.Descrizione}")"
|
<MudAutocomplete
|
||||||
Clearable="true"
|
Disabled="ActivityModel.Cliente.IsNullOrEmpty()"
|
||||||
ShowProgressIndicator="true"
|
T="JtbComt?" ReadOnly="IsView"
|
||||||
DebounceInterval="300"
|
@bind-Value="SelectedComessa"
|
||||||
MaxItems="50"
|
@bind-Value:after="OnCommessaSelectedAfter"
|
||||||
Class="customIcon-select" AdornmentIcon="@Icons.Material.Filled.Code"/>
|
SearchFunc="SearchCommesseAsync"
|
||||||
|
ToStringFunc="@(c => c == null ? string.Empty : $"{c.CodJcom} - {c.Descrizione}")"
|
||||||
|
Clearable="true"
|
||||||
|
OnClearButtonClick="OnCommessaClear"
|
||||||
|
ShowProgressIndicator="true"
|
||||||
|
DebounceInterval="300"
|
||||||
|
MaxItems="50"
|
||||||
|
Class="customIcon-select" AdornmentIcon="@Icons.Material.Filled.Code"/>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -90,19 +98,27 @@
|
|||||||
<div class="form-container">
|
<div class="form-container">
|
||||||
<span class="disable-full-width">Assegnata a</span>
|
<span class="disable-full-width">Assegnata a</span>
|
||||||
|
|
||||||
<MudAutocomplete
|
@if (ActivityModel.UserName != null && SelectedUser == null)
|
||||||
Disabled="Users.IsNullOrEmpty()" ReadOnly="IsView"
|
{
|
||||||
T="StbUser"
|
<MudSkeleton />
|
||||||
@bind-Value="SelectedUser"
|
}
|
||||||
@bind-Value:after="OnUserSelectedAfter"
|
else
|
||||||
SearchFunc="SearchUtentiAsync"
|
{
|
||||||
ToStringFunc="@(u => u == null ? string.Empty : u.FullName)"
|
<MudAutocomplete
|
||||||
Clearable="true"
|
Disabled="Users.IsNullOrEmpty()" ReadOnly="IsView"
|
||||||
ShowProgressIndicator="true"
|
T="StbUser"
|
||||||
DebounceInterval="300"
|
@bind-Value="SelectedUser"
|
||||||
MaxItems="50"
|
@bind-Value:after="OnUserSelectedAfter"
|
||||||
Class="customIcon-select"
|
SearchFunc="SearchUtentiAsync"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Code"/>
|
ToStringFunc="@(u => u == null ? string.Empty : u.FullName)"
|
||||||
|
Clearable="true"
|
||||||
|
OnClearButtonClick="OnUserClear"
|
||||||
|
ShowProgressIndicator="true"
|
||||||
|
DebounceInterval="300"
|
||||||
|
MaxItems="50"
|
||||||
|
Class="customIcon-select"
|
||||||
|
AdornmentIcon="@Icons.Material.Filled.Code"/>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
@@ -110,12 +126,19 @@
|
|||||||
<div class="form-container">
|
<div class="form-container">
|
||||||
<span class="disable-full-width">Tipo</span>
|
<span class="disable-full-width">Tipo</span>
|
||||||
|
|
||||||
<MudSelectExtended ReadOnly="IsView" FullWidth="true" T="string?" Variant="Variant.Text" @bind-Value="ActivityModel.ActivityTypeId" @bind-Value:after="OnAfterChangeValue" Class="customIcon-select" AdornmentIcon="@Icons.Material.Filled.Code">
|
@if (ActivityType.IsNullOrEmpty())
|
||||||
@foreach (var type in ActivityType)
|
{
|
||||||
{
|
<MudSkeleton />
|
||||||
<MudSelectItemExtended Class="custom-item-select" Value="@type.ActivityTypeId">@type.ActivityTypeId</MudSelectItemExtended>
|
}
|
||||||
}
|
else
|
||||||
</MudSelectExtended>
|
{
|
||||||
|
<MudSelectExtended ReadOnly="IsView" FullWidth="true" T="string?" Variant="Variant.Text" @bind-Value="ActivityModel.ActivityTypeId" @bind-Value:after="OnAfterChangeValue" Class="customIcon-select" AdornmentIcon="@Icons.Material.Filled.Code">
|
||||||
|
@foreach (var type in ActivityType)
|
||||||
|
{
|
||||||
|
<MudSelectItemExtended Class="custom-item-select" Value="@type.ActivityTypeId">@type.ActivityTypeId</MudSelectItemExtended>
|
||||||
|
}
|
||||||
|
</MudSelectExtended>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
@@ -370,14 +393,14 @@
|
|||||||
{
|
{
|
||||||
return Task.Run(async () =>
|
return Task.Run(async () =>
|
||||||
{
|
{
|
||||||
if (!IsNew && Id != null)
|
SelectedComessa = ActivityModel.Commessa;
|
||||||
ActivityFileList = await IntegryApiService.GetActivityFile(Id);
|
|
||||||
|
|
||||||
Users = await ManageData.GetTable<StbUser>();
|
Users = await ManageData.GetTable<StbUser>();
|
||||||
if (!ActivityModel.UserName.IsNullOrEmpty())
|
if (!ActivityModel.UserName.IsNullOrEmpty())
|
||||||
SelectedUser = Users.FindLast(x => x.UserName.Equals(ActivityModel.UserName));
|
SelectedUser = Users.FindLast(x => x.UserName.Equals(ActivityModel.UserName));
|
||||||
|
|
||||||
SelectedComessa = ActivityModel.Commessa;
|
if (!IsNew && Id != null)
|
||||||
|
ActivityFileList = await IntegryApiService.GetActivityFile(Id);
|
||||||
|
|
||||||
ActivityResult = await ManageData.GetTable<StbActivityResult>();
|
ActivityResult = await ManageData.GetTable<StbActivityResult>();
|
||||||
Clienti = await ManageData.GetClienti(new WhereCondContact { FlagStato = "A" });
|
Clienti = await ManageData.GetClienti(new WhereCondContact { FlagStato = "A" });
|
||||||
@@ -510,6 +533,20 @@
|
|||||||
OnAfterChangeValue();
|
OnAfterChangeValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task OnCommessaClear()
|
||||||
|
{
|
||||||
|
ActivityModel.Commessa = null;
|
||||||
|
ActivityModel.CodJcom = null;
|
||||||
|
StateHasChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task OnUserClear()
|
||||||
|
{
|
||||||
|
ActivityModel.UserName = null;
|
||||||
|
ActivityType = [];
|
||||||
|
StateHasChanged();
|
||||||
|
}
|
||||||
|
|
||||||
private void OnAfterChangeTimeBefore()
|
private void OnAfterChangeTimeBefore()
|
||||||
{
|
{
|
||||||
if (ActivityModel.EstimatedTime is not null)
|
if (ActivityModel.EstimatedTime is not null)
|
||||||
|
|||||||
@@ -25,5 +25,7 @@ public interface IManageDataService
|
|||||||
Task Delete<T>(T objectToDelete);
|
Task Delete<T>(T objectToDelete);
|
||||||
Task DeleteActivity(ActivityDTO activity);
|
Task DeleteActivity(ActivityDTO activity);
|
||||||
|
|
||||||
|
Task<List<ActivityDTO>> MapActivity(List<StbActivity>? activities);
|
||||||
|
|
||||||
Task ClearDb();
|
Task ClearDb();
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user