• Srujana D 7
  • NEWBIE
  • 10 Points
  • Member since 2018

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 6
    Questions
  • 7
    Replies
Parent.cmp:
<table class="slds-table slds-table-bordered slds-table-striped slds-table-cell-buffer slds-table-fixed-layout" >
            <thead>
                <tr class="slds-text-heading-label">
                    <th scope="col"><div class="slds-truncate" title="Name"><b>Student Name</b></div></th>
                    <th scope="col"><div class="slds-truncate" title="Attendance"><b>Attendance</b></div></th>
                    <th scope="col"><div class="slds-truncate" title="Name"><b>date</b></div></th>
                </tr>
            </thead>
            <aura:iteration items="{!v.student}" var="stu">
               <aura:if isTrue="{!(stu.namespace36__Class__c == v.clases)}">
                    <c:AttendanceScreenChild newAttendance="{!v.newAttendance}" student="{!stu}" />
                </aura:if> </aura:iteration>
           
            <br/><br/>
            
        </table>
        <br/><br/>
           <center>
            <lightning:button label="Save" variant="brand" onclick= "{!c.clickNew}"/> 
        </center>
AttendanceScreenChild.cmp:

<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" controller="AttendanceCntrl" >
    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
    <aura:attribute name="newAttendance" type="Attendance__c" />
     <aura:attribute name="classes" type="string" />
    <aura:attribute name="student" type="Contact"/>
       <aura:registerEvent name="AttEvent" type="c:AttendanceEvent"/>
  
     <tbody>  
         <tr>
                            <td ><div class="slds-truncate" title="Student Name">
                                {!v.student.Name}<ui:outputText aura:id="button1" value="{!v.student.Id}" class="slds-hide" /></div></td>
                            <td><div >
                                <ui:inputCheckbox aura:id="checkbox"  value="{!v.newAttendance.attendances__c}" />
                                </div></td>
                            <td><div >
                                <lightning:input name="date" type="date" value="{!v.newAttendance.Date__c}" placeholder="dd/mm/yyyy" />
                                </div></td>
                            <td>
                           
            <lightning:button aura:id="submitButton" label="Submit" variant="brand" onclick= "{!c.doSomething}"/>
                            </td>
                        </tr> 
    </tbody>     
        
</aura:component>

My output view is
User-added image
Iam able to insert the individual record by clicking submit button,but i want to insert all records at a time by clicking save button.
can anyone Help me 
component:
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" controller="AttendanceCntrl" >
    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
    <aura:attribute name="newAttendance" type="Attendance__c[]" default="{
                                                                         'sobjectType': 'Attendance__c',
                                                                         'Name':'',
                                                                         'attendances__c': false,
                                                                         'Class__c': '',
                                                                         'Date__c': '',
                                                                         'Student_Name__c': '',
                                                                         'Sname__c':''                                        }"/>
    <aura:attribute name="Attendance" type="Attendance__c[]"/>
    <aura:attribute name="student" type="Contact[]"/>
    <aura:attribute name="labels" type="string[]"/>
    <aura:attribute name="clases" type="string"/>
    <aura:attribute name="master" type="string[]"/>
    <aura:attribute name="tables" type="boolean" default="false"/>
    <div style="font-size:1.5em">
        <b>Student Attendance Details</b>
    </div>
    <hr/>
    <div class="slds-p-bottom_large slds-p-left_large" style="width:600px" aura:id="tableIf">
        <form class="slds-form--stacked">
            <div class="slds-form-element">
                <lightning:select aura:id="newclass" name="Class" label="Class" value="{!v.Attendance.Class__c}" onchange="{!c.doSomethingOnClass}" >
                    <option value="">choose one...</option>
                    <aura:iteration items="{!v.labels}" var="l">
                        <option value="{!l}" label="{!l}"></option>
                    </aura:iteration>  </lightning:select> 
            </div></form><br/>
    </div>
    <aura:if isTrue="{!v.tables}">
        <table class="slds-table slds-table--bordered slds-table--striped slds-table--cell-buffer slds-table--fixed-layout" reRender="tableIf">
            <thead>
                <tr class="slds-text-heading--label">
                    <th scope="col"><div class="slds-truncate" title="Name"><b>Student Name</b></div></th>
                    <th scope="col"><div class="slds-truncate" title="Name"><b>SName</b></div></th>
                    <th scope="col"><div class="slds-truncate" title="Attendance"><b>Attendance</b></div></th>
                    <th scope="col"><div class="slds-truncate" title="Name"><b>date</b></div></th>
                </tr>
            </thead>
            <tbody>
                <!-- <aura:iteration items="{!v.Attendance}" var="Att">-->
                <aura:iteration items="{!v.student}" var="stu">
                        <!-- <aura:if isTrue="{!and(Att.Class__c == stu.Class__c,Att.Class__c == v.clases)}">-->
                        <tr>
                    <aura:if isTrue="{!( stu.Class__c == v.clases)}">
                   
                            <td aura:id="masterdata"><div class="slds-truncate" title="Student Name">{!stu.Name}</div></td>
                            <td><div >
                                <lightning:input name="Attendance" value="{!v.newAttendance.Sname__c}"/>
                                </div></td>
                            <td><div >
                                <!-- <lightning:input name="Attendance1" type="checkbox" value="{!v.newAttendance.attendances__c}" />-->
                                <ui:inputCheckbox aura:id="checkbox"  value="{!v.newAttendance.attendances__c}" />
                                </div></td>
                            <td><div >
                                <lightning:input name="date" type="date" value="{!v.newAttendance.Date__c}" placeholder="dd/mm/yyyy" />
                                </div></td> 
                         </aura:if>
                       </tr> 
                    
                </aura:iteration>
            </tbody>
        </table>
        <br/><br/>
        <center>
            <lightning:button label="Save" variant="brand" onclick="{!c.clickNew}"/> 
        </center>
    </aura:if>
</aura:component>

Controller:
({
    doInit : function(component, event, helper) {
       /* var RowItemList = component.get("v.newAttendance");
        RowItemList.push({
            'sobjectType': 'Attendance__c',
            'Name':'',
            'Attendance__c': '',
            'Class__c': '',
            'Date__c': '',
            'Student_Name__c': '',
            'Sname__c':''
        });*/
          helper.CreateClass(component,event,helper);
    },
    doSomethingOnClass : function(component, event, helper) {
          var res = event.getSource().get("v.value");
         component.set("v.clases",res);
         component.set("v.tables",true);
        
    },
    clickNew : function(component, event, helper) {
      var newInstance = component.get("v.newAttendance");  
        alert(JSON.stringify(newInstance));
        var action = component.get("c.executeInsert");
         action.setParams({ 
             newAttendance :  newInstance
         });
    action.setCallback(this, function(response) {
        var state=response.getState();
        alert(state);
    });
    $A.enqueueAction(action); 
    }
        
 })

apex class:

 @AuraEnabled 
    public static void executeInsert(Attendance__c newAttendance) {
    system.debug('newInstance'+newAttendance);
        insert newAttendance;
     
    }    
apex class:
public class myAccount {
    private final contact con;
    public string filename{set;get;}
    public string contenttype {set;get;}
    public string Conlastname{get;set;}
    public string conphone{get;set;}
    public string conemail{get;set;}
    public string Conmobilephone{get;set;}
    public string Accid='';
    public blob Photo{get;set;}
    public string photoname{get;set;}
    public string photourl{get;set;}
    //Contstructor 
   public myAccount(ApexPages.StandardController controller) {
     con=(Contact)controller.getRecord();
    }
   
    //this method updates the Contact with photourl and insert The Attachment Record
    public void UploadPhoto(){
        try{
            con.lastname = conlastname;  
            con.email = conemail;
            con.phone = conphone;
            con.mobilephone = conmobilephone;
            insert con;
           // Accid = ApexPages.currentPage().getParameters().get('id');  
           // inserting attachement with Attached photo      
            Attachment objA=new Attachment();
            objA.body = photo;
            objA.name = filename;
            objA.parentid= con.id;
            objA.ContentType = contenttype;
            insert objA;
           
            string Attid= objA.id;
            string attachmentid=Attid.substring(0,15);
             system.debug(Attid);
             con.imageUrl__c = '<img src="https://hyundaycars-dev-ed--c.ap5.content.force.com/servlet/servlet.FileDownload?file='+attachmentid+'"></img>';
           con.urlToImage__c = 'https://hyundaycars-dev-ed--c.ap5.content.force.com/servlet/servlet.FileDownload?file='+attachmentid;
            update con;
            photourl = con.urlToImage__c ;        
        }catch(Exception e){
            system.debug('Exception message'+e);
        }
     } 
     public List<SelectOption> getTypes(){
            Schema.sObjectType sobject_type = Contact.getSObjectType();
            Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe();
            Map<String, Schema.SObjectField> field_map = sobject_describe.fields.getMap();
            List<Schema.PicklistEntry> pick_list_values = field_map.get('Level__c').getDescribe().getPickListValues();
            List<selectOption> options = new List<selectOption>();
           for (Schema.PicklistEntry a : pick_list_values) {
                      options.add(new selectOption(a.getLabel(), a.getValue()));
          }
      return options;
}
 public List<SelectOption> getTypes1(){
            Schema.sObjectType sobject_type = Contact.getSObjectType();
            Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe();
            Map<String, Schema.SObjectField> field_map = sobject_describe.fields.getMap();
            List<Schema.PicklistEntry> pick_list_values = field_map.get('select_multipl__c').getDescribe().getPickListValues();
            List<selectOption> options = new List<selectOption>();
           for (Schema.PicklistEntry a : pick_list_values) {
                      options.add(new selectOption(a.getLabel(), a.getValue()));
          }
      return options;
}
}
Test class:
@isTest
public class TestmyAccount {
    @isTest static void myAccountTest(){
        Contact c = new Contact(LastName='lastName1');
            insert c;
        Attachment objA=new Attachment();
            objA.body = Blob.valueOf('photourl');
            objA.Name = 'filename';
            objA.parentid= c.id;
            objA.ContentType = 'Applications';
            insert objA;
        string ids = objA.Id;
            c.imageUrl__c = 'imageurl';
            c.urlToImage__c = 'photourl';
            update c;
        Test.startTest();
            myAccount acc =new myAccount(new ApexPages.StandardController(c));
       /* ApexPages.StandardController sc = new ApexPages.StandardController(c);
        myAccount acc = new myAccount(sc);*/
        acc.UploadPhoto();
        List<Attachment> attachments=[select id, name from Attachment where parent.id=:c.id];
        System.assertEquals(1, attachments.size());

        acc.Photo=Blob.valueOf('photourl');
        acc.filename='filename';
        acc.contenttype='Applications';
        acc.photoname='photoname';
        acc.photourl='photourl';
        
        List<SelectOption> sel = acc.getTypes();
        List<SelectOption> selist = acc.getTypes1();
        Test.stopTest();
    }
}
component:
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" controller="AttendanceCntrl" >
    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
    <aura:attribute name="newAttendance" type="Attendance__c[]" default="{
                                                                         'sobjectType': 'Attendance__c',
                                                                         'Name':'',
                                                                         'attendances__c': false,
                                                                         'Class__c': '',
                                                                         'Date__c': '',
                                                                         'Student_Name__c': '',
                                                                         'Sname__c':''                                        }"/>
    <aura:attribute name="Attendance" type="Attendance__c[]"/>
    <aura:attribute name="student" type="Contact[]"/>
    <aura:attribute name="labels" type="string[]"/>
    <aura:attribute name="clases" type="string"/>
    <aura:attribute name="master" type="string[]"/>
    <aura:attribute name="tables" type="boolean" default="false"/>
    <div style="font-size:1.5em">
        <b>Student Attendance Details</b>
    </div>
    <hr/>
    <div class="slds-p-bottom_large slds-p-left_large" style="width:600px" aura:id="tableIf">
        <form class="slds-form--stacked">
            <div class="slds-form-element">
                <lightning:select aura:id="newclass" name="Class" label="Class" value="{!v.Attendance.Class__c}" onchange="{!c.doSomethingOnClass}" >
                    <option value="">choose one...</option>
                    <aura:iteration items="{!v.labels}" var="l">
                        <option value="{!l}" label="{!l}"></option>
                    </aura:iteration>  </lightning:select> 
            </div></form><br/>
    </div>
    <aura:if isTrue="{!v.tables}">
        <table class="slds-table slds-table--bordered slds-table--striped slds-table--cell-buffer slds-table--fixed-layout" reRender="tableIf">
            <thead>
                <tr class="slds-text-heading--label">
                    <th scope="col"><div class="slds-truncate" title="Name"><b>Student Name</b></div></th>
                    <th scope="col"><div class="slds-truncate" title="Name"><b>SName</b></div></th>
                    <th scope="col"><div class="slds-truncate" title="Attendance"><b>Attendance</b></div></th>
                    <th scope="col"><div class="slds-truncate" title="Name"><b>date</b></div></th>
                </tr>
            </thead>
            <tbody>
                <!-- <aura:iteration items="{!v.Attendance}" var="Att">-->
                <aura:iteration items="{!v.student}" var="stu">
                        <!-- <aura:if isTrue="{!and(Att.Class__c == stu.Class__c,Att.Class__c == v.clases)}">-->
                        <tr>
                    <aura:if isTrue="{!( stu.Class__c == v.clases)}">
                   
                            <td aura:id="masterdata"><div class="slds-truncate" title="Student Name">{!stu.Name}</div></td>
                            <td><div >
                                <lightning:input name="Attendance" value="{!v.newAttendance.Sname__c}"/>
                                </div></td>
                            <td><div >
                                <!-- <lightning:input name="Attendance1" type="checkbox" value="{!v.newAttendance.attendances__c}" />-->
                                <ui:inputCheckbox aura:id="checkbox"  value="{!v.newAttendance.attendances__c}" />
                                </div></td>
                            <td><div >
                                <lightning:input name="date" type="date" value="{!v.newAttendance.Date__c}" placeholder="dd/mm/yyyy" />
                                </div></td> 
                         </aura:if>
                       </tr> 
                    
                </aura:iteration>
            </tbody>
        </table>
        <br/><br/>
        <center>
            <lightning:button label="Save" variant="brand" onclick="{!c.clickNew}"/> 
        </center>
    </aura:if>
</aura:component>

Controller:
({
    doInit : function(component, event, helper) {
       /* var RowItemList = component.get("v.newAttendance");
        RowItemList.push({
            'sobjectType': 'Attendance__c',
            'Name':'',
            'Attendance__c': '',
            'Class__c': '',
            'Date__c': '',
            'Student_Name__c': '',
            'Sname__c':''
        });*/
          helper.CreateClass(component,event,helper);
    },
    doSomethingOnClass : function(component, event, helper) {
          var res = event.getSource().get("v.value");
         component.set("v.clases",res);
         component.set("v.tables",true);
        
    },
    clickNew : function(component, event, helper) {
      var newInstance = component.get("v.newAttendance");  
        alert(JSON.stringify(newInstance));
        var action = component.get("c.executeInsert");
         action.setParams({ 
             newAttendance :  newInstance
         });
    action.setCallback(this, function(response) {
        var state=response.getState();
        alert(state);
    });
    $A.enqueueAction(action); 
    }
        
 })

apex class:

 @AuraEnabled 
    public static void executeInsert(Attendance__c newAttendance) {
    system.debug('newInstance'+newAttendance);
        insert newAttendance;
     
    }    
apex class:
public class myAccount {
    private final contact con;
    public string filename{set;get;}
    public string contenttype {set;get;}
    public string Conlastname{get;set;}
    public string conphone{get;set;}
    public string conemail{get;set;}
    public string Conmobilephone{get;set;}
    public string Accid='';
    public blob Photo{get;set;}
    public string photoname{get;set;}
    public string photourl{get;set;}
    //Contstructor 
   public myAccount(ApexPages.StandardController controller) {
     con=(Contact)controller.getRecord();
    }
   
    //this method updates the Contact with photourl and insert The Attachment Record
    public void UploadPhoto(){
        try{
            con.lastname = conlastname;  
            con.email = conemail;
            con.phone = conphone;
            con.mobilephone = conmobilephone;
            insert con;
           // Accid = ApexPages.currentPage().getParameters().get('id');  
           // inserting attachement with Attached photo      
            Attachment objA=new Attachment();
            objA.body = photo;
            objA.name = filename;
            objA.parentid= con.id;
            objA.ContentType = contenttype;
            insert objA;
           
            string Attid= objA.id;
            string attachmentid=Attid.substring(0,15);
             system.debug(Attid);
             con.imageUrl__c = '<img src="https://hyundaycars-dev-ed--c.ap5.content.force.com/servlet/servlet.FileDownload?file='+attachmentid+'"></img>';
           con.urlToImage__c = 'https://hyundaycars-dev-ed--c.ap5.content.force.com/servlet/servlet.FileDownload?file='+attachmentid;
            update con;
            photourl = con.urlToImage__c ;        
        }catch(Exception e){
            system.debug('Exception message'+e);
        }
     } 
     public List<SelectOption> getTypes(){
            Schema.sObjectType sobject_type = Contact.getSObjectType();
            Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe();
            Map<String, Schema.SObjectField> field_map = sobject_describe.fields.getMap();
            List<Schema.PicklistEntry> pick_list_values = field_map.get('Level__c').getDescribe().getPickListValues();
            List<selectOption> options = new List<selectOption>();
           for (Schema.PicklistEntry a : pick_list_values) {
                      options.add(new selectOption(a.getLabel(), a.getValue()));
          }
      return options;
}
 public List<SelectOption> getTypes1(){
            Schema.sObjectType sobject_type = Contact.getSObjectType();
            Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe();
            Map<String, Schema.SObjectField> field_map = sobject_describe.fields.getMap();
            List<Schema.PicklistEntry> pick_list_values = field_map.get('select_multipl__c').getDescribe().getPickListValues();
            List<selectOption> options = new List<selectOption>();
           for (Schema.PicklistEntry a : pick_list_values) {
                      options.add(new selectOption(a.getLabel(), a.getValue()));
          }
      return options;
}
}
Test class:
@isTest
public class TestmyAccount {
    @isTest static void myAccountTest(){
        Contact c = new Contact(LastName='lastName1');
            insert c;
        Attachment objA=new Attachment();
            objA.body = Blob.valueOf('photourl');
            objA.Name = 'filename';
            objA.parentid= c.id;
            objA.ContentType = 'Applications';
            insert objA;
        string ids = objA.Id;
            c.imageUrl__c = 'imageurl';
            c.urlToImage__c = 'photourl';
            update c;
        Test.startTest();
            myAccount acc =new myAccount(new ApexPages.StandardController(c));
       /* ApexPages.StandardController sc = new ApexPages.StandardController(c);
        myAccount acc = new myAccount(sc);*/
        acc.UploadPhoto();
        List<Attachment> attachments=[select id, name from Attachment where parent.id=:c.id];
        System.assertEquals(1, attachments.size());

        acc.Photo=Blob.valueOf('photourl');
        acc.filename='filename';
        acc.contenttype='Applications';
        acc.photoname='photoname';
        acc.photourl='photourl';
        
        List<SelectOption> sel = acc.getTypes();
        List<SelectOption> selist = acc.getTypes1();
        Test.stopTest();
    }
}
Hello ,
can any one help me  write below code using Map. i am really not understanding how to plan program in map , can any one help me how to plan program in map instead of lists, i have aware of all map functions,
your help  is appreciable

trigger AccountInsert on Account (before insert,before update) {
  for(account acc:trigger.new)
    {
        list<account> myaccount =[select id, name from account where name=:acc.name];
        if(myaccount.size() >0 )
        {
            acc.name.adderror('account name already existed');
           acc.adderror('account name already existed!!!');
        }
    }
/*
    //using map
    list<account> acclist= new list<account>();
    map<id,name> Mapofnames= new map<id,name>();
    */
    
   
}
 
How to get a count  records from object? ex:- if i  have 1 lakh records in object 

Hi Every one,

 

I have one requirment, I have to create one custom formula filed  in account object ie. "Photo__c" (i dont know how to create it ) and I have to upload an image using visualforce page and save this image to "Photo__c" field. while i have to show this image in visualforce page again.

 

How to achieve this functionality, Please help me out of this...

 

Thanks in adv........

 

  • September 15, 2011
  • Like
  • 1