Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. public void createTimeSheet() {
  2. errorMsg = '';
  3. TimeSheet__c newTimeSheet = new TimeSheet__c(
  4. Date__c = date.valueOf(newTimeSheetDate),
  5. Status__c = 'New',
  6. Employee__c = [SELECT Id FROM Employee__c WHERE Name=:EmployeeName].Id
  7. );
  8. try {
  9. insert newTimeSheet;
  10. //catching the DML exceptions first
  11. } catch(DmlException e) {
  12. errorMsg = e.getDmlMessage(0);
  13. ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,errorMsg));
  14. //catching all other exceptions
  15. } catch(Exception e) {
  16. errorMsg = e.getMessage();
  17. ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,errorMsg));
  18. }
  19. }
  20.  
  21. public static testMethod void createTimeSheetNullPointerFail_test() {
  22. init();
  23.  
  24. cont.EmployeeName = testEmployeeName;
  25. cont.tslist = testTsList;
  26.  
  27. test.startTest();
  28. cont.createTimeSheet();
  29. test.stopTest();
  30. System.assert(cont.errorMsg.contains('System.NullPointerException: Attempt to de-reference a null object'), cont.errorMsg);
  31. }
  32.  
  33. try {
  34. Date.valueOf((String) null);
  35. } catch (Exception e) {
  36. System.debug('>>> ' + e.getMessage());
  37. }
  38.  
  39. public void createTimeSheet() {
  40. errorMsg = '';
  41. List<Employee__c> foundEmployees = [SELECT Id FROM Employee__c WHERE Name=:EmployeeName];
  42. if (foundEmployees.size() > 0) {
  43. TimeSheet__c newTimeSheet = new TimeSheet__c(
  44. Date__c = date.valueOf(newTimeSheetDate),
  45. Status__c = 'New',
  46. Employee__c = foundEmployees[0].Id
  47. );
  48. }
  49. else {
  50. // handle scenario here where the employee wasn't found, show error on page possibly
  51. // also consider adding else if scenario if more than 1 employee is found that matches the name
  52. }
  53. // TODO evaluate if try/catches are still needed
  54. try {
  55. insert newTimeSheet;
  56. //catching the DML exceptions first
  57. } catch(DmlException e) {
  58. errorMsg = e.getDmlMessage(0);
  59. ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,errorMsg));
  60. //catching all other exceptions
  61. } catch(Exception e) {
  62. errorMsg = e.getMessage();
  63. ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,errorMsg));
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement