public with sharing class lexAccountController {
    @AuraEnabled
    public static InitData init(String recordId){
        InitData res = new InitData();
        try {
            Account acc = [
                select
                Name
                from Account where Id =: recordId
            ]; 
            res.name = acc.Name;
        } catch (Exception e) {
            System.debug(e.getMessage());
        }
        return res;
    }
    @AuraEnabled
    public static InitData initForNewSolutonProButton(String recordId){
        InitData res = new InitData();
        try {
            Account acc = [
                select
                Id, 
                Hospital__r.Salesdepartment_HP__c,
                Hospital__r.Id, 
                Hospital__r.OCM_Category__c
                from Account where Id =: recordId
            ];
            res.hospitalSalesdepartmentHP = acc.Hospital__r.Salesdepartment_HP__c;
            res.hospitalId = acc.Hospital__r.Id;
            res.hospitalOCMCategory = acc.Hospital__r.OCM_Category__c;
        } catch (Exception e) {
            System.debug(e.getMessage());
        }
        return res;
    }
    @AuraEnabled
    public static InitData initForOTHCreateButton(String recordId){
        InitData res = new InitData();
        try {
           res.recordTypeId = Schema.SObjectType.Account_Number_of_case__c.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_OTHER).getRecordTypeId(); 
        } catch (Exception e) {
            System.debug(e.getMessage());
        }
        return res;
    }

    @AuraEnabled
    public static InitData initForDepartmentCreate(String recordId,String type){
        InitData res = new InitData();
        try {
            Account acc = [
            select
            Hospital_Department_Class__c
            from Account where Id =: recordId
            ];
            res.hospitalDepartmentClass = acc.Hospital_Department_Class__c;
            if(type == 'BF'){
                res.recordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_BF).getRecordTypeId(); 
            }else if(type == 'ENT'){
                res.recordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_ENT).getRecordTypeId(); 
            }else if(type == 'GI'){
                res.recordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_GI).getRecordTypeId(); 
            }else if(type == 'GS'){
                res.recordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_GS).getRecordTypeId(); 
            }else if(type == 'GYN'){
                res.recordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_GYN).getRecordTypeId(); 
            }else if(type == 'OTH'){
                res.recordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_OTH).getRecordTypeId(); 
            }else if(type == 'URO'){
                res.recordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_URO).getRecordTypeId(); 
            }        
         } catch (Exception e) {
            System.debug(e.getMessage());
         }
         return res;
        
        
    }

    @AuraEnabled
    public static InitData initForRepairContact(String recordId){
        InitData res = new InitData();
        try{
            res.recordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_CON).getRecordTypeId(); 
        }catch(Exception e){
            System.debug(e.getMessage());
        }
        return res;
    }
    public class InitData{
        @AuraEnabled
        public String hospitalSalesdepartmentHP;
        @AuraEnabled
        public String hospitalId;
        @AuraEnabled
        public String hospitalOCMCategory;
        @AuraEnabled
        public String recordTypeId;
        @AuraEnabled
        public String hospitalDepartmentClass;
        @AuraEnabled
        public String name;
    }
}