Guest User

Untitled

a guest
Apr 26th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. trigger StockItemTrigger on Stock_Item__c(before insert, before delete) {
  2.  
  3.  
  4.  
  5.  
  6.  
  7. /*set<string> stockItemNames = new Set<string>();
  8.  
  9. for(Stock_Item__c newItems:trigger.new){
  10. stockItemNames.add(newItems.Item_Name__c);
  11. }
  12. if(stockItemNames.size()>0) {
  13. List<Stock_Item__c> oldItems =
  14. [Select Item_Name__c, Id
  15. From Stock_Item__c
  16. Where Item_Name__c IN: stockItemNames];
  17. ) {*/
  18. Map<Id,Stock_Item__c> duplicateMap = new Map<Id,Stock_Item__c>([
  19. Select Id,Item_Name__c
  20. From Stock_Item__c]);
  21. for(Stock_Item__c newItems: trigger.new){
  22. if(duplicateMap.containsKey(newItems.Item_Name__c)){
  23. newItems.Item_Name__c.addError('A stock item with this name already exists');
  24. }
  25. }
  26.  
  27. }
  28.  
  29. /* stockItemNames.add(newItems.Item_Name__c);
  30.  
  31. for(Stock_Item__c matchingItems:[
  32. Select Item_Name__c, Id
  33. From Stock_Item__c
  34. Where Item_Name__c = :stockItemNames])
  35.  
  36. stockItemNames.add(matchingItems.Item_Name__c);
  37.  
  38. for(Stock_Item__c stockItemNames : duplicateItems){
  39. //If(matchingItems.size()>0){
  40. if(newItems.Item_Name__c == matchingItems.Item_Name__c){
  41. newItems.Item_Name__c = newItems.Item_Name__c + 'Duplicate Item';
  42.  
  43. //optional solution that gives user an error and doesn't insert new recod
  44. //newItems.addError('There is already a stock item with this name. The record cannot be created.');
  45. }
  46. }
  47. {
  48.  
  49. }
  50. }
  51.  
  52.  
  53. //if(Trigger.isInsert){
  54. //StockItemDupCheck_2.stockItemDupCheck(Trigger.new);
  55. // }
  56. //else if(Trigger.isUpdate){
  57. //StockItemDupCheck_2.stockItemDupCheck(Trigger.new);
  58. //
  59. */
  60.  
  61.  
  62.  
  63. if(Trigger.isDelete && Trigger.isBefore) {
  64. List<Case> newCases = new List<Case>();
  65.  
  66.  
  67. Id runningUserId = UserInfo.getUserId();
  68. List<Stock_Item__c> sIventory = new List<Stock_Item__c>();
  69.  
  70. for (Stock_Item__c item : Trigger.old) {
  71.  
  72. if (item.stock_on_hand__c != 0 ) {
  73. //create a case
  74.  
  75. Case c = new Case();
  76. c.Type = 'Other';
  77. c.Reason = 'Inventory';
  78. c.recordtypeID = '0121N000000o82k';
  79. c.Origin = 'Stock Item Check';
  80. c.Subject = Item.Item_Name__c + ': Check Stock Item for accurate inventory';
  81. 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.';
  82. c.Deleted_Inventory_ID__c = item.ID;
  83. newCases.add(c);
  84. //item.addError('You can not delete a Stock Item with Inventory');
  85. }
  86. }
  87. insert newCases;
  88. System.debug('new case has been created.'+newcases);
  89.  
  90.  
  91. }
  92. }
Add Comment
Please, Sign In to add comment