fix SimilarProduct behaviour
All checks were successful
continuous-integration/drone/push Build is passing

* solves similar product uniqueness issues
* solves issue with checkboxes for similar products not showing as selected

fixes #15
fixes #16
This commit is contained in:
surtur 2021-02-18 19:39:55 +01:00
parent 4c6efbc830
commit 0fbf239593
Signed by: wanderer
GPG Key ID: 19CE1EC1D9E0486D
2 changed files with 11 additions and 6 deletions

View File

@ -74,7 +74,7 @@ namespace pwt_0x01_ng.Areas.Admin.Controllers
} }
foreach (var s_item in s) foreach (var s_item in s)
{ {
var prodpls = await dbctx.Product.Where(p_item => p_item.id == s_item.prod_id).FirstOrDefaultAsync(); var prodpls = await dbctx.Product.Where(p_item => p_item.id == s_item.similar_prod_id).FirstOrDefaultAsync();
if(prodpls != null){ if(prodpls != null){
for (int i = 0; i < similar.Count; i++) for (int i = 0; i < similar.Count; i++)
{ {
@ -124,13 +124,15 @@ namespace pwt_0x01_ng.Areas.Admin.Controllers
if(similar.Count > 0){ if(similar.Count > 0){
foreach (var prod in similar) foreach (var prod in similar)
{ {
Similar s = dbctx.Similar.Where(p_item => p_item.prod_id == item.id && p_item.similar_prod_id == prod.id).FirstOrDefault();
if(prod.Selected){ if(prod.Selected){
Similar s = new Similar(); if (s == null) {
s.prod_id = item.id; s = new Similar();
s.similar_prod_id = prod.id; s.prod_id = item.id;
var res = dbctx.Similar.Add(s); s.similar_prod_id = prod.id;
dbctx.Similar.Add(s);
}
} else { } else {
Similar s = dbctx.Similar.Where(p_item => p_item.prod_id == item.id && p_item.similar_prod_id != prod.id).FirstOrDefault();
if (s != null) { if (s != null) {
dbctx.Similar.Remove(s); dbctx.Similar.Remove(s);
} }

View File

@ -60,6 +60,9 @@
<input asp-for="@Model.Similar[i].Selected" type="checkbox"> <input asp-for="@Model.Similar[i].Selected" type="checkbox">
<input asp-for="@Model.Similar[i].id" type="hidden"> <input asp-for="@Model.Similar[i].id" type="hidden">
} }
} else {
<input asp-for="@Model.Similar[i].Selected" type="checkbox" hidden>
<input asp-for="@Model.Similar[i].id" type="hidden">
} }
} }
</div> </div>