Skip to main content
3 of 6
added 402 characters in body
Rinu
  • 1.5k
  • 3
  • 29
  • 61

compare two list and Increment QTY if item exists

I am moving selected item from a list to another.

i want to increase the quantity of a field it the item already exists. Please see my existing code is below

   <script type="text/javascript">
    function AddToCart() {
        var context = SP.ClientContext.get_current();
        //var siteUrl = 'https://xxx.sharepoint.com/sites/Developer';
        //you don't use clientContext
        //var clientContext = new SP.ClientContext(siteUrl);
        var web = context.get_web();
        context.load(web);

        var sourceId = SP.ListOperation.Selection.getSelectedList();
        var source = web.get_lists().getById(sourceId);


        var oList = context.get_web().get_lists().getByTitle('Chart');
        context.load(oList);

        var selectedItems = SP.ListOperation.Selection.getSelectedItems(context);
        var spItems = [];
        //  alert('debut');
        for (i = 0; i < selectedItems.length; i++) {
            var currentItem = source.getItemById(selectedItems[i].id);
            //alert(selectedItems[i].id);
            context.load(currentItem);
            spItems.push(currentItem);

        }
        context.executeQueryAsync(Function.createDelegate(this, function (sender, args) {
            // alert('test');
            for (var j = 0; j < spItems.length; j++) {
                if (spItems[j].get_item('Product_x0020_Name') == "Thoshiba")
                {
                    alert("Item already exists in the chart");
                }
                else
                {
                    var itemCreateInfo = new SP.ListItemCreationInformation();
                    var oListItem = oList.addItem(itemCreateInfo);
                    oListItem.set_item('Title', spItems[j].get_item('Title'));
                    //alert(spItems[j].get_item('Title'));
                    oListItem.set_item('Item', spItems[j].get_item('Item'));
                    oListItem.set_item('Product_x0020_Name', spItems[j].get_item('Product_x0020_Name'));
                    oListItem.set_item('Description', spItems[j].get_item('Description'));
                    oListItem.set_item('Price', spItems[j].get_item('Price'));
                    oListItem.set_item('Department', spItems[j].get_item('Department'));
                    oListItem.set_item('Branch', spItems[j].get_item('Branch'));
                }
               
               // oListItem.set_item('QTY', spItems[j].get_item('QTY') + 1);

                oListItem.update();
                //alert(spItems[j].get_item('Product_x0020_Name'));
                //oList.update();                
            }
            context.executeQueryAsync(success);
            //   alert('done');

        }), Function.createDelegate(this, error));


        function success(sender, args) {
            alert('Added to chart!');
            // window.location.reload(true);
            window.location.href = window.location.href;
        }

        function error(sender, args) { alert('error'); }
    }
    </script>
    <input name="btnApprove" onclick="AddToCart()" type="button" value="Add To Cart" /> 
Rinu
  • 1.5k
  • 3
  • 29
  • 61