OrdersHomePage:

- Ok nuova gestione modale
- ok crea nuovo
- ok btn add se selezionata company
... test clona NON ancora OK
This commit is contained in:
Samuele Locatelli
2023-05-31 19:28:56 +02:00
parent 83dd3bb553
commit dd30d2cbf6
18 changed files with 364 additions and 176 deletions
+1 -1
View File
@@ -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
View File
@@ -1 +1 @@
0.9.2305.3116
0.9.2305.3119
+1 -1
View File
@@ -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()">&times;</span>
<span class="closeOrd" @onclick="()=>closeModal()">&times;</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
View File
@@ -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;}
+16 -13
View File
@@ -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()">&times;</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>
+43 -15
View File
@@ -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
View File
@@ -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);}}
+1 -1
View File
@@ -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>