Scala SDK Samples - Territory Operations

Get All Territories
              
              
package com.zoho.crm.sample.territories

import java.util
import com.zoho.crm.api.customviews.Criteria
import com.zoho.crm.api.territories.APIException
import com.zoho.crm.api.territories.ResponseHandler
import com.zoho.crm.api.territories.ResponseWrapper
import com.zoho.crm.api.territories.TerritoriesOperations
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model


object Territories {
  /**
   *  Get Territories 
   * This method is used to get the list of territories enabled for your organization and print the response.
   *
   * @throws Exception
   */
 @throws[Exception]
  def getTerritories(): Unit = { //Get instance of TerritoriesOperations Class
    val territoriesOperations = new TerritoriesOperations
    //Call getTerritories method
    val responseOption = territoriesOperations.getTerritories
    if (responseOption.isDefined) { //check response
      var response= responseOption.get
      println("Status Code: " + response.getStatusCode)
      if (util.Arrays.asList(204, 304).contains(response.getStatusCode)) {
        println(if (response.getStatusCode == 204) "No Content"
        else "Not Modified")
        return
      }
      //Check if expected response is received
      if (response.isExpected) { //Get object from response
        val responseHandler = response.getObject
        if (responseHandler.isInstanceOf[ResponseWrapper]) { //Get the received ResponseWrapper instance
          val responseWrapper = responseHandler.asInstanceOf[ResponseWrapper]
          //Get the list of obtained Territory instances
          val territoryList = responseWrapper.getTerritories
          for (territory <- territoryList) { //Get the CreatedTime of each Territory
            println("Territory CreatedTime: " + territory.getCreatedTime)
            //Get the ModifiedTime of each Territory
            println("Territory ModifiedTime: " + territory.getModifiedTime)
            //Get the manager User instance of each Territory
            val managerOption = territory.getManager
            //Check if manager is not null
            if (managerOption.isDefined) { //Get the Name of the Manager
              val manager = managerOption.get
              println("Territory Manager User-Name: " + manager.getName)
              //Get the ID of the Manager
              println("Territory Manager User-ID: " + manager.getId)
            }
            //Get the ParentId of each Territory
            println("Territory ParentId: " + territory.getParentId)
            // Get the Criteria instance of each Territory
            val criteriaOption = territory.getCriteria
            //Check if criteria is not null
            if (criteriaOption.isDefined){
              printCriteria(criteriaOption.get)
            }
            //Get the Name of each Territory
            println("Territory Name: " + territory.getName)
            //Get the modifiedBy User instance of each Territory
            val modifiedByOption = territory.getModifiedBy
            //Check if modifiedBy is not null
            if (modifiedByOption.isDefined) { //Get the Name of the modifiedBy User
              val modifiedBy=modifiedByOption.get
              println("Territory Modified By User-Name: " + modifiedBy.getName)
              //Get the ID of the modifiedBy User
              println("Territory Modified By User-ID: " + modifiedBy.getId)
            }
            //Get the Description of each Territory
            println("Territory Description: " + territory.getDescription)
            //Get the ID of each Territory
            println("Territory ID: " + territory.getId)
            //Get the createdBy User instance of each Territory
            val createdByOption = territory.getCreatedBy
            //Check if createdBy is not null
            if (createdByOption.isDefined) { //Get the Name of the createdBy User
              val createdBy=createdByOption.get
              println("Territory Created By User-Name: " + createdBy.getName)
              //Get the ID of the createdBy User
              println("Territory Created By User-ID: " + createdBy.getId)
            }
          }
        }
        else { //Check if the request returned an exception
          if (responseHandler.isInstanceOf[APIException]) { //Get the received APIException instance
            val exception = responseHandler.asInstanceOf[APIException]
            //Get the Status
            println("Status: " + exception.getStatus.getValue)
            //Get the Code
            println("Code: " + exception.getCode.getValue)
            println("Details: ")
            //Get the details map
            exception.getDetails.foreach(entry=>{
              println(entry._1 + ": " + entry._2)
            })
            //Get the Message
            println("Message: " + exception.getMessage.getValue)
          }
        }
      }
      else { //If response is not as expected
        //Get model object from response
        val responseObject = response.getModel
        //Get the response object's class
        val clas = responseObject.getClass
        //Get all declared fields of the response class
        val fields = clas.getDeclaredFields
        for (field <- fields) { //Get each value
          println(field.getName + ":" + field.get(responseObject))
        }
      }
    }
  }
}
 
Get a Territory
              
              
package com.zoho.crm.sample.territories

import java.util
import com.zoho.crm.api.customviews.Criteria
import com.zoho.crm.api.territories.APIException
import com.zoho.crm.api.territories.ResponseHandler
import com.zoho.crm.api.territories.ResponseWrapper
import com.zoho.crm.api.territories.TerritoriesOperations
import com.zoho.crm.api.util.APIResponse
import com.zoho.crm.api.util.Model


object Territories {
  /**
   *  Get Territory 
   * This method is used to get the single territory and print the response.
   *
   * @param territoryId - The ID of the Territory to be obtained
   * @throws Exception
   */
  @throws[Exception]
  def getTerritory(territoryId: Long): Unit = { //example
    //Long territoryId = 3477061051397l
    val territoriesOperations = new TerritoriesOperations
    //Call getTerritory method that takes territoryId as parameter
    val responseOption = territoriesOperations.getTerritory(territoryId)
    if (responseOption.isDefined) { //check response
      var response= responseOption.get
      println("Status Code: " + response.getStatusCode)
      if (util.Arrays.asList(204, 304).contains(response.getStatusCode)) {
        println(if (response.getStatusCode == 204) "No Content"
        else "Not Modified")
        return
      }
      if (response.isExpected) {
        val responseHandler = response.getObject
        if (responseHandler.isInstanceOf[ResponseWrapper]) {
          val responseWrapper = responseHandler.asInstanceOf[ResponseWrapper]
          val territoryList = responseWrapper.getTerritories
          for (territory <- territoryList) {
            println("Territory CreatedTime: " + territory.getCreatedTime)
            println("Territory ModifiedTime: " + territory.getModifiedTime)
            val managerOption = territory.getManager
            //Check if manager is not null
            if (managerOption.isDefined) { //Get the Name of the Manager
              val manager = managerOption.get
              println("Territory Manager User-Name: " + manager.getName)
              //Get the ID of the Manager
              println("Territory Manager User-ID: " + manager.getId)
            }
            println("Territory ParentId: " + territory.getParentId)
            val criteria = territory.getCriteria
            val criteriaOption = territory.getCriteria
            //Check if criteria is not null
            if (criteriaOption.isDefined){
              printCriteria(criteriaOption.get)
            }
            println("Territory Name: " + territory.getName)
            val modifiedByOption = territory.getModifiedBy
            if (modifiedByOption.isDefined) { //Get the Name of the modifiedBy User
              val modifiedBy=modifiedByOption.get
              println("Territory Modified By User-Name: " + modifiedBy.getName)
              //Get the ID of the modifiedBy User
              println("Territory Modified By User-ID: " + modifiedBy.getId)
            }
            println("Territory Description: " + territory.getDescription)
            println("Territory ID: " + territory.getId)
            val createdByOption = territory.getCreatedBy
            //Check if createdBy is not null
            if (createdByOption.isDefined) { //Get the Name of the createdBy User
              val createdBy=createdByOption.get
              println("Territory Created By User-Name: " + createdBy.getName)
              //Get the ID of the createdBy User
              println("Territory Created By User-ID: " + createdBy.getId)
            }
          }
        }
        else if (responseHandler.isInstanceOf[APIException]) {
          val exception = responseHandler.asInstanceOf[APIException]
          println("Status: " + exception.getStatus.getValue)
          println("Code: " + exception.getCode.getValue)
          println("Details: ")
          exception.getDetails.foreach(entry=>{
            println(entry._1 + ": " + entry._2)
          })
          println("Message: " + exception.getMessage.getValue)
        }
      }
      else {
        val responseObject = response.getModel
        val clas = responseObject.getClass
        val fields = clas.getDeclaredFields
        for (field <- fields) {
          println(field.getName + ":" + field.get(responseObject))
        }
      }
    }
  }
}