Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Created by valeriyartemenko on 24.04.17.
- */
- public with sharing class ControllerBasket {
- public String items { get; set; }
- public CookieJar cookieJar = new CookieJar();
- public List<String> listItems { get; set; }
- public Set<Id> setId = new Set<ID>();
- public List<ID> listIDs = new List<Id>();
- public List<Item__c> lItems = new List<Item__c>();
- public Map<ID, Integer> countItemsInBasket = new Map<Id, Integer>();
- public ControllerBasket(ApexPages.StandardSetController controller) {
- Cookie item = ApexPages.currentPage().getCookies().get('item');
- items = item.getValue();
- listItems = items.split('(?<=\\G.{18})');
- getListIds(listItems);
- getSetIds(listItems);
- getListItems(setId);
- countItemsInBasket = findSameEl(listIDs);
- }
- /**
- Purs String cookie and get id from String
- */
- public void getSetIds(List<String> items) {
- for (String str : items)
- setId.add(ID.valueOf(str));
- }
- /**
- Get Object Item__c by id from getSetIds
- */
- public void getListItems(Set<ID> ids) {
- lItems = [SELECT Name__c, Price__c, Category__c FROM Item__c WHERE id in:ids];
- }
- public void getListIds(List<String> items){
- for (String str : items)
- listIDs.add(ID.valueOf(str));
- }
- public void buy() {
- cookieJar.clearCookie(ApexPages.currentPage().getCookies().get('item'));
- }
- public Map<ID, Integer> findSameEl(List<ID> idlist) {
- Integer counter;
- Map<ID, Integer> listMap = new Map<ID, Integer>();
- for (Integer i = 0; i < idlist.size(); i++) {
- if (!listMap.containsKey(idlist[i])) {
- counter = 1;
- for (Integer j = 0; j < idlist.size(); j++)
- if (idlist[i].equals(idlist[j]) && i != j)
- counter++;
- listMap.put(idlist[i], counter);
- }
- }
- return listMap;
- }
- //
- // public Integer getCurrentCount(){
- // return countItemsInBasket.;
- // }
- ////////////////////////////////////////////////////////
- //////////////////GETters and SETters///////////////////
- ////////////////////////////////////////////////////////
- public List<Item__c> getlItems() {
- return lItems;
- }
- public Map<Id,Integer> getcountItemsInBasket(){
- return countItemsInBasket;
- }
- // for (Map.Entry<String, String> pair : map.entrySet())
- // {
- // String key = pair.getKey(); //ключ
- // String value = pair.getValue(); //значение
- // System.(key + ':' + value);
- //}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement