OrdersHomePage:
- Ok nuova gestione modale - ok crea nuovo - ok btn add se selezionata company ... test clona NON ancora OK
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>WebDoorCreator - Egalware</i>
|
||||
<h4>Version: 0.9.2305.3116</h4>
|
||||
<h4>Version: 0.9.2305.3119</h4>
|
||||
<br /> Release note:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
0.9.2305.3116
|
||||
0.9.2305.3119
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>0.9.2305.3116</version>
|
||||
<version>0.9.2305.3119</version>
|
||||
<url>http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip</url>
|
||||
<changelog>http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
@@ -21,59 +21,6 @@ namespace WebDoorCreator.Data.Controllers
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Adding a new User
|
||||
/// </summary>
|
||||
/// <param name="addEditRec">Record to edit or add</param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> UserAddMod(AspNetUsers addEditRec)
|
||||
{
|
||||
bool fatto = false;
|
||||
//List<ItemModel> dbResult = new List<ItemModel>();
|
||||
using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var currRec = localDbCtx
|
||||
.DbSetUsers
|
||||
.Where(x => x.Id == addEditRec.Id)
|
||||
.FirstOrDefault();
|
||||
//if is not null edit the record found
|
||||
if (currRec != null)
|
||||
{
|
||||
currRec.Id = addEditRec.Id;
|
||||
currRec.UserName = addEditRec.UserName;
|
||||
currRec.NormalizedUserName = addEditRec.NormalizedUserName;
|
||||
currRec.Email = addEditRec.Email;
|
||||
currRec.EmailConfirmed = addEditRec.EmailConfirmed;
|
||||
currRec.LockoutEnabled = addEditRec.LockoutEnabled;
|
||||
currRec.LockoutEnd = addEditRec.LockoutEnd;
|
||||
currRec.ConcurrencyStamp = addEditRec.ConcurrencyStamp;
|
||||
currRec.SecurityStamp = addEditRec.SecurityStamp;
|
||||
currRec.AccessFailedCount = addEditRec.AccessFailedCount;
|
||||
currRec.PhoneNumberConfirmed = addEditRec.PhoneNumberConfirmed;
|
||||
currRec.PhoneNumber = addEditRec.PhoneNumber;
|
||||
currRec.TwoFactorEnabled = addEditRec.TwoFactorEnabled;
|
||||
localDbCtx.Entry(currRec).State = EntityState.Modified;
|
||||
}
|
||||
//if is null add the record as new in the table
|
||||
else
|
||||
{
|
||||
localDbCtx
|
||||
.DbSetUsers
|
||||
.Add(addEditRec);
|
||||
}
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
fatto = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante CompanyAddMod: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adding a new company
|
||||
/// </summary>
|
||||
@@ -820,10 +767,10 @@ namespace WebDoorCreator.Data.Controllers
|
||||
/// Adding a new order
|
||||
/// </summary>
|
||||
/// <param name="addRec">Record to add</param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> OrderAdd(OrderModel addRec)
|
||||
/// <returns>OrderId</returns>
|
||||
public async Task<int> OrderAdd(OrderModel addRec)
|
||||
{
|
||||
bool fatto = false;
|
||||
int newOrdId = 0;
|
||||
using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
@@ -832,13 +779,47 @@ namespace WebDoorCreator.Data.Controllers
|
||||
.DbSetOrders
|
||||
.Add(addRec);
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
fatto = true;
|
||||
newOrdId = addRec.OrderId;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante OrderAdd: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return newOrdId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Duplicazione di un ordine da SRC a DEST (Doors + DoorOp)
|
||||
/// </summary>
|
||||
/// <param name="OrdIdSrc"></param>
|
||||
/// <param name="OrdIdDest"></param>
|
||||
/// <param name="UsrIdMod"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> OrderDuplicate(int OrdIdSrc, int OrdIdDest, string UsrIdMod)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
bool fatto = false;
|
||||
using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var OrderIdSrc = new SqlParameter("@OrderIdSrc", OrdIdSrc);
|
||||
var OrderIdDest = new SqlParameter("@OrderIdDest", OrdIdDest);
|
||||
var UserIdMod = new SqlParameter("@UserIdMod", UsrIdMod);
|
||||
|
||||
// stored di cloning dati ordine
|
||||
var storedRes = localDbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("exec dbo.stp_OrderClone @OrderIdSrc, @OrdIdDest, @UserIdMod", OrderIdSrc, OrderIdDest, UserIdMod);
|
||||
|
||||
fatto = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante OrderDuplicate:{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
@@ -1095,6 +1076,59 @@ namespace WebDoorCreator.Data.Controllers
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adding a new User
|
||||
/// </summary>
|
||||
/// <param name="addEditRec">Record to edit or add</param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> UserAddMod(AspNetUsers addEditRec)
|
||||
{
|
||||
bool fatto = false;
|
||||
//List<ItemModel> dbResult = new List<ItemModel>();
|
||||
using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var currRec = localDbCtx
|
||||
.DbSetUsers
|
||||
.Where(x => x.Id == addEditRec.Id)
|
||||
.FirstOrDefault();
|
||||
//if is not null edit the record found
|
||||
if (currRec != null)
|
||||
{
|
||||
currRec.Id = addEditRec.Id;
|
||||
currRec.UserName = addEditRec.UserName;
|
||||
currRec.NormalizedUserName = addEditRec.NormalizedUserName;
|
||||
currRec.Email = addEditRec.Email;
|
||||
currRec.EmailConfirmed = addEditRec.EmailConfirmed;
|
||||
currRec.LockoutEnabled = addEditRec.LockoutEnabled;
|
||||
currRec.LockoutEnd = addEditRec.LockoutEnd;
|
||||
currRec.ConcurrencyStamp = addEditRec.ConcurrencyStamp;
|
||||
currRec.SecurityStamp = addEditRec.SecurityStamp;
|
||||
currRec.AccessFailedCount = addEditRec.AccessFailedCount;
|
||||
currRec.PhoneNumberConfirmed = addEditRec.PhoneNumberConfirmed;
|
||||
currRec.PhoneNumber = addEditRec.PhoneNumber;
|
||||
currRec.TwoFactorEnabled = addEditRec.TwoFactorEnabled;
|
||||
localDbCtx.Entry(currRec).State = EntityState.Modified;
|
||||
}
|
||||
//if is null add the record as new in the table
|
||||
else
|
||||
{
|
||||
localDbCtx
|
||||
.DbSetUsers
|
||||
.Add(addEditRec);
|
||||
}
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
fatto = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante CompanyAddMod: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Populating DTO to handle users
|
||||
/// </summary>
|
||||
@@ -1241,6 +1275,69 @@ namespace WebDoorCreator.Data.Controllers
|
||||
}
|
||||
return DTOResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiunta di un nuovo set di lemmi
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> VocLemmaInsert()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
bool fatto = false;
|
||||
|
||||
//var o = listNewTerms.Where(x => x.Traduzione.Length > 200).ToList();
|
||||
|
||||
using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
//bool isOk = await VocLemmaInsertPrepare(listNewTerms);
|
||||
|
||||
// stored di merge dati in vocabolario
|
||||
var storedRes = localDbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("exec dbo.stp_Voc_Import");
|
||||
|
||||
fatto = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante VocLemmaInsert: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
public async Task<bool> VocLemmaInsertPrepare(List<VocabularyTempModel> listNewTerms)
|
||||
{
|
||||
bool fatto = false;
|
||||
|
||||
using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
// stored di reset vocabolario
|
||||
var storedRes = localDbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("exec dbo.stp_Voc_Prepare");
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
|
||||
// import massivo dati in tab temp
|
||||
localDbCtx
|
||||
.DbSetVocabularyTemp
|
||||
.AddRange(listNewTerms);
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
|
||||
fatto = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante VocLemmaInsertPrepare: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
public Dictionary<string, Dictionary<string, string>> VocLemmaTEMPGetAll()
|
||||
{
|
||||
Dictionary<string, Dictionary<string, string>> DTOResult = new Dictionary<string, Dictionary<string, string>>();
|
||||
@@ -1277,68 +1374,6 @@ namespace WebDoorCreator.Data.Controllers
|
||||
}
|
||||
return DTOResult;
|
||||
}
|
||||
public async Task<bool> VocLemmaInsertPrepare(List<VocabularyTempModel> listNewTerms)
|
||||
{
|
||||
bool fatto = false;
|
||||
|
||||
using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
// stored di reset vocabolario
|
||||
var storedRes = localDbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("exec dbo.stp_Voc_Prepare");
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
|
||||
// import massivo dati in tab temp
|
||||
localDbCtx
|
||||
.DbSetVocabularyTemp
|
||||
.AddRange(listNewTerms);
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
|
||||
fatto = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante VocLemmaInsertPrepare: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiunta di un nuovo set di lemmi
|
||||
/// </summary>
|
||||
/// <param name="listNewTerms"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> VocLemmaInsert()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
bool fatto = false;
|
||||
|
||||
//var o = listNewTerms.Where(x => x.Traduzione.Length > 200).ToList();
|
||||
|
||||
using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
//bool isOk = await VocLemmaInsertPrepare(listNewTerms);
|
||||
|
||||
// stored di merge dati in vocabolario
|
||||
var storedRes = localDbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("exec dbo.stp_Voc_Import");
|
||||
|
||||
fatto = true;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante VocLemmaInsert: {Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
|
||||
@@ -1777,7 +1777,7 @@ namespace WebDoorCreator.Data.Services
|
||||
/// </summary>
|
||||
/// <param name="currRec"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> OrderAdd(OrderModel currRec)
|
||||
public async Task<int> OrderAdd(OrderModel currRec)
|
||||
{
|
||||
var dbResult = await dbController.OrderAdd(currRec);
|
||||
// elimino cache redis...
|
||||
@@ -1786,6 +1786,22 @@ namespace WebDoorCreator.Data.Services
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Order (content) cloning
|
||||
/// </summary>
|
||||
/// <param name="OrdIdSrc"></param>
|
||||
/// <param name="OrdIdDest"></param>
|
||||
/// <param name="UsrIdMod"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> OrderDuplicate(int OrdIdSrc, int OrdIdDest, string UsrIdMod)
|
||||
{
|
||||
var dbResult = await dbController.OrderDuplicate(OrdIdSrc, OrdIdDest, UsrIdMod);
|
||||
// elimino cache redis...
|
||||
RedisValue pattern = new RedisValue($"{Constants.rKeyOrderStatus}:*");
|
||||
bool answ = await ExecFlushRedisPattern(pattern);
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean REDIS order detail data in cache
|
||||
/// </summary>
|
||||
|
||||
@@ -41,6 +41,15 @@
|
||||
<None Update="SqlScripts\Stored\stp_ListVal_Prepare.sql">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="SqlScripts\Stored\stp_OrderClone.sql">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="SqlScripts\Stored\stp_OrderList_getFilt.sql">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="SqlScripts\Stored\stp_prt_OrderReportExpl.sql">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="SqlScripts\Stored\stp_Voc_Prepare.sql">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
<!-- The Modal -->
|
||||
<div id="myModal" class="modalOrd">
|
||||
<!-- Modal content -->
|
||||
<div class="modalOrd">
|
||||
<div class="modalOrd-content">
|
||||
<div class="d-flex justify-content-between">
|
||||
<h4>@($"Door ID: {CurrDoor.DoorId}")</h4>
|
||||
<span class="closeOrd mb-3" @onclick="()=>closeModal()">×</span>
|
||||
<span class="closeOrd" @onclick="()=>closeModal()">×</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="w-25">
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<table>
|
||||
<table class="table table-striped table-sm text-start">
|
||||
<thead>
|
||||
<tr class="">
|
||||
<td></td>
|
||||
@@ -22,17 +22,18 @@ else
|
||||
@foreach (var item in ListOrdersStatus)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
<td class="text-nowrap">
|
||||
<button class="btn btn-sm btn-primary" @onclick="()=>setOrd2Show(item.OrderId)" title="Order detail"><i class="fa-solid fa-magnifying-glass"></i></button>
|
||||
@*<a class="btn btn-sm btn-info" target="_blank" href="@reportUrl(item.OrderId)" title="Download pdf report"><i class="fa-regular fa-file-pdf"></i></a>*@
|
||||
<button class="btn btn-sm btn-info" @onclick="()=>cloneAndShow(item.OrderId)" title="Duplicate Order"><i class="fa-solid fa-clone"></i></button>
|
||||
<a class="btn btn-sm btn-success" target="_blank" href="@reportUrl(item.OrderId)" title="Download pdf report"><i class="fa-regular fa-file-pdf"></i></a>
|
||||
</td>
|
||||
<td>@item.DateIns</td>
|
||||
<td>@item.OrderExtCode</td>
|
||||
<td>@item.OrderDescript</td>
|
||||
<td class="small">@item.DateIns</td>
|
||||
<td class="fw-bold">@item.OrderExtCode</td>
|
||||
<td class="small">@item.OrderDescript</td>
|
||||
<td class="text-end">@item.NumDoors</td>
|
||||
<td class="text-end">@item.NumType</td>
|
||||
<td class="text-end">@getOrderStatusLabel(item.OrderStatus)</td>
|
||||
<td class="text-end">@($"{item.TotCost:C2}")</td>
|
||||
<td class="text-end fw-bold">@($"{item.TotCost:C2}")</td>
|
||||
<td class="text-end">
|
||||
@if (item.OrderStatus <= 10)
|
||||
{
|
||||
|
||||
@@ -20,9 +20,10 @@ namespace WebDoorCreator.UI.Components.Order
|
||||
[Parameter]
|
||||
public EventCallback<int> E_currOrderStatus { get; set; }
|
||||
|
||||
public int Height { get; set; }
|
||||
[Parameter]
|
||||
public EventCallback<int> E_OrdReqClone { get; set; }
|
||||
|
||||
public string reportBaseUrl { get; set; } = "http://w2019-sql-steam/reportserver?/Test/WebDoor/";
|
||||
public int Height { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public int UserCurrCompany { get; set; }
|
||||
@@ -229,13 +230,6 @@ namespace WebDoorCreator.UI.Components.Order
|
||||
{
|
||||
ListOrdersStatus = null;
|
||||
var domani = DateTime.Today.AddDays(1);
|
||||
//await Task.Delay(1);
|
||||
// conf report
|
||||
var confData = await WDService.ConfigGetKey("prt_ReportServerUrl");
|
||||
if (confData != null)
|
||||
{
|
||||
reportBaseUrl = confData.valore;
|
||||
}
|
||||
|
||||
ListValuesAll = await WDService.ListValuesGetAll("All", "OrderStep");
|
||||
|
||||
@@ -337,6 +331,17 @@ namespace WebDoorCreator.UI.Components.Order
|
||||
return $"api/Report/GetOrderReport?OrderId={orderId}&Format=PDF";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Richiesta duplicazione ordine
|
||||
/// </summary>
|
||||
/// <param name="orderId"></param>
|
||||
/// <returns></returns>
|
||||
protected async Task cloneAndShow(int orderId)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
await E_OrdReqClone.InvokeAsync(orderId);
|
||||
}
|
||||
|
||||
protected async Task setOrd2Show(int orderId)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
tr {
|
||||
padding: 0.5rem;
|
||||
border-bottom: 1px solid;
|
||||
font-weight: bold;
|
||||
/*font-weight: bold;*/
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
tr {
|
||||
padding: 0.5rem;
|
||||
border-bottom: 1px solid;
|
||||
font-weight: bold;
|
||||
/*font-weight: bold;*/
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
tr{padding:.5rem;border-bottom:1px solid;font-weight:bold;background-color:#fff;color:#000;}table{width:100%;height:100%;}td{padding:.5rem;}@keyframes slideUp{0%{transform:translate(0,var(--elFirstY));}100%{transform:translate(0,0);}}.slideUp{animation:slideUp .5s;}
|
||||
tr{padding:.5rem;border-bottom:1px solid;background-color:#fff;color:#000;}table{width:100%;height:100%;}td{padding:.5rem;}@keyframes slideUp{0%{transform:translate(0,var(--elFirstY));}100%{transform:translate(0,0);}}.slideUp{animation:slideUp .5s;}
|
||||
@@ -10,15 +10,18 @@
|
||||
<div class="fw-bold fs-2 text-start col-4 text-nowrap">
|
||||
ORDER LIST
|
||||
</div>
|
||||
<div class="d-flex justify-content-end col-8">
|
||||
<button type="button" class="btn btn-sm btn-success" data-bs-toggle="modal" data-bs-target="#newOrderModal">
|
||||
<i class="fa-solid fa-plus"></i> Add new order
|
||||
</button>
|
||||
<div class="d-flex justify-content-end col-8">
|
||||
@if (userCurrCompany > 0)
|
||||
{
|
||||
<button type="button" class="btn btn-sm btn-success" @onclick="() => ReqNewOrd()">
|
||||
<i class="fa-solid fa-plus"></i> Add new order
|
||||
</button>
|
||||
}
|
||||
<OrderFilter FilterUpdated="updateFilter"></OrderFilter>
|
||||
</div>
|
||||
</div>
|
||||
<div style="min-height: 35rem;">
|
||||
<OrderList updateRecordCount="UpdateTotCount" actFilter="@currFilter" E_SetOrd2Show="@setOrd2Show" E_currOrderStatus="catchCurrOrder" B_doorChaged="@doorChange" UserCurrCompany="@userCurrCompany"></OrderList>
|
||||
<OrderList updateRecordCount="UpdateTotCount" actFilter="@currFilter" E_SetOrd2Show="SetOrd2Show" E_OrdReqClone="SetOrd2Clone" E_currOrderStatus="catchCurrOrder" B_doorChaged="@doorChange" UserCurrCompany="@userCurrCompany"></OrderList>
|
||||
</div>
|
||||
|
||||
<div class="mt-2">
|
||||
@@ -154,13 +157,13 @@
|
||||
{
|
||||
<DoorModal userId="@userId" E_DoorClose="@SetCurrDoorModal" OrderId="@currDoorModal.OrderId" CurrDoorId="@currDoorModal.DoorId"></DoorModal>
|
||||
}
|
||||
|
||||
<!--Modal new order-->
|
||||
<div class="modal fade" id="newOrderModal" tabindex="-1" aria-labelledby="newOrderModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
@if (newOrdReq)
|
||||
{
|
||||
<div class="modalNewOrd">
|
||||
<div class="modalNewOrdContent">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="newOrderModalLabel">Insert new order</h1>
|
||||
<span class="closeNewOrd" @onclick="() => CloseNewOrd()">×</span>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="w-100">
|
||||
@@ -175,15 +178,15 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-secondary" @onclick="() => CloseNewOrd()">Close</button>
|
||||
@if (orderCodExt != "")
|
||||
{
|
||||
<button type="button" class="btn btn-primary" @onclick="()=>addNewOrder(context.User.Identity?.Name!)" data-bs-dismiss="modal">Save changes</button>
|
||||
<button type="button" class="btn btn-primary" @onclick="()=>addNewOrder(context.User.Identity?.Name!)">Save changes</button>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</Authorized>
|
||||
<NotAuthorized>
|
||||
<LoginRequiredArea></LoginRequiredArea>
|
||||
|
||||
@@ -40,7 +40,6 @@ namespace WebDoorCreator.UI.Pages
|
||||
public async void OnNewUserCurrComp()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
userCurrCompany = WDCUService.userCurrComp;
|
||||
await InvokeAsync(() =>
|
||||
{
|
||||
StateHasChanged();
|
||||
@@ -67,7 +66,7 @@ namespace WebDoorCreator.UI.Pages
|
||||
protected DoorModel? currDoorModal { get; set; } = null;
|
||||
protected OrderStatusViewModel ord2Show { get; set; } = new OrderStatusViewModel();
|
||||
|
||||
protected async Task setOrd2Show(OrderStatusViewModel currOrd)
|
||||
protected async Task SetOrd2Show(OrderStatusViewModel currOrd)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
if (currOrd != null)
|
||||
@@ -76,6 +75,26 @@ namespace WebDoorCreator.UI.Pages
|
||||
await changeLevel(2);
|
||||
}
|
||||
}
|
||||
|
||||
protected async Task ReqNewOrd()
|
||||
{
|
||||
newOrdReq = true;
|
||||
await Task.Delay(1);
|
||||
}
|
||||
protected async Task CloseNewOrd()
|
||||
{
|
||||
newOrdReq = false;
|
||||
await Task.Delay(1);
|
||||
}
|
||||
|
||||
protected async Task SetOrd2Clone(int OrderId)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
newOrdReq = true;
|
||||
cloneReq = true;
|
||||
ordIdOrig = OrderId;
|
||||
}
|
||||
|
||||
protected async Task setEmpty()
|
||||
{
|
||||
await Task.Delay(1);
|
||||
@@ -150,8 +169,6 @@ namespace WebDoorCreator.UI.Pages
|
||||
|
||||
protected List<AspNetRoles>? RolesList { get; set; } = null;
|
||||
|
||||
protected int userCurrCompany { get; set; }
|
||||
|
||||
protected List<UsersViewModel>? UsersList { get; set; } = null;
|
||||
|
||||
[Inject]
|
||||
@@ -163,7 +180,12 @@ namespace WebDoorCreator.UI.Pages
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
|
||||
protected int userCurrCompany
|
||||
{
|
||||
get => WDCUService.userCurrComp;
|
||||
}
|
||||
|
||||
protected async Task addNewOrder(string userName)
|
||||
{
|
||||
OrderModel addRec = new OrderModel()
|
||||
@@ -174,29 +196,35 @@ namespace WebDoorCreator.UI.Pages
|
||||
UserIdIns = userId,
|
||||
DateMod = DateTime.Now,
|
||||
UserIdMod = userId,
|
||||
//Status = Core.Enum.OrderStatus.DoorDef,
|
||||
OrderDescript = orderDescr
|
||||
};
|
||||
|
||||
var done = await WDService.OrderAdd(addRec);
|
||||
var newOrdId = await WDService.OrderAdd(addRec);
|
||||
|
||||
if (done)
|
||||
|
||||
if (newOrdId > 0)
|
||||
{
|
||||
// se richiesto eseguo cloning ordine
|
||||
if (cloneReq && ordIdOrig > 0)
|
||||
{
|
||||
var ordCloned = await WDService.OrderDuplicate(ordIdOrig, newOrdId, userName);
|
||||
cloneReq = false;
|
||||
ordIdOrig = 0;
|
||||
}
|
||||
// flush dati ordine + reload
|
||||
await WDService.OrdersFlushCache();
|
||||
orderCodExt = "";
|
||||
orderDescr = "";
|
||||
doorChange = true;
|
||||
newOrdReq = false;
|
||||
}
|
||||
await Task.Delay(1);
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
//if (firstRender)
|
||||
//{
|
||||
// await localStorage.RemoveItemAsync("OrderId");
|
||||
//}
|
||||
}
|
||||
protected bool newOrdReq = false;
|
||||
protected bool cloneReq = false;
|
||||
protected int ordIdOrig = 0;
|
||||
|
||||
|
||||
protected async Task addOrModDoor(string userName)
|
||||
{
|
||||
|
||||
@@ -97,4 +97,47 @@
|
||||
width: 90%;
|
||||
background-color: #333333;
|
||||
}
|
||||
}
|
||||
/* Background scuro del modale */
|
||||
.modalNewOrd {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: #000000;
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
/* Modal Content/Box */
|
||||
.modalNewOrdContent {
|
||||
background-color: #fefefe;
|
||||
margin: 3% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 50%;
|
||||
border-radius: 1rem;
|
||||
animation: slideDown 0.3s;
|
||||
}
|
||||
/* The Close Button */
|
||||
.closeNewOrd {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 2.5rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
.closeNewOrd:hover,
|
||||
.closeNewOrd:focus {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
@keyframes slideDown {
|
||||
0% {
|
||||
transform: translate(0, -500px);
|
||||
}
|
||||
100% {
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
}
|
||||
@@ -92,3 +92,53 @@
|
||||
background-color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Background scuro del modale */
|
||||
.modalNewOrd {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgb(0,0,0);
|
||||
background-color: rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
/* Modal Content/Box */
|
||||
.modalNewOrdContent {
|
||||
background-color: #fefefe;
|
||||
margin: 3% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 50%;
|
||||
border-radius: 1rem;
|
||||
animation: slideDown .3s;
|
||||
}
|
||||
|
||||
/* The Close Button */
|
||||
.closeNewOrd {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 2.5rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.closeNewOrd:hover,
|
||||
.closeNewOrd:focus {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@keyframes slideDown {
|
||||
0% {
|
||||
transform: translate(0, -500px);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1 +1 @@
|
||||
.cardOrders{width:100%;border-radius:1.3rem;padding:1rem 2.5rem .5rem 2.5rem;box-shadow:rgba(0,0,0,.45) 0 20px 22px 3px;margin-top:.5rem;margin-bottom:1rem;position:relative;font-size:1rem;}.cardOrders01{width:100%;border-radius:1.3rem;padding:1rem 2.5rem .5rem 2.5rem;box-shadow:rgba(0,0,0,.45) 0 20px 22px 3px;margin-top:.5rem;margin-bottom:1rem;position:relative;font-size:1rem;background-color:#fff;color:#000;z-index:10;}.cardOrders02{width:100%;border-radius:1.3rem;padding:1rem 2.5rem .5rem 2.5rem;box-shadow:rgba(0,0,0,.45) 0 20px 22px 3px;margin-top:.5rem;margin-bottom:1rem;position:relative;font-size:1rem;background-color:#fff;z-index:20;}.cardOrders03{width:100%;border-radius:1.3rem;padding:1rem 2.5rem .5rem 2.5rem;box-shadow:rgba(0,0,0,.45) 0 20px 22px 3px;margin-top:.5rem;margin-bottom:1rem;position:relative;font-size:1rem;background-color:#fff;z-index:30;}.wRed01{width:95%;margin-bottom:-1.5rem;background-color:#696969;color:#fff;animation-name:shrink01;animation-duration:.5s;font-size:.9rem;}.wRed02{width:90%;margin-bottom:-1.5rem;background-color:#333;color:#fff;animation-name:shrink02;animation-duration:.5s;font-size:.8rem;}@keyframes shrink01{0%{width:100%;background-color:#fff;color:#000;}80%{width:95%;background-color:#efefef;color:#000;}100%{width:95%;background-color:#696969;color:#fff;}}@keyframes shrink02{0%{width:95%;background-color:#696969;}80%{width:90%;background-color:#585858;}100%{width:90%;background-color:#333;}}
|
||||
.cardOrders{width:100%;border-radius:1.3rem;padding:1rem 2.5rem .5rem 2.5rem;box-shadow:rgba(0,0,0,.45) 0 20px 22px 3px;margin-top:.5rem;margin-bottom:1rem;position:relative;font-size:1rem;}.cardOrders01{width:100%;border-radius:1.3rem;padding:1rem 2.5rem .5rem 2.5rem;box-shadow:rgba(0,0,0,.45) 0 20px 22px 3px;margin-top:.5rem;margin-bottom:1rem;position:relative;font-size:1rem;background-color:#fff;color:#000;z-index:10;}.cardOrders02{width:100%;border-radius:1.3rem;padding:1rem 2.5rem .5rem 2.5rem;box-shadow:rgba(0,0,0,.45) 0 20px 22px 3px;margin-top:.5rem;margin-bottom:1rem;position:relative;font-size:1rem;background-color:#fff;z-index:20;}.cardOrders03{width:100%;border-radius:1.3rem;padding:1rem 2.5rem .5rem 2.5rem;box-shadow:rgba(0,0,0,.45) 0 20px 22px 3px;margin-top:.5rem;margin-bottom:1rem;position:relative;font-size:1rem;background-color:#fff;z-index:30;}.wRed01{width:95%;margin-bottom:-1.5rem;background-color:#696969;color:#fff;animation-name:shrink01;animation-duration:.5s;font-size:.9rem;}.wRed02{width:90%;margin-bottom:-1.5rem;background-color:#333;color:#fff;animation-name:shrink02;animation-duration:.5s;font-size:.8rem;}@keyframes shrink01{0%{width:100%;background-color:#fff;color:#000;}80%{width:95%;background-color:#efefef;color:#000;}100%{width:95%;background-color:#696969;color:#fff;}}@keyframes shrink02{0%{width:95%;background-color:#696969;}80%{width:90%;background-color:#585858;}100%{width:90%;background-color:#333;}}.modalNewOrd{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4);}.modalNewOrdContent{background-color:#fefefe;margin:3% auto;padding:20px;border:1px solid #888;width:50%;border-radius:1rem;animation:slideDown .3s;}.closeNewOrd{color:#aaa;float:right;font-size:2.5rem;font-weight:bold;}.closeNewOrd:hover,.closeNewOrd:focus{color:#000;text-decoration:none;cursor:pointer;}@keyframes slideDown{0%{transform:translate(0,-500px);}100%{transform:translate(0,0);}}
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<Version>0.9.2305.3116</Version>
|
||||
<Version>0.9.2305.3119</Version>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<UserSecretsId>aspnet-WebDoorCreator.UI-dfe95fed-1398-4144-bd43-8b3a765d6608</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
|
||||
Reference in New Issue
Block a user