Pages

Sunday, 19 January 2014

Covert list or generic list into json data in c#


    public static string ListToJson<T>(List<T> List, string Object, string StatusCode, string Message)
    {
        StringBuilder sb = new StringBuilder();
        try
        {
            if (List != null && StatusCode == "200" && Message == "Success")
            {
                sb.Append("{\"Status\":\"" + StatusCode + "\",");
                sb.Append("\"Message\":\"" + Message + "\",");
                sb.Append("\"" + Object + "\":");
                sb.Append(JsonConvert.SerializeObject(List));
                sb.Append("}");
            }
            else
            {
                sb.Append("{\"Status\":\"" + StatusCode + "\",");
                sb.Append("\"Message\":\"" + Message + " \"}");
            }
        }
        catch (Exception ex)
        {
            EsHelper.EsADLogger("Logistics.aspx ListToJson<T>()", ex.Message.ToString());
            StringBuilder ExSb = new StringBuilder();
            ExSb.Append("{\"Status\":\"" + StatusCode + "\",");
            ExSb.Append("\"Message\":\" Service Failed During Json Conversion  \"}");
            return EsHelper.EsGetValidString(ExSb);
        }
        return EsHelper.EsGetValidString(sb);
    }


[WebMethod]
        public static string GetCollectionRefNos()
        {
            string CollRefNosObj = string.Empty;
            string StatusCode = "200";
            string StatusMsg = "Success";
            string[] TempCollRefNo;
            try
            {
                using (CollectionRefNos CollRefNos = new CollectionRefNos())
                {
                    List<CollectionRefNos> lstColRef = new List<CollectionRefNos>();
                    List<CollectionRefNos> DisctinctlstColRef = new List<CollectionRefNos>();
                    using (workflow.Components.Inventory DAL = new workflow.Components.Inventory())
                    {
                        SqlDataReader Dr;
                        SqlParameter[] Param = new SqlParameter[1];
                        Param[0] = new SqlParameter("@Flag", "A");
                        using (Dr = DAL.ReadData(Usp_CollectionRefOpr, Param))
                        {
                            if (Dr.HasRows)
                            {
                                while (Dr.Read())
                                {
                                    TempCollRefNo = EsHelper.EsGetValidString(Dr["PrdCollRefNo"]).Split('|');
                                    foreach (var Temp in TempCollRefNo)
                                    {
                                        lstColRef.Add(new CollectionRefNos()
                                        {
                                            CollRefNo = int.Parse(Temp)
                                        });
                                    }
                                }
                            }
                        }
                    }
                    if (lstColRef.Count > 0)
                    {
                        lstColRef.Sort(delegate(CollectionRefNos p1, CollectionRefNos p2)
                        {
                            return p1.CollRefNo.CompareTo(p2.CollRefNo);
                        });
                        DisctinctlstColRef = lstColRef.GroupBy(a => a.CollRefNo).Select(g => g.First()).ToList();
                    }
                    else
                    {
                        StatusCode = "204"; StatusMsg = "No Records Found";
                    }
                    CollRefNosObj = EsHelper.ListToJson<CollectionRefNos>(DisctinctlstColRef, "CollRefNos", StatusCode, StatusMsg);
                }
            }
            catch (Exception ex)
            {
                EsHelper.EsADLogger("EstoreCollectionRef.aspx GetCollectionRefNos()", EsHelper.EsGetValidString(ex.Message));
            }
            return CollRefNosObj;
        }

No comments:

Post a Comment