Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. global with sharing class LOYMemberServcies
  2. {
  3. public Map<Membership_card__C,Member__c> postMemberEnrollmentActivities(Map<String,Member__C> newMem)
  4. {
  5. //Get the base tier
  6. system.debug('%%%'+newMem);
  7. Map<Membership_card__C,Member__c> mapCardMember = new Map<Membership_card__C,Member__c>();
  8. for(String ss : newMem.keyset()){
  9. //create new membership card
  10. Member__c updateMem = new Member__c();
  11. updateMem = newMem.get(ss);
  12. system.debug('%%%'+updateMem );
  13. Membership_card__C mc = new Membership_Card__C();
  14. mc.member__c = updateMem.Id;
  15. List<String> tierClass = ss.split(',');
  16. mc.card_type__C = tierClass[0];
  17.  
  18. //udpate hte member record
  19. updateMem.tier__C = tierClass[1];
  20. //updateMem.membership_card__C = mc.id;
  21. mapCardMember.put(mc,updateMem);
  22.  
  23. }
  24. return mapCardMember;
  25. }
  26.  
  27. //Enroll the contact into a given program.
  28. //If the contact id is present, then duplicate check will be done to ensure one contact is part of one program only once.
  29.  
  30. global static List<String> EnrollTheContactIntoProgram(List<Contact> con,String programName)
  31. {
  32. List<String> result = new List<String>();
  33. Program__c program=[select id,Name from Program__c where name=:programName limit 1];
  34. List<Contact> newCon = new List<Contact>();
  35. Map<Id,Contact> existCon = new Map<Id,Contact>();
  36. List<Id> conId = new List<Id>();
  37. for(contact c : con){
  38. String contactId = c.Id;
  39.  
  40. system.debug('***'+c);
  41.  
  42. //check if contact id is null (new contact)
  43. if(contactId == null)
  44. {
  45. //create the new contact
  46. newCon.add(c);
  47. // then create a new member..
  48. }
  49. else
  50. {
  51. conId.add(c.Id); //check the duplicate of hte contact.
  52. existCon.put(c.Id,c);
  53. system.debug('im in else'+existCon);
  54. }
  55. }
  56. if(newCon.size()>0)
  57. {
  58. insert newCon;
  59. }
  60.  
  61. List<Member__C> membersWithSameContact = [select id,Contact__c from Member__C where Contact__C IN :conId and Program__C = :program.ID LIMIT 1];
  62. //check if htere is atlest one membership for the contact in the same program
  63. system.debug('******'+membersWithSameContact);
  64.  
  65. for(id i : existCon.keyset())
  66. {
  67. if(membersWithSameContact.size()>0)
  68. {
  69. for(Member__c m : membersWithSameContact)
  70. {
  71.  
  72. if(existCon.get(m.Contact__c) != null )
  73. {
  74. result.add( ' The contact is already part of the same Program'+m.Id);
  75. }
  76. else
  77. {
  78. //create the new member for the existing contact.
  79. newCon.add(existCon.get(m.Contact__c) );
  80. }
  81. }
  82. }
  83. else
  84. {
  85. newCon.add(existCon.get(i) );
  86. }
  87. }
  88.  
  89.  
  90. system.debug('****'+newCon);
  91. List<Member__c> newMem = new List<Member__c>();
  92. for(Contact cs : newCon){
  93. Member__c newMember = new Member__C();
  94. newMember.program__C = program.Id;
  95. newMember.Contact__C = cs.Id;
  96. newMember.Name = cs.Name;
  97. newMem.add(newMember);
  98. }
  99. insert newMem;
  100. for(Member__c m : newMem)
  101. {
  102. result.add('Contact Id '+m.Contact__C+' has been enrolled into the program. Member Number: '+m.Id);
  103. }
  104.  
  105. return result;
  106. }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement