Click here to Skip to main content
15,893,644 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi i have multiple List<object> records but i am getting only one records as result.

Could you please help me how to get all list data for the below data.

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ToCommaExample
{
    class Program
    {
        public void DisplayResult(object fromResult)
        {
            foreach (var result in fromResult as List<object>)
            {
                var Jsonresult = Newtonsoft.Json.JsonConvert.SerializeObject(result);
                Console.WriteLine(Jsonresult);
               

            }

        }
        public static void CreatEvents(object auditData)
        {
            if (auditData != null)
            {
                List<object> singleAuditEvent = new List<object>();
                foreach (var fromAuditData in auditData as List<object>)
                {

                    singleAuditEvent.Add(fromAuditData);

                }
                Program obj = new Program();
                obj.DisplayResult(singleAuditEvent);
            }
        }
        static void Main(string[] args)
        {
            List<object> listObject = new List<object>();

            List<SecurityAuditData> objSecurityAuditData = new List<SecurityAuditData>()
            {
            new SecurityAuditData() { EntityID="12341",TransactionName="ABC",UserIdentity="U1"} }; listObject.Add(objSecurityAuditData);


            List<SecurityAuditData> objSecurityAuditData1 = new List<SecurityAuditData>()
            {

            new SecurityAuditData() { EntityID="12344",TransactionName="ABC3",UserIdentity="U4"}}; listObject.Add(objSecurityAuditData1);

            List<SecurityAuditData> objSecurityAuditData2 = new List<SecurityAuditData>()
            {

            new SecurityAuditData() { EntityID="12343",TransactionName="ABC2",UserIdentity="U3"}
          }; listObject.Add(objSecurityAuditData2);

            List<SecurityAuditData> objSecurityAuditData3 = new List<SecurityAuditData>()
            {

            new SecurityAuditData() { EntityID="12342",TransactionName="ABC1",UserIdentity="U2"}
          }; listObject.Add(objSecurityAuditData3);



            Program.CreatEvents(listObject);
            Console.Read();
        }

    }


    public class SecurityAuditData
    {
        public string TransactionName { get; set; }
        public string EntityID { get; set; }
        public string UserIdentity { get; set; }

    }


}


What I have tried:

I have tried with the below code but not able to get all records.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ToCommaExample
{
    class Program
    {
        public void DisplayResult(object fromResult)
        {
            foreach (var result in fromResult as List<object>)
            {
                var Jsonresult = Newtonsoft.Json.JsonConvert.SerializeObject(result);
                Console.WriteLine(Jsonresult);
                

            }

        }
        public static void CreatEvents(object auditData)
        {
            if (auditData != null)
            {
                List<object> singleAuditEvent = new List<object>();
                foreach (var  fromAuditData in auditData as List<object>)
                {

                    singleAuditEvent.Add(fromAuditData);

                }
                Program obj = new Program();
                obj.DisplayResult(singleAuditEvent);
            }
        }
        static void Main(string[] args)
        {
            List<object> listObject = new List<object>();

            List<SecurityAuditData> objSecurityAuditData = new List<SecurityAuditData>()
            {
            new SecurityAuditData() { EntityID="12341",TransactionName="ABC",UserIdentity="U1"} }; listObject.Add(objSecurityAuditData);


            List<SecurityAuditData> objSecurityAuditData1 = new List<SecurityAuditData>()
            {

            new SecurityAuditData() { EntityID="12344",TransactionName="ABC3",UserIdentity="U4"}}; listObject.Add(objSecurityAuditData1);

            List<SecurityAuditData> objSecurityAuditData2 = new List<SecurityAuditData>()
            {

            new SecurityAuditData() { EntityID="12343",TransactionName="ABC2",UserIdentity="U3"}
          }; listObject.Add(objSecurityAuditData2);

            List<SecurityAuditData> objSecurityAuditData3 = new List<SecurityAuditData>()
            {

            new SecurityAuditData() { EntityID="12342",TransactionName="ABC1",UserIdentity="U2"}
          }; listObject.Add(objSecurityAuditData3);



            Program.CreatEvents(listObject);
            Console.Read();
        }

    }


    public class SecurityAuditData
    {
        public string TransactionName { get; set; }
        public string EntityID { get; set; }
        public string UserIdentity { get; set; }

    }


}

Output :
[{"TransactionName":"ABC","EntityID":"12341","UserIdentity":"U1"}]

Getting only the above result but need to get all 4 records
Posted
Updated 8-Oct-18 10:17am
v3

Remove the Console.Read(); after Console.WriteLine(Jsonresult);

They pause execution and cause the program to wait for user (keyboard) input.

{Update] OP made the change I recommended and now it works.
 
Share this answer
 
v4
The code should work perfectly the once you tried is working with me.
 
Share this answer
 
Are you sure you're not getting the output you want with the second program?

I ran it as is and got:
[{"TransactionName":"ABC","EntityID":"12341","UserIdentity":"U1"}]
[{"TransactionName":"ABC3","EntityID":"12344","UserIdentity":"U4"}]{[{"TransactionName":"ABC2","EntityID":"12343","UserIdentity":"U3"}]{[{"TransactionName":"ABC1","EntityID":"12342","UserIdentity":"U2"}]{
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900