• Vineeth Reddy
  • NEWBIE
  • 38 Points
  • Member since 2015

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 6
    Replies
Hello all.  I am VERY new to the development side of SF but have been doing admin for over 4 years.  I want to use Apex to edit a checkbox on the product object. for this query (SELECT Id,Name, fw8__QuickBooks_ID__c,Family,fw8_1__QB ) How do I accomplish this, please help.
Custom Object: Product__c
Custom Fields: Name, Quantity__c, Address__c, EmiNumber__C.

If User Creates a record :

Name ='Samsung Pro Max';
Quantity=10;
Address='xxxx'.



After Save
Here i need to Create same product with ten Records.
Say...!

Name ='Samsung Pro Max';
Quantity =1;
Address='xxxx'.

Name ='Samsung Pro Max';
Quantity =1;
Address='xxxx'.

Name ='Samsung Pro Max';
Quantity =1;
Address='xxxx'.

------------->so on 10 times
including the first record  to be updated as 1
so that i can track each item seperately .
Can this action can be acheived using the flow.


Thanks 
Prathushya Reddy.




 
public class IS_stVSnst {
    
     public integer z= 7;
  public integer x= 9;
  public static integer a= 9;
  public static integer b = 7,result; 
  
  public void kyun(){
    result = z+x;
    system.debug(result);
    
   
  }
  
    public static void how(){
     result = a+b;
  system.debug(result);
    }
}
@RestResource (urlMapping='/DeviceObjserviceendpoint/*')
global class DeviceObj_Rest_Service {
  
    @HttpGet
    global static void doGetDevice() {
        String result = '';
        try{
        Map<string, string> paramsMap = RestContext.request.params;
      if(paramsMap!=null){
        String serialNo = paramsMap.get('serialNo');
        String lastName = paramsMap.get('lastName');
        String dateOfBirth = paramsMap.get('dateOfBirth');  
                 Date dob = date.parse(dateOfBirth);
            
       
        //Date dob = date.parse(dateOfBirth);
        List<Device__C> Devs = [Select Id, Name,Dob__c,Patient_Last_Name__c from Device__C 
                                where Name = :SerialNo and  
                                Patient_Last_Name__c =:lastName and 
                                DOB__c = :dob
                                LIMIT 1];

         if( Devs.size() > 0 ) {
             Device__C Dev = Devs[0];
            Map<String,String> resultMap = new Map<String,String> {
                'Message'  => 'Device found Sucessfully',
                'DeviceId' => Dev.Id,
                'SerialNo' => Dev.Name,
                'DateOfBirth' => string.valueof(Dev.Dob__c),
                 'lastname' =>Dev.Patient_Last_Name__c
            };
           
          result = JSON.serialize( resultMap );
       
         }
        else {
            result = 'Device with SerialNo :' + SerialNo + ' not found!';
        }
        }
        }catch(Exception ex){
            result= ex.getMessage();
        }
        RestContext.response.addHeader('Content-Type','application/json');
        RestContext.response.responseBody = Blob.valueOf(result);
    
         }
    
}

My Test Class:
@isTest
private class DeviceObj_Rest_Service_Test {
    
    static testMethod void testDoGetDevice() {
         Id stExam = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Patient').getRecordTypeId();
         system.debug(stExam);
         
         Account acc = new Account(FirstName = 'Test', LastName = 'Test22', PersonEmail = 'testaccount@test.com', RecordTypeId = stExam);
         insert acc;  
            
       
        // create a new Device record
        Device__c device = new Device__c(Name = '1234567890', type__c='Test',Patient__c= acc.id);
        insert device;
        
        // test a valid GET request
        RestRequest request = new RestRequest();
        request.requestURI = '/services/apexrest/DeviceObjserviceendpoint';
        request.addParameter('serialNo', device.Name);
        request.addParameter('lastName', device.Patient_Last_Name__c);
        request.addParameter('dateOfBirth', String.valueOf(device.DOB__c));
        RestContext.request = request;
        
        Test.startTest();
        DeviceObj_Rest_Service.doGetDevice();
        Test.stopTest();
        
        RestResponse response = RestContext.response;
      
    }
    
}

Its getting failed due to some issues , please provide some tips or any links to refer .

Thanks
Prathusha Reddy.
Hi,

I can't pass the challenge (https://developer.salesforce.com/trailhead/force_com_dev_intermediate/lex_dev_lc_basics/lex_dev_lc_basics_events). This is the error when check challenge:

Challenge Not yet complete... here's what's wrong: 
The campingList JavaScript controller isn't adding the new record to the 'items' value provider.


I tryed in the browser add new Camping Items and it's working correctly. The item is added to database and the list is updated.

This is my code:

campingList Component
<aura:component controller="CampingListController">
    
    <aura:handler name="init" action="{!c.doInit}" value="{!this}"/>
    <aura:handler name="addItem" event="c:addItemEvent" action="{!c.handleAddItem}"/>
    
    <div class="slds-page-header" role="banner">

      <div class="slds-grid">

        <div class="slds-col">

          <p class="slds-text-heading--label">Camping Items</p>

          <h1 class="slds-text-heading--medium">My Camping Items</h1>

        </div>

      </div>

    </div>

      
  <div aria-labelledby="newitemform">

      <fieldset class="slds-box slds-theme--default slds-container--small">
    
        <c:campingListForm />
    
      </fieldset>

	</div>
    
    
     <aura:attribute name="items" type="Camping_Item__c[]"/>

    <div class="slds-card slds-p-top--medium">
        <header class="slds-card__header">
            <h3 class="slds-text-heading--small">Camping List Items</h3>
        </header>
        
        <section class="slds-card__body">
            <div id="list" class="row">
                <aura:iteration items="{!v.items}" var="campItem">
                    <c:campingListItem item="{!campItem}"/>
                </aura:iteration>
            </div>
        </section>
    </div>

</aura:component>

campingList Controller.js
({
    
    doInit: function(component, event, helper) {
    
        var action = component.get("c.getItems");
    
        action.setCallback(this, function(response) {
            var state = response.getState();
            if (component.isValid() && state === "SUCCESS") {
                component.set("v.items", response.getReturnValue());
            }
            else {
                console.log("Failed with state: " + state);
            }
        });
    
        $A.enqueueAction(action);
    },    
    
    handleAddItem: function(component, event, helper) {
        var item = event.getParam("item");
                
        var action = component.get("c.saveItem");
        action.setParams({
            "item": item
        });
        
        action.setCallback(this, function(response){
            var state = response.getState();
            if (component.isValid() && state === "SUCCESS") {        
                var theItems = component.get("v.items");
                theItems.push(item);
                component.set("v.items",theItems);
            }
        });
        $A.enqueueAction(action);
    }
    
})

CampingListController
public with sharing class CampingListController {

    @AuraEnabled 
    public static List<Camping_Item__c> getItems() {
        return [SELECT Id, Name, Price__c, Quantity__c, Packed__c FROM Camping_Item__c];
    }
    
    @AuraEnabled
    public static Camping_Item__c saveItem(Camping_Item__c item) {
        upsert item;
        return item;
    }
}

CampingListForm Component
<aura:component >
    
     <aura:attribute name="newItem" type="Camping_Item__c"
     default="{ 'sobjectType': 'Camping_Item__c',
                    'Name': '',
                    'Packed__c': false,
                    'Price__c': '0',
                    'Quantity__c': '0' }"/>
	<aura:registerEvent name="addItem" type="c:addItemEvent"/>
    
  <div aria-labelledby="newitemform">
      <fieldset class="slds-box slds-theme--default slds-container--small">
    
        <legend id="newitemform" class="slds-text-heading--small 
          slds-p-vertical--medium">
          Add Camping Item
        </legend>
    
        <form class="slds-form--stacked">
    
          <div class="slds-form-element slds-is-required">
              <div class="slds-form-element__control">
                  <ui:inputText aura:id="name" label="Camping Item Name"
                      class="slds-input"
                      labelClass="slds-form-element__label"
                      value="{!v.newItem.Name}"
                      required="true"/>
              </div>
         </div>
            
          <div class="slds-form-element">
              <ui:inputCheckbox aura:id="packed" label="Packed?"
                  class="slds-checkbox"
                  labelClass="slds-form-element__label"
                  value="{!v.newItem.Packed__c}"/>
          </div>
            
        <div class="slds-form-element">
              <div class="slds-form-element__control">
                  <ui:inputCurrency aura:id="price" label="Price"
                      class="slds-input"
                      labelClass="slds-form-element__label"
                      value="{!v.newItem.Price__c}" />
    
              </div>
          </div>
    
         <div class="slds-form-element">
              <div class="slds-form-element__control">
                  <ui:inputNumber aura:id="quantity" label="Quantity"
                      class="slds-input"
                      labelClass="slds-form-element__label"
                      value="{!v.newItem.Quantity__c}"/>
    
              </div>
          </div>
    
          <div class="slds-form-element">
              <ui:button label="Create Camping Item"
                  class="slds-button slds-button--brand"
                  press="{!c.clickCreateCampingItem}"/>
          </div>
    
        </form>
    
      </fieldset>
</div>

</aura:component>

CampingListForm Controller.js
({    
    
    clickCreateCampingItem : function(component, event, helper) {
        
        var validCamping = true;

        // Name must not be blank
        var nameField = component.find("name");
        var expname = nameField.get("v.value");
        if ($A.util.isEmpty(expname)){
            validCamping = false;
            nameField.set("v.errors", [{message:"Camping Item name can't be blank."}]);
        }
        else {
            nameField.set("v.errors", null);
        }

        
        var priceField = component.find("price");
        var price = priceField.get("v.value");
        if ($A.util.isEmpty(price) || isNaN(price) || (price <= 0.0)){
            validCamping = false;
            priceField.set("v.errors", [{message:"Camping Item price can't be blank."}]);
        }
        else {
            priceField.set("v.errors", null);
        }
        
        var quantityField = component.find("quantity");
        var quantity = quantityField.get("v.value");
        if ($A.util.isEmpty(quantity) || isNaN(quantity) || (quantity <= 0)){
            validCamping = false;
            quantityField.set("v.errors", [{message:"Camping Item quantity can't be blank."}]);
        }
        else {
            quantityField.set("v.errors", null);
        }

        if(validCamping){
            
            helper.createItem(component);
            
        }
        
    },
})

CampingListForm Helper.js
({
    
     createItem : function(component) {
        var newItem = component.get("v.newItem");
        var addEvent = component.getEvent("addItem");
        addEvent.setParams({"item" : newItem});
        addEvent.fire();
        component.set("v.newItem",
                     { 'sobjectType': 'Camping_Item__c',
                    'Name': '',
                    'Packed__c': false,
                    'Price__c': 0,
                    'Quantity__c': 0});
    }
})

Could anyone help me?

Thanks,
Regards.