Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- trigger StockItemTrigger on Stock_Item__c(before insert, before delete) {
- /*set<string> stockItemNames = new Set<string>();
- for(Stock_Item__c newItems:trigger.new){
- stockItemNames.add(newItems.Item_Name__c);
- }
- if(stockItemNames.size()>0) {
- List<Stock_Item__c> oldItems =
- [Select Item_Name__c, Id
- From Stock_Item__c
- Where Item_Name__c IN: stockItemNames];
- ) {*/
- Map<Id,Stock_Item__c> duplicateMap = new Map<Id,Stock_Item__c>([
- Select Id,Item_Name__c
- From Stock_Item__c]);
- for(Stock_Item__c newItems: trigger.new){
- if(duplicateMap.containsKey(newItems.Item_Name__c)){
- newItems.Item_Name__c.addError('A stock item with this name already exists');
- }
- }
- }
- /* stockItemNames.add(newItems.Item_Name__c);
- for(Stock_Item__c matchingItems:[
- Select Item_Name__c, Id
- From Stock_Item__c
- Where Item_Name__c = :stockItemNames])
- stockItemNames.add(matchingItems.Item_Name__c);
- for(Stock_Item__c stockItemNames : duplicateItems){
- //If(matchingItems.size()>0){
- if(newItems.Item_Name__c == matchingItems.Item_Name__c){
- newItems.Item_Name__c = newItems.Item_Name__c + 'Duplicate Item';
- //optional solution that gives user an error and doesn't insert new recod
- //newItems.addError('There is already a stock item with this name. The record cannot be created.');
- }
- }
- {
- }
- }
- //if(Trigger.isInsert){
- //StockItemDupCheck_2.stockItemDupCheck(Trigger.new);
- // }
- //else if(Trigger.isUpdate){
- //StockItemDupCheck_2.stockItemDupCheck(Trigger.new);
- //
- */
- if(Trigger.isDelete && Trigger.isBefore) {
- List<Case> newCases = new List<Case>();
- Id runningUserId = UserInfo.getUserId();
- List<Stock_Item__c> sIventory = new List<Stock_Item__c>();
- for (Stock_Item__c item : Trigger.old) {
- if (item.stock_on_hand__c != 0 ) {
- //create a case
- Case c = new Case();
- c.Type = 'Other';
- c.Reason = 'Inventory';
- c.recordtypeID = '0121N000000o82k';
- c.Origin = 'Stock Item Check';
- c.Subject = Item.Item_Name__c + ': Check Stock Item for accurate inventory';
- c.Description = 'Stock Item Name: ' + Item.Item_Name__c + ' with Stock on hand = '+ item.Stock_on_hand__c + ', is requested for deletion. Please retrieve from the Recycle Bin if Stock Item is needed.';
- c.Deleted_Inventory_ID__c = item.ID;
- newCases.add(c);
- //item.addError('You can not delete a Stock Item with Inventory');
- }
- }
- insert newCases;
- System.debug('new case has been created.'+newcases);
- }
- }
Add Comment
Please, Sign In to add comment