Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. /**
  2. * Created by valeriyartemenko on 24.04.17.
  3. */
  4.  
  5. public with sharing class ControllerBasket {
  6. public String items { get; set; }
  7. public CookieJar cookieJar = new CookieJar();
  8. public List<String> listItems { get; set; }
  9. public Set<Id> setId = new Set<ID>();
  10. public List<ID> listIDs = new List<Id>();
  11. public List<Item__c> lItems = new List<Item__c>();
  12. public Map<ID, Integer> countItemsInBasket = new Map<Id, Integer>();
  13.  
  14. public ControllerBasket(ApexPages.StandardSetController controller) {
  15. Cookie item = ApexPages.currentPage().getCookies().get('item');
  16. items = item.getValue();
  17. listItems = items.split('(?<=\\G.{18})');
  18. getListIds(listItems);
  19. getSetIds(listItems);
  20. getListItems(setId);
  21. countItemsInBasket = findSameEl(listIDs);
  22. }
  23.  
  24. /**
  25. Purs String cookie and get id from String
  26. */
  27. public void getSetIds(List<String> items) {
  28. for (String str : items)
  29. setId.add(ID.valueOf(str));
  30. }
  31.  
  32. /**
  33. Get Object Item__c by id from getSetIds
  34. */
  35. public void getListItems(Set<ID> ids) {
  36. lItems = [SELECT Name__c, Price__c, Category__c FROM Item__c WHERE id in:ids];
  37. }
  38.  
  39. public void getListIds(List<String> items){
  40. for (String str : items)
  41. listIDs.add(ID.valueOf(str));
  42.  
  43. }
  44.  
  45. public void buy() {
  46. cookieJar.clearCookie(ApexPages.currentPage().getCookies().get('item'));
  47. }
  48. public Map<ID, Integer> findSameEl(List<ID> idlist) {
  49. Integer counter;
  50. Map<ID, Integer> listMap = new Map<ID, Integer>();
  51. for (Integer i = 0; i < idlist.size(); i++) {
  52. if (!listMap.containsKey(idlist[i])) {
  53. counter = 1;
  54. for (Integer j = 0; j < idlist.size(); j++)
  55. if (idlist[i].equals(idlist[j]) && i != j)
  56. counter++;
  57. listMap.put(idlist[i], counter);
  58. }
  59. }
  60. return listMap;
  61. }
  62. //
  63. // public Integer getCurrentCount(){
  64. // return countItemsInBasket.;
  65. // }
  66.  
  67. ////////////////////////////////////////////////////////
  68. //////////////////GETters and SETters///////////////////
  69. ////////////////////////////////////////////////////////
  70. public List<Item__c> getlItems() {
  71. return lItems;
  72. }
  73.  
  74. public Map<Id,Integer> getcountItemsInBasket(){
  75. return countItemsInBasket;
  76. }
  77.  
  78.  
  79. // for (Map.Entry<String, String> pair : map.entrySet())
  80. // {
  81. // String key = pair.getKey(); //ключ
  82. // String value = pair.getValue(); //значение
  83. // System.(key + ':' + value);
  84. //}
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement