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)
{
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){
for (int i = 0; i < similar.Count; i++)
{
@ -124,13 +124,15 @@ namespace pwt_0x01_ng.Areas.Admin.Controllers
if(similar.Count > 0){
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){
Similar s = new Similar();
s.prod_id = item.id;
s.similar_prod_id = prod.id;
var res = dbctx.Similar.Add(s);
if (s == null) {
s = new Similar();
s.prod_id = item.id;
s.similar_prod_id = prod.id;
dbctx.Similar.Add(s);
}
} 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) {
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].id" type="hidden">
}
} else {
<input asp-for="@Model.Similar[i].Selected" type="checkbox" hidden>
<input asp-for="@Model.Similar[i].id" type="hidden">
}
}
</div>