Programmer:Item Opening Maintenance v2: Difference between revisions

Content added Content deleted
mNo edit summary
No edit summary
Line 189: Line 189:


==Delete Item Opening entry==
==Delete Item Opening entry==
When existing item opening entry has to be deleted before adding / update to Item Opening.<br/>
When delete existing item opening entry, "ItemOpeningKey" is required.<br/>
This example uses a function to find the ItemOpeningKey.<br/>
Checking the existing record can avoid the error of '''"Sequence for Item 'FG00001', UOM 'UNIT', Location 'HQ', BatchNo ' ' is not correct."'''<br/>
Highlighted shows the function to get the list of keys and deletion of existing keys.
Highlighted shows the function to get the list of keys and deletion of existing keys.<br/><br/>
Get "ItemOpeningKey" can also be applied to check the existing record when it can avoid the error of<br/>'''"Sequence for Item 'FG00001', UOM 'UNIT', Location 'HQ', BatchNo ' ' is not correct."'''<br/>
<syntaxhighlight lang="csharp" highlight="22,23">
<syntaxhighlight lang="csharp" highlight="22,23">
public void CheckNewEntryBeforeAdding(AutoCount.Authentication.UserSession userSession)
public void CheckNewEntryBeforeAdding(AutoCount.Authentication.UserSession userSession)
Line 261: Line 262:
}
}
</syntaxhighlight>
</syntaxhighlight>
Another function to specially handle Deleting matching Item Opening

<syntaxhighlight lang="csharp">
public void DeleteAllMatchingItemOpening(IEnumerable<DataRow> itemOpenings, string itemCode, string uom, string location, string batchNo, Action<long> deleteOpening)
{
itemOpenings.Where(r => r.RowState != DataRowState.Deleted &&
r.Field<string>("ItemCode") == itemCode &&
r.Field<string>("UOM") == uom &&
r.Field<string>("Location") == location &&
r.Field<string>("BatchNo") == batchNo
).Select(r => r.Field<long>("ItemOpeningKey"))
.ToList().ForEach(key => deleteOpening(key));
}
</syntaxhighlight>
To apply this function code;
<syntaxhighlight lang="csharp">
DeleteAllMatchingItemOpening(entities.ItemOpeningTable.AsEnumerable(), "FG00001", "UNIT", "HQ", null, entities.DeleteItemOpening);
</syntaxhighlight>
<br/>
{{SeeAlsoStockV2}}
{{SeeAlsoStockV2}}
{{NavigateDeveloper}}
{{NavigateDeveloper}}