diff --git a/SHERPA.BBM.UI/Data/BBM_EFService.cs b/SHERPA.BBM.UI/Data/BBM_EFService.cs
index 1468766..401b855 100644
--- a/SHERPA.BBM.UI/Data/BBM_EFService.cs
+++ b/SHERPA.BBM.UI/Data/BBM_EFService.cs
@@ -132,6 +132,17 @@ namespace SHERPA.BBM.UI.Data
}
}
+ public void DocSetActive(DatabaseModels.DocsModel currItem)
+ {
+ try
+ {
+ dbController.DocSetActive(currItem);
+ }
+ catch
+ {
+ }
+ }
+
public void ItemAdd(DatabaseModels.ItemsModel newItem)
{
try
diff --git a/SHERPA.BBM.UI/Pages/Docs.razor b/SHERPA.BBM.UI/Pages/Docs.razor
index c4a9ce5..66f8dc3 100644
--- a/SHERPA.BBM.UI/Pages/Docs.razor
+++ b/SHERPA.BBM.UI/Pages/Docs.razor
@@ -77,7 +77,7 @@
@foreach (var record in itemsList)
{
- | |
+ |
SetActive(record)" /> |
@record.DocType |
@record.CodDoc |
@@ -125,7 +125,7 @@
int.TryParse(NegtIdReq, out NegotiationIdReq);
_SelCodNegotiation = NegotiationIdReq;
}
- updateTable();
+ updateTable().ConfigureAwait(false);
}
private int numRecord { get; set; } = 10;
@@ -150,7 +150,7 @@
set
{
_SelBasketId = value;
- updateTable();
+ updateTable().ConfigureAwait(false);
}
}
private int SelCodNegotiation
@@ -162,7 +162,7 @@
set
{
_SelCodNegotiation = value;
- updateTable();
+ updateTable().ConfigureAwait(false);
}
}
@@ -175,7 +175,7 @@
{
basketList = await BBMService.BasketsGetAsync(0);
negotiationList = await BBMService.NegotiationsGetAsync(0);
- updateTable();
+ await updateTable();
}
protected override async Task OnInitializedAsync()
@@ -219,15 +219,34 @@
currItem = newRecord;
}
+ protected void NewRelease(DatabaseModels.DocsModel currRecord)
+ {
+ // recupero counter
+ string newCode = BBMService.CounterGetNext($"EGW.D.{DateTime.Today.Year}");
+ DatabaseModels.DocsModel newRecord = new DatabaseModels.DocsModel()
+ {
+ CodDoc = newCode,
+ DataIns = DateTime.Now,
+ NegotiationId = currRecord.NegotiationId,
+ BasketId = currRecord.BasketId,
+ DocPath = currRecord.DocPath,
+ NumDoc = currRecord.NumDoc + 1,
+ DocType = currRecord.DocType,
+ Descript = "COPIA di " + currRecord.Descript
+ };
+ currItem = newRecord;
+ }
+
protected void Edit(SHERPA.BBM.DatabaseModels.DocsModel currRecord)
{
currItem = currRecord;
}
- protected void SetActive(SHERPA.BBM.DatabaseModels.DocsModel currRecord)
+ protected async Task SetActive(SHERPA.BBM.DatabaseModels.DocsModel currRecord)
{
// imposto ad attivo SOLO il DOC corrente tra quelli della negoziazione
BBMService.DocSetActive(currRecord);
+ await UpdateData();
}
protected void ShowResources(SHERPA.BBM.DatabaseModels.DocsModel currRecord)
diff --git a/SHERPA.BBM/Controllers/BBMController.cs b/SHERPA.BBM/Controllers/BBMController.cs
index 3ff1726..6126565 100644
--- a/SHERPA.BBM/Controllers/BBMController.cs
+++ b/SHERPA.BBM/Controllers/BBMController.cs
@@ -323,12 +323,13 @@ namespace SHERPA.BBM.Controllers
bool done = false;
try
{
+ // attivo record corrente
var currData = dbCtx
- .DbSetDocs
+ .DbSetDocs
.Where(x => x.DocId == updItem.DocId)
- .FirstOrDefault()
- .IsActive=true;
-
+ .FirstOrDefault();
+ currData.IsActive=true;
+ // altri record da disattivare
var otherData = dbCtx
.DbSetDocs
.Where(x => x.NegotiationId == updItem.NegotiationId && x.DocId != updItem.DocId)
@@ -336,8 +337,16 @@ namespace SHERPA.BBM.Controllers
foreach (var item in otherData)
{
item.IsActive = false;
+
}
dbCtx.SaveChanges();
+ // rileggo
+ dbCtx.Entry(currData).Reload();
+ // anche altri valori
+ foreach (var item in otherData)
+ {
+ dbCtx.Entry(item).Reload();
+ }
done = true;
}
catch
diff --git a/SHERPA.BBM/DatabaseModels/DocModel.cs b/SHERPA.BBM/DatabaseModels/DocModel.cs
index 8c16e14..990378e 100644
--- a/SHERPA.BBM/DatabaseModels/DocModel.cs
+++ b/SHERPA.BBM/DatabaseModels/DocModel.cs
@@ -39,7 +39,7 @@ namespace SHERPA.BBM.DatabaseModels
public BbmDocType DocType { get; set; } = BbmDocType.Quote;
[Column("IsActive", Order = 9)]
- public bool IsActive { get; set; } = true;
+ public bool IsActive { get; set; } = false;
[ForeignKey("NegotiationId")]
public virtual NegotiationsModel Negotiation { get; set; }