You need to sign in to do that
Don't have an account?
Heena Chauhan
Updating Class:
Hello Everytone,
Please assist me in updating an existing Apex Class to be updated with new created fields:
I have below new created fields and need to mapp and follow the current process:
dateTime - Created in App (new field)
dateUploaded - Portal Upload (new field)
dateToISIS - Sent to Isis (new field)
completed - Completed (new field)
Below is the existing class which I have to update using the new fields. Object name is:
Acumen Reinstatment Header.
Please assist!
Thank You!
public with sharing class tRIIO_AcumenPrivateReinstatementToISIS { public HeaderImages objHeaderImages; public List<HeaderImages> lstImages = new List<HeaderImages>(); public String vStrEast = ''; public String vStrNorthing = ''; public static DescribeSObjectResult headerObjectType,lineObjectType; public class HeaderImages{ String FileName; Blob blobData; } public String processPrvtReinstatementXML(Blob xmlData, id acumenId){ string strResponseData=''; string strMsg=''; Acumen_Reinstatement_Header__c objRH; Acumen_Reinstatement_Line__c objRL; string strAttachment=''; boolean bolCheckLI=false; string sValue=''; string supplierValue = ''; //Ch03 List<Acumen_Reinstatement_Line__c> objARLineList = new List<Acumen_Reinstatement_Line__c>(); //Ch03 List<Acumen_Reinstatement_Header__c> objARHeaderList = new List<Acumen_Reinstatement_Header__c>(); //Ch03 headerObjectType = Schema.getGlobalDescribe().get('Acumen_Reinstatement_Header__c').getDescribe(); lineObjectType = Schema.getGlobalDescribe().get('Acumen_Reinstatement_Line__c').getDescribe(); System.debug('@#@# GDFO Header = '+headerObjectType); System.debug('@#@# GDFO Line = '+lineObjectType); DOM.Document xmlDoc = new dom.Document(); xmldoc.load(xmlData.toString()); DOM.Xmlnode node= xmldoc.getRootElement(); for(DOM.Xmlnode nodeparent : node.getChildElements()){ try{ if(nodeparent.getName().equalsIgnoreCase('reinstatement')){ System.debug('@@Inside loop'); for(DOM.Xmlnode nodereinstatementPvtRecord : nodeparent.getChildElements()){ //CHild Iteration System.debug('==>> @@ '+nodereinstatementPvtRecord.getName()+', Value = '+nodereinstatementPvtRecord.getText()); if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('projectReference') && nodereinstatementPvtRecord.getText() != ''){ sValue=GDFO_Acumen_Utility.sValidateFieldValue1(headerObjectType, 'Project_Reference__c',nodereinstatementPvtRecord.getText()); if(sValue!=null) objRH.Project_Reference__c=nodereinstatementPvtRecord.getText(); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('propertyLine1') && nodereinstatementPvtRecord.getText() != ''){ sValue=GDFO_Acumen_Utility.sValidateFieldValue1(headerObjectType, 'Location__c',nodereinstatementPvtRecord.getText()); if(sValue!=null) objRH.Location__c=nodereinstatementPvtRecord.getText(); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('propertyStreet') && nodereinstatementPvtRecord.getText() != ''){ sValue=GDFO_Acumen_Utility.sValidateFieldValue1(headerObjectType, 'Street__c',nodereinstatementPvtRecord.getText()); if(sValue!=null) objRH.Street__c=nodereinstatementPvtRecord.getText(); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('propertyTown') && nodereinstatementPvtRecord.getText() != ''){ sValue=GDFO_Acumen_Utility.sValidateFieldValue1(headerObjectType, 'Town__c',nodereinstatementPvtRecord.getText()); if(sValue!=null) objRH.Town__c=nodereinstatementPvtRecord.getText(); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('material') && nodereinstatementPvtRecord.getText() != ''){ String materialText= nodereinstatementPvtRecord.getText(); if(materialText=='DBM') objRL.Surface__c = nodereinstatementPvtRecord.getText(); else if(materialText=='Concrete') objRL.Surface__c='CON'; else if(materialText=='Blocks') objRL.Surface__c='MOD'; else if(materialText=='Slabs') objRL.Surface__c='SLB'; else if(materialText=='Turf'){ objRL.Surface__c='VRG'; objRL.Wearing_Course_Comments__c='Turf'; } else if(materialText=='Edging') objRL.Wearing_Course_Comments__c='Edging'; else if(materialText=='Other') objRL.Wearing_Course_Comments__c='Other'; else objRL.Surface__c=materialText; } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('length') && nodereinstatementPvtRecord.getText() != ''){ sValue=GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Length_m__c',nodereinstatementPvtRecord.getText()); if(sValue!=null) objRL.Length_m__c=decimal.valueof(sValue); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('location') && nodereinstatementPvtRecord.getText() != ''){ objRL.Location__c=GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Location__c',nodereinstatementPvtRecord.getText()); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('easting') && nodereinstatementPvtRecord.getText() != ''){ system.debug('@@ In tag objRL.Eastings__c--'+objRL.Eastings__c + '***'+nodereinstatementPvtRecord.getText()); objRL.Eastings__c=GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Eastings__c',nodereinstatementPvtRecord.getText()); system.debug('@@ out tag objRL.Eastings__c--'+objRL.Eastings__c); objRL = LLtoEN(objRL); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('northing') && nodereinstatementPvtRecord.getText() != ''){ system.debug('@@ In tag objRL.Northings__c--'+objRL.Northings__c + '***'+nodereinstatementPvtRecord.getText()); objRL.Northings__c=GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Northings__c',nodereinstatementPvtRecord.getText()); objRL = LLtoEN(objRL); system.debug('@@ out tag objRL.Northings__c--'+objRL.Northings__c); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('width') && nodereinstatementPvtRecord.getText() != ''){ sValue=GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Width_m__c',nodereinstatementPvtRecord.getText()); system.debug('@@ width Svalue---'+sValue); if(sValue!=null) objRL.Width_m__c=decimal.valueof(sValue); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('depth') && nodereinstatementPvtRecord.getText() != ''){ sValue=GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Overall_Depth_mm__c',nodereinstatementPvtRecord.getText()); system.debug('@@Overall_Depth_mm__c--'+sValue); if(sValue!=null && nodereinstatementPvtRecord.getText() != '' && decimal.valueof(nodereinstatementPvtRecord.getText())>0.1 ) { objRL.Overall_Depth_mm__c=GDFO_Acumen_Utility.convertMeterToMillimeter(double.valueof(sValue)); objRL.BF_Length_m__c=objRL.Length_m__c; objRL.BF_Width_m__c=objRL.Width_m__c; } } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('comments') && nodereinstatementPvtRecord.getText() != ''){ system.debug('@@comments--'+GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Wearing_Course_Comments__c',nodereinstatementPvtRecord.getText())); objRL.Wearing_Course_Comments__c=GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Wearing_Course_Comments__c',nodereinstatementPvtRecord.getText())+ ((objRL.Wearing_Course_Comments__c!=null) ? objRL.Wearing_Course_Comments__c :'') ; } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('dateTime') && nodereinstatementPvtRecord.getText() != ''){ system.debug('@@ dateTime Excavation_Date__c-'+nodereinstatementPvtRecord.getText() ); sValue=GDFO_Acumen_Utility.convertDateTimeTodate(nodereinstatementPvtRecord.getText()); system.debug('@@Excavation_Date__c-'+sValue); if(sValue!=null) objRL.Excavation_Date__c=date.valueof(sValue); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('supplier') && nodereinstatementPvtRecord.getText() != ''){ system.debug('@@ Company -Company__c -->'+nodereinstatementPvtRecord.getText() ); supplierValue = nodereinstatementPvtRecord.getText(); } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('gasEndDate')){ if(nodereinstatementPvtRecord.getText() != ''){ system.debug('@@Reinstatement_Ready_Date__c-'+nodereinstatementPvtRecord.getText()); sValue=GDFO_Acumen_Utility.sValidateFieldValue1(lineObjectType, 'Reinstatement_Ready_Date__c',nodereinstatementPvtRecord.getText()); system.debug('@@ sValue Reinstatement_Ready_Date__c-'+sValue); if(sValue!=null) objRL.Reinstatement_Ready_Date__c=date.valueof(sValue); } } else if(nodereinstatementPvtRecord.getName().equalsIgnoreCase('imageData')){ objHeaderImages = new HeaderImages(); for(DOM.Xmlnode nodeImages : nodereinstatementPvtRecord.getChildElements()){ if(nodeImages.getName().toLowerCase().contains('filename')){ objHeaderImages.FileName = nodeImages.getText(); } else if(nodeImages.getName().toLowerCase().contains('image')){ objHeaderImages.blobData = EncodingUtil.base64Decode(nodeImages.getText()); } } if(objHeaderImages.FileName != null && objHeaderImages.blobData != null){ lstImages.add(objHeaderImages); } system.debug('-----test image.size()'+lstImages.size()); if(lstImages.size()>0) strAttachment=AddAttachments(string.valueOf(objRH.Id), lstImages); lstImages = new List<HeaderImages>(); } catch(Exception ex){ strMsg='Error :' + ex.getMessage() + ' \n' + ex.getStackTraceString(); system.debug('## strMsg:' + strMsg); } finally{ if(objRH != null ){ objRH.Is_Error__c = (strMsg.contains('Error') ? true : false); objRH.Errors__c = (strMsg.contains('Error') ? strMsg : ''); strResponseData = getSendMessageResponse(strMsg); objARHeaderList.add(objRH);//Ch03 //update objRH; } if(objRL != null ) { objRL.Public_or_Private__c='Private'; // CH01. New system.debug('@@@objRL.Eastings__c-'+objRL.Eastings__c); system.debug('@@@objRL.Northings__c-'+objRL.Northings__c); //update objRL;//Ch03 } } } update objARHeaderList; List<tRIIO_Companies__c> objTRIIOCompany = [select id,Name__c from tRIIO_Companies__c WHERE Name__c =: supplierValue ORDER By LastModifiedDate DESC LIMIT 1];// system.debug('@@objTRIIOCompany -->'+objTRIIOCompany); if(!objTRIIOCompany.isEmpty()) objRL.Company__c = objTRIIOCompany[0].id; objARLineList.add(objRL); system.debug('objARLineList--->' + objARLineList); update objARLineList; return strResponseData; } public static string getSendMessageResponse(String strMsg){ string strResponseXML ; if(strMsg.contains('Error')){ strResponseXML = 'Error : Data received with incorrect values'; //strMsg; } else { strResponseXML = 'Success : Data saved successfully'; } return strResponseXML; } public static string AddAttachments(string newParentRef, List<HeaderImages> lstImages) //string imgBinaryData, string imgName, string newParentRef) { string strFiles = ''; try { system.debug('@@lstAttach'+newParentRef); system.debug('@@lstAttach'+lstImages); list<Attachment> lstAttach = new list<Attachment>(); for(HeaderImages obj:lstImages ){ Attachment objAttach = new Attachment(); objAttach.ParentId = newParentRef; objAttach.Name = obj.FileName ; objAttach.Body = obj.blobData; objAttach.Description = 'image/jpg'; lstAttach.add(objAttach); strFiles += obj.FileName + ','; } if(lstAttach.size()>0){ system.debug('-----lstAttach'+lstAttach.size()); insert lstAttach; } if (strFiles.length()>0){ system.debug('@@strFiles'+strFiles.length()); return ''; } else{ system.debug('@@else strFiles-'+strFiles.length()); return ''; } } catch(Exception ex){ system.debug('@@error strFiles:'+strFiles.length()); return 'Error : ' + ex.getMessage() + ' \n' + ex.getStackTraceString(); } } public Acumen_Reinstatement_Line__c LLtoEN(Acumen_Reinstatement_Line__c RL){ TOAConvertLatLonToEN obj; RL.h_Eastings__c = RL.Eastings__c; RL.h_Northings__c = RL.Northings__c; System.debug('@@objRL.Eastings__c-'+RL.Eastings__c); System.debug('@@objRL.Northings__c-'+RL.Northings__c); if(RL.Eastings__c != '' && RL.Eastings__c != null && RL.Northings__c != '' && RL.Northings__c != null){ vStrEast = RL.Eastings__c.replaceAll('°',''); vStrEast = vStrEast.replaceAll('�',''); vStrNorthing = RL.Northings__c.replaceAll('°',''); vStrNorthing = vStrNorthing.replaceAll('�',''); if(Pattern.matches('^[0-9,-]*\\d*(\\.\\d+)?$',vStrEast ) && Pattern.matches('^[0-9,-]*\\d*(\\.\\d+)?$',vStrNorthing )){ obj = new TOAConvertLatLonToEN(double.valueOf(vStrEast ), double.valueOf(vStrNorthing ), double.valueOf('0.00')); obj.LLtoNE(double.valueOf(vStrEast), double.valueOf(vStrNorthing)); System.debug('@@obj.estr-'+obj.estr); System.debug('@@obj.nstr-'+obj.nstr); RL.Eastings__c = obj.estr; RL.Northings__c = obj.nstr; }//end if checking the decimal or not }//end if checking the Northings , Eastings values are null or not return RL; }
Thank you!