Click here to Skip to main content
15,908,906 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
aoa i had maked a function on wcf webservice... and i am using datalist to add data in it... but now i want to convert into asmx...
how it can be done asmx..... below is my code
in json we used data list but in asmx????
kindly do tell
C#
public List<datalist6> gettrialsubleger(string baranchcode, string fromdate, string todate)
        {
            databaseops ops = new databaseops();
            DataTable rd1;
            DataTable rd2;
            DataTable rd3;
            DataTable rd4;
            DataTable final;
            bool level1, level2;
            level1 = level2 = true;
            decimal dr, cr, totalcr, totaldr, level1cr, level2cr, level3cr, level1dr, level2dr, level3dr;
            totalcr = totaldr = level1cr = level2cr = level3cr = level1dr = level2dr = level3dr = 0;
            rd1 = ops.getdata("select Acct_sub0,Acct_Desc from Gl_sub0 where Compcode='" + baranchcode + "'");
            List<datalist6> data = new List<datalist6>();
            if (rd1.Rows.Count > 0)
            {
                foreach (DataRow dr1 in rd1.Rows)
                {
                    //level1
                    rd2 = ops.getdata("select Acct_sub0+Acct_sub1 as Acct,Acct_Desc from Gl_sub1 where Compcode='" + baranchcode + "' and Acct_sub0='" + dr1[0].ToString() + "'");
                    if (rd2.Rows.Count > 0)
                    {
                        foreach (DataRow dr2 in rd2.Rows)
                        {
                            //level2
                            rd3 = ops.getdata("select Acct_sub1+Acct_sub2 as Acct,Acct_Desc from Gl_sub2 where Compcode='" + baranchcode + "' and Acct_Sub1='" + dr2[0] + "'");
                            if (rd3.Rows.Count > 0)
                            {
                                foreach (DataRow dr3 in rd3.Rows)
                                {
                                    //level3
                                    rd4 = ops.getdata("select AccountNo,Acct_Desc from GL_Detail where Compcode='" + baranchcode + "' and Acct_Sub='" + dr3[0] + "'");
                                    if (rd4.Rows.Count > 0)
                                    {
                                        foreach (DataRow dr4 in rd4.Rows)
                                        {
                                            //level4 
                                            final = ops.getdata("select  SUM(Dr_Amount) as d , sum(cr_amount) as c from gl_trans where Accountno='" + dr4[0] + "' and Value_Date between '" + fromdate + "' and '" + todate + "'");
                                            if (final.Rows.Count > 0)
                                            {
                                                if (!final.Rows[0].ItemArray[0].ToString().Equals(""))
                                                {
                                                    if (level1)
                                                    {
                                                        data.Add(new datalist6(dr1[0].ToString().Trim() + " - " + dr1[1].ToString().Trim(), "level1", "-", "-", "-", "-"));
                                                        level1 = false;
                                                    }
                                                    if (level2)
                                                    {
                                                        data.Add(new datalist6(dr2[0].ToString().Trim() + " - " + dr2[1].ToString().Trim(), "level2", "-", "-", "-", "-"));
                                                        level2 = false;
                                                    }

                                                    dr = decimal.Parse(final.Rows[0].ItemArray[0].ToString());
                                                    cr = decimal.Parse(final.Rows[0].ItemArray[1].ToString());
                                                    level1cr += cr;
                                                    level2cr += cr;
                                                    level3cr += cr;
                                                    level1dr += dr;
                                                    level2dr += dr;
                                                    level3dr += dr;
                                                    totalcr += cr;
                                                    totaldr += dr;
                                                }
                                            }
                                        }
                                    }
                                    if (level3dr > 0 || level3cr > 0)
                                    {
                                        data.Add(new datalist6(dr3[0].ToString() + " - " + dr3[1].ToString(), "-", ops.valuechecker(level3dr), ops.valuechecker(level3cr), ops.valueparser(level3dr - level3cr, false), ops.valueparser(level3dr - level3cr, false)));
                                        level3cr = 0;
                                        level3dr = 0;
                                    }
                                }
                            }
                            if (!level2)
                            {
                                level2 = true;
                                data.Add(new datalist6("Total for " + dr2[1].ToString(), "level2end", ops.valuechecker(level2dr), ops.valuechecker(level2cr), ops.valueparser(level2dr - level2cr, false), ops.valueparser(level2dr - level2cr, false)));
                                level2cr = 0;
                                level2dr = 0;
                            }
                        }
                    }
                    if (!level1)
                    {
                        level1 = true;
                        data.Add(new datalist6("Total for " + dr1[1].ToString(), "level1end", ops.valuechecker(level1dr), ops.valuechecker(level1cr), ops.valueparser(level1dr - level1cr, false), ops.valueparser(level1dr - level1cr, false)));
                        level1cr = 0;
                        level1dr = 0;
                    }
                }
            }
            if (totalcr > 0 || totaldr > 0)
            {
                data.Add(new datalist6("end", "Grand Total", ops.valuechecker(totaldr), ops.valuechecker(totalcr), "-", "-"));
                data.Add(new datalist6("end", "Balance", ops.valueparser(totaldr - totalcr, true), "-", "-", "-"));
            }
            return data;
        }

[DataContract]
   public class datalist4
   {
       [DataMember]
       public string val1 { get; set; }
       [DataMember]
       public string val2 { get; set; }
       [DataMember]
       public string val3 { get; set; }
       [DataMember]
       public string val4 { get; set; }
       public datalist4(string v1, string v2, string v3, string v4)
       {
           val1 = v1;
           val2 = v2;
           val3 = v3;
           val4 = v4;
       }
   }
Posted
Updated 15-Jun-14 3:56am
v2

1 solution

1. Add Newtonsoft.Json.dll to your reference
2. Add the namespace using Newtonsoft.Json; in your class
3. Call the below function

C#
public Xml GetXMLFromJson(string jsonObj)
   {
       try
       {
           var table = JsonConvert.DeserializeObject<Xml>(jsonObj);
           return table;
       }
       catch (Exception ex)
       {
           throw new ArgumentException(ex.Message);
       }

}

Hope it works fine .


Refer :
Converting DataTable to JSON Format in C# and VB.NET[^]
 
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