Files
mapo-core/MP.INVE/Components/ProcSuggestion.razor.cs
T
2022-12-05 12:26:19 +01:00

126 lines
4.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using System.Net.Http;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Components.Routing;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Web.Virtualization;
using Microsoft.JSInterop;
using MP.INVE;
using MP.INVE.Shared;
using MP.INVE.Components;
using MP.INVE.Data;
using MP.Data.DatabaseModels;
using System.Runtime.CompilerServices;
using Microsoft.EntityFrameworkCore.Infrastructure.Internal;
namespace MP.INVE.Components
{
public partial class ProcSuggestion
{
[Inject]
private MiDataService MIService { get; set; } = null!;
[Parameter]
public string lastScan { get; set; } = null!;
//[Parameter]
//public EventCallback<AnagUdcModel> udcSend { get; set; }
[Parameter]
public string userScan { get; set; } = null!;
[Parameter]
public int sessID { get; set; } = 0;
[Inject]
public IJSRuntime JSRuntime { get; set; } = null!;
[Inject]
public NavigationManager NavManager { get; set; } = null!;
private string tipo { get; set; } = "";
private string canMod = "false";
protected List<AnagUdcModel>? searchrecords;
protected AnagUdcModel? udc;
protected AnagUdcModel? currUdc;
protected override async Task OnParametersSetAsync()
{
await MIService.ConfigResetCache();
var result = await MIService.tryGetConfig("MAG_SmartUdcEdit");
if (result != null)
{
canMod = result;
}
await Task.Delay(1);
searchrecords = MIService.ElencoUDC();
udc = searchrecords.Where(x => x.UDC == lastScan).FirstOrDefault();
if (udc != null)
{
currUdc = udc;
if (udc.UDC.Contains("MFI"))
{
tipo = "FINITO";
}
}
}
protected bool isForced = false;
protected async void insertScan()
{
var alert = await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler salvare la seguente scansione per la sessione {sessID}?");
if (currUdc != null)
{
if (alert)
{
if((currUdc.lottoNav.CodArt != udc.lottoNav.CodArt) || (currUdc.Qta != udc.Qta))
{
isForced = true;
}
ScanDataModel newScan = new ScanDataModel()
{
DtScan = DateTime.Now,
UserScan = userScan,
IsForced = isForced,
CodArticolo = currUdc.lottoNav.CodArt,
Lotto = currUdc.lottoNav.Lotto,
RifExt = currUdc.lottoNav.RifExt,
Qty = currUdc.Qta,
Note = currUdc.Note,
IsKnown = true,
IsUnique = true,
InveSessID = sessID
};
await MIService.InsertNewScansione(newScan);
NavManager.NavigateTo(NavManager.Uri, true);
}
}
else
{
NavManager.NavigateTo(NavManager.Uri, true);
}
}
protected string reqArtMod = "disabilita";
protected string reqQtaMod = "disabilita";
protected void cssDisableArt()
{
reqArtMod = "";
}
protected void cssDisableQta()
{
reqQtaMod = "";
}
//private void saveSel(AnagUdcModel udcToSend)
//{
// Task.FromResult(udcSend.InvokeAsync(udcToSend));
//}
}
}