Aggiunta creazione stored x cancellazione tree ordini/offerte (DA validare)
This commit is contained in:
@@ -3030,35 +3030,6 @@ namespace EgwCoreLib.Lux.Data.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Ritorna direttamente 1 riga offerta
|
||||
/// </summary>
|
||||
/// <param name="offerRowID"></param>
|
||||
/// <returns></returns>
|
||||
internal OfferRowModel? OfferRowGetByOfferRowID(int offerRowID)
|
||||
{
|
||||
OfferRowModel? dbResult = null;
|
||||
//using (DataLayerContext dbCtx = new DataLayerContext(_config))
|
||||
using (DataLayerContext dbCtx = new DataLayerContext())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbResult = dbCtx
|
||||
.DbSetOfferRow
|
||||
.Where(x => x.OfferRowID == offerRowID)
|
||||
.Include(s => s.SellingItemNav)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante OfferRowGetByOfferRowID{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Upsert record
|
||||
/// </summary>
|
||||
@@ -3250,6 +3221,63 @@ namespace EgwCoreLib.Lux.Data.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce elenco SellingItem dato envir
|
||||
/// </summary>
|
||||
/// <param name="envir"></param>
|
||||
/// <returns></returns>
|
||||
internal async Task<List<SellingItemModel>> SellingItemsByEnvir(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS envir)
|
||||
{
|
||||
List<SellingItemModel> dbRec = new List<SellingItemModel>();
|
||||
//using (DataLayerContext dbCtx = new DataLayerContext(_config))
|
||||
using (DataLayerContext dbCtx = new DataLayerContext())
|
||||
{
|
||||
try
|
||||
{
|
||||
DateTime adesso = DateTime.Now;
|
||||
// recupero offerta...
|
||||
dbRec = await dbCtx
|
||||
.DbSetSellItem
|
||||
.Where(x => x.Envir == envir)
|
||||
.ToListAsync();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante SellingItemsByEnvir{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return dbRec;
|
||||
}
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Ritorna direttamente 1 riga offerta
|
||||
/// </summary>
|
||||
/// <param name="offerRowID"></param>
|
||||
/// <returns></returns>
|
||||
internal OfferRowModel? OfferRowGetByOfferRowID(int offerRowID)
|
||||
{
|
||||
OfferRowModel? dbResult = null;
|
||||
//using (DataLayerContext dbCtx = new DataLayerContext(_config))
|
||||
using (DataLayerContext dbCtx = new DataLayerContext())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbResult = dbCtx
|
||||
.DbSetOfferRow
|
||||
.Where(x => x.OfferRowID == offerRowID)
|
||||
.Include(s => s.SellingItemNav)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante OfferRowGetByOfferRowID{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Elenco completo Tags
|
||||
/// </summary>
|
||||
|
||||
@@ -58,4 +58,13 @@
|
||||
<ProjectReference Include="..\EgwCoreLib.Lux.Core\EgwCoreLib.Lux.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="SqlScripts\Stored\stp_deleteOfferTree.sql">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="SqlScripts\Stored\stp_deleteOrderTree.sql">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
+3582
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class AddStoredProc_01 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
// aggiunta stored
|
||||
addStored(migrationBuilder, "stp_deleteOfferTree");
|
||||
addStored(migrationBuilder, "stp_deleteOrderTree");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
// rimozione stored
|
||||
remStored(migrationBuilder, "stp_deleteOfferTree");
|
||||
remStored(migrationBuilder, "stp_deleteOrderTree");
|
||||
}
|
||||
|
||||
private void addView(MigrationBuilder migrationBuilder, string objName)
|
||||
{
|
||||
string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "SqlScripts", "View", $"{objName}.sql");
|
||||
string viewBody = File.ReadAllText(path);
|
||||
migrationBuilder.Sql(viewBody);
|
||||
}
|
||||
private void addStored(MigrationBuilder migrationBuilder, string objName)
|
||||
{
|
||||
string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "SqlScripts", "Stored", $"{objName}.sql");
|
||||
string viewBody = File.ReadAllText(path);
|
||||
migrationBuilder.Sql(viewBody);
|
||||
}
|
||||
|
||||
private void remView(MigrationBuilder migrationBuilder, string objName)
|
||||
{
|
||||
migrationBuilder.Sql($"DROP VIEW IF EXISTS {objName};");
|
||||
}
|
||||
private void remStored(MigrationBuilder migrationBuilder, string objName)
|
||||
{
|
||||
migrationBuilder.Sql($"DROP PROCEDURE IF EXISTS {objName};");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1299,16 +1299,16 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
Description = "Offerta per tre serramenti",
|
||||
DictPresel = "",
|
||||
Discount = 0.0,
|
||||
DueDateProm = new DateTime(2026, 2, 2, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateReq = new DateTime(2026, 1, 3, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateProm = new DateTime(2026, 2, 8, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateReq = new DateTime(2026, 1, 9, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
Envir = 1,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(134),
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(136),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2349),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2351),
|
||||
OffertState = 0,
|
||||
RefNum = 1,
|
||||
RefRev = 1,
|
||||
RefYear = 2025,
|
||||
ValidUntil = new DateTime(2026, 1, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(128)
|
||||
ValidUntil = new DateTime(2026, 1, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2341)
|
||||
},
|
||||
new
|
||||
{
|
||||
@@ -1319,16 +1319,16 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
Description = "Offerta BEAM",
|
||||
DictPresel = "",
|
||||
Discount = 0.0,
|
||||
DueDateProm = new DateTime(2026, 2, 2, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateReq = new DateTime(2026, 1, 3, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateProm = new DateTime(2026, 2, 8, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateReq = new DateTime(2026, 1, 9, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
Envir = 2,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(153),
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(154),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2361),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2362),
|
||||
OffertState = 0,
|
||||
RefNum = 2,
|
||||
RefRev = 1,
|
||||
RefYear = 2025,
|
||||
ValidUntil = new DateTime(2026, 1, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(152)
|
||||
ValidUntil = new DateTime(2026, 1, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2360)
|
||||
},
|
||||
new
|
||||
{
|
||||
@@ -1339,16 +1339,16 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
Description = "Offerta Cabinet",
|
||||
DictPresel = "",
|
||||
Discount = 0.0,
|
||||
DueDateProm = new DateTime(2026, 2, 2, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateReq = new DateTime(2026, 1, 3, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateProm = new DateTime(2026, 2, 8, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateReq = new DateTime(2026, 1, 9, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
Envir = 4,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(162),
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(164),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2370),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2371),
|
||||
OffertState = 0,
|
||||
RefNum = 3,
|
||||
RefRev = 1,
|
||||
RefYear = 2025,
|
||||
ValidUntil = new DateTime(2026, 1, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(161)
|
||||
ValidUntil = new DateTime(2026, 1, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2369)
|
||||
},
|
||||
new
|
||||
{
|
||||
@@ -1359,16 +1359,16 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
Description = "Offerta Wall",
|
||||
DictPresel = "",
|
||||
Discount = 0.0,
|
||||
DueDateProm = new DateTime(2026, 2, 2, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateReq = new DateTime(2026, 1, 3, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateProm = new DateTime(2026, 2, 8, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
DueDateReq = new DateTime(2026, 1, 9, 0, 0, 0, 0, DateTimeKind.Local),
|
||||
Envir = 3,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(171),
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(173),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2379),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2380),
|
||||
OffertState = 0,
|
||||
RefNum = 4,
|
||||
RefRev = 1,
|
||||
RefYear = 2025,
|
||||
ValidUntil = new DateTime(2026, 1, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(170)
|
||||
ValidUntil = new DateTime(2026, 1, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2378)
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1497,14 +1497,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(292),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2496),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(294),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2498),
|
||||
Note = "Finestra Anta Singola 2025",
|
||||
OfferID = 1,
|
||||
OfferRowUID = "SOR.25.00000002",
|
||||
@@ -1530,14 +1530,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(306),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2509),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(308),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2511),
|
||||
Note = "Finestra Vetro Fisso 2025",
|
||||
OfferID = 1,
|
||||
OfferRowUID = "SOR.25.00000001",
|
||||
@@ -1563,14 +1563,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(319),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2522),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(320),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2523),
|
||||
Note = "Persiana per Finestra anta singola 2025",
|
||||
OfferID = 1,
|
||||
OfferRowUID = "SOR.25.00000003",
|
||||
@@ -1596,14 +1596,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(331),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2533),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(333),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2535),
|
||||
Note = "Installazione serramento",
|
||||
OfferID = 1,
|
||||
OfferRowUID = "SOR.25.00000004",
|
||||
@@ -1629,14 +1629,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(364),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2564),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(366),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2565),
|
||||
Note = "Demo file 01",
|
||||
OfferID = 2,
|
||||
OfferRowUID = "SOR.25.00000005",
|
||||
@@ -1662,14 +1662,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(376),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2576),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(378),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2577),
|
||||
Note = "Demo file 02",
|
||||
OfferID = 2,
|
||||
OfferRowUID = "SOR.25.00000006",
|
||||
@@ -1695,14 +1695,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(412),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2604),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(413),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2606),
|
||||
Note = "Demo file 01",
|
||||
OfferID = 3,
|
||||
OfferRowUID = "SOR.25.00000007",
|
||||
@@ -1728,14 +1728,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(424),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2616),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(425),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2618),
|
||||
Note = "Demo file 02",
|
||||
OfferID = 3,
|
||||
OfferRowUID = "SOR.25.00000008",
|
||||
@@ -1761,14 +1761,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(453),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2645),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(455),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2647),
|
||||
Note = "Demo file 01",
|
||||
OfferID = 4,
|
||||
OfferRowUID = "SOR.25.00000009",
|
||||
@@ -1794,14 +1794,14 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
FileName = "",
|
||||
FileResource = "",
|
||||
FileSize = 0L,
|
||||
Inserted = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(466),
|
||||
Inserted = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2657),
|
||||
ItemBOM = "",
|
||||
ItemJCD = "",
|
||||
ItemOk = true,
|
||||
ItemSteps = "{}",
|
||||
ItemTags = "",
|
||||
JobID = 0,
|
||||
Modified = new DateTime(2025, 12, 4, 12, 12, 42, 516, DateTimeKind.Local).AddTicks(468),
|
||||
Modified = new DateTime(2025, 12, 10, 10, 17, 46, 656, DateTimeKind.Local).AddTicks(2659),
|
||||
Note = "Demo file 02",
|
||||
OfferID = 4,
|
||||
OfferRowUID = "SOR.25.0000000A",
|
||||
@@ -2069,8 +2069,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 1,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5533),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5577),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9055),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9106),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 5.0,
|
||||
@@ -2082,8 +2082,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 2,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5580),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5582),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9109),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9111),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 8.0,
|
||||
@@ -2095,8 +2095,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 3,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5584),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5585),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9113),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9114),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 5.0,
|
||||
@@ -2108,8 +2108,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 4,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5587),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5589),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9116),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9117),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 1.0,
|
||||
@@ -2121,8 +2121,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 5,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5591),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5592),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9119),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9121),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 10.0,
|
||||
@@ -2134,8 +2134,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 6,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5595),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5596),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9123),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9124),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 1.0,
|
||||
@@ -2147,8 +2147,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 7,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5598),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5599),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9126),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9127),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 50.0,
|
||||
@@ -2160,8 +2160,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 8,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5602),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5603),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9129),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9131),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 1.0,
|
||||
@@ -2173,8 +2173,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 9,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5605),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5606),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9133),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9134),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 1.0,
|
||||
@@ -2186,8 +2186,8 @@ namespace EgwCoreLib.Lux.Data.Migrations
|
||||
{
|
||||
StockMovID = 10,
|
||||
CodDoc = "",
|
||||
DtCreate = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5609),
|
||||
DtMod = new DateTime(2025, 12, 4, 12, 12, 42, 512, DateTimeKind.Local).AddTicks(5610),
|
||||
DtCreate = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9136),
|
||||
DtMod = new DateTime(2025, 12, 10, 10, 17, 46, 652, DateTimeKind.Local).AddTicks(9137),
|
||||
MovCod = "CAR",
|
||||
Note = "DEMO",
|
||||
QtyRec = 1.0,
|
||||
|
||||
@@ -1185,6 +1185,11 @@ namespace EgwCoreLib.Lux.Data.Services
|
||||
sw.Start();
|
||||
// calcolo
|
||||
bool fatto = await dbController.OffertRowUpsert(updRec);
|
||||
if (fatto)
|
||||
{
|
||||
// sistemo UID...
|
||||
await OffertRowFixUid(updRec.OfferID);
|
||||
}
|
||||
// svuoto cache...
|
||||
await ExecFlushRedisPatternAsync((RedisValue)$"{redisBaseKey}:Offers:*");
|
||||
await ExecFlushRedisPatternAsync((RedisValue)$"{redisBaseKey}:OfferRows:*");
|
||||
@@ -1523,26 +1528,6 @@ namespace EgwCoreLib.Lux.Data.Services
|
||||
return fatto;
|
||||
}
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Recupero nuovo record BOM diretto dal DB
|
||||
/// </summary>
|
||||
/// <param name="offerRowID"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public OfferRowModel? OfferRowGetByOfferRowID(int offerRowID)
|
||||
{
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
OfferRowModel? result = null;
|
||||
result = dbController.OfferRowGetByOfferRowID(offerRowID);
|
||||
sw.Stop();
|
||||
Log.Debug($"OfferRowGetByOfferRowID | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Effettua upsert complessivo Ordine
|
||||
/// </summary>
|
||||
@@ -1793,6 +1778,61 @@ namespace EgwCoreLib.Lux.Data.Services
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce elenco SellingItem dato envir
|
||||
/// </summary>
|
||||
/// <param name="envir"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<SellingItemModel>> SellingItemsByEnvir(EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS envir)
|
||||
{
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
List<SellingItemModel>? result = new List<SellingItemModel>();
|
||||
// cerco in redis...
|
||||
string currKey = $"{redisBaseKey}:SellingItem:{envir}";
|
||||
RedisValue rawData = await redisDb.StringGetAsync(currKey);
|
||||
if (rawData.HasValue && rawData.Length() > 2)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<List<SellingItemModel>>($"{rawData}");
|
||||
source = "REDIS";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = await dbController.SellingItemsByEnvir(envir);
|
||||
// serializzo e salvo con config x evitare loop...
|
||||
rawData = JsonConvert.SerializeObject(result, JSSettings);
|
||||
await redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
result = new List<SellingItemModel>();
|
||||
}
|
||||
sw.Stop();
|
||||
Log.Debug($"SellingItemsByEnvir | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Recupero nuovo record BOM diretto dal DB
|
||||
/// </summary>
|
||||
/// <param name="offerRowID"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public OfferRowModel? OfferRowGetByOfferRowID(int offerRowID)
|
||||
{
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
OfferRowModel? result = null;
|
||||
result = dbController.OfferRowGetByOfferRowID(offerRowID);
|
||||
sw.Stop();
|
||||
Log.Debug($"OfferRowGetByOfferRowID | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Elenco completo Tags disponibili
|
||||
/// </summary>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
DROP PROCEDURE IF EXISTS `stp_deleteOfferTree`;
|
||||
|
||||
|
||||
CREATE DEFINER=`egalmware`@`10.74.%` PROCEDURE `stp_deleteOfferTree`(
|
||||
IN `pOfferID` INT
|
||||
)
|
||||
LANGUAGE SQL
|
||||
NOT DETERMINISTIC
|
||||
CONTAINS SQL
|
||||
SQL SECURITY DEFINER
|
||||
COMMENT 'Rimozione in unica stored di Righe Offerta e Offerta'
|
||||
BEGIN
|
||||
-- Eliminazione order rows
|
||||
DELETE
|
||||
FROM sales_offer_row
|
||||
WHERE OfferID = pOfferID;
|
||||
|
||||
-- Eliminazione main order
|
||||
DELETE
|
||||
FROM sales_offer
|
||||
WHERE OfferID = pOfferID;
|
||||
|
||||
-- Return affected rows
|
||||
SELECT ROW_COUNT() AS 'RowsDeleted';
|
||||
END
|
||||
@@ -0,0 +1,33 @@
|
||||
DROP PROCEDURE IF EXISTS `stp_deleteOrderTree`;
|
||||
|
||||
|
||||
CREATE DEFINER=`egalmware`@`10.74.%` PROCEDURE `stp_deleteOrderTree`(
|
||||
IN `pOrderId` INT
|
||||
)
|
||||
LANGUAGE SQL
|
||||
NOT DETERMINISTIC
|
||||
CONTAINS SQL
|
||||
SQL SECURITY DEFINER
|
||||
COMMENT 'Rimozione in unica stored di ProdItems, Righe Ordine e Ordine'
|
||||
BEGIN
|
||||
-- Eliminazione production_item collegati alle order rows
|
||||
DELETE FROM production_item
|
||||
WHERE OrderRowID IN (
|
||||
SELECT OrderRowID
|
||||
FROM sales_order_row
|
||||
WHERE OrderID = pOrderId
|
||||
);
|
||||
|
||||
-- Eliminazione order rows
|
||||
DELETE
|
||||
FROM sales_order_row
|
||||
WHERE OrderID = pOrderId;
|
||||
|
||||
-- Eliminazione main order
|
||||
DELETE
|
||||
FROM sales_order
|
||||
WHERE OrderID = pOrderId;
|
||||
|
||||
-- Return affected rows
|
||||
SELECT ROW_COUNT() AS 'RowsDeleted';
|
||||
END
|
||||
Reference in New Issue
Block a user