public static string GetOrderInfo(int orderid) { string orderData = ""; try { using (LinqToSqlDataContext db = new LinqToSqlDataContext()) { var orderItemsWithEM = db.USP_GetEmizonOrderItems(orderid); var data = orderItemsWithEM.Select(x => new { ProductCode = x.ProductCode, ProductDesc = x.ProductName, EMNO = string.IsNullOrEmpty(x.EM_No) ? "" : x.EM_No, InstallID = x.GPRSNo, //EMNo = "EMNo: " + x.EM_No + (string.IsNullOrEmpty(x.GPRSNo) ? "" : ", InstallID: " + x.GPRSNo), //only show installid if available as not all ARC's has this feature SerialNo = string.IsNullOrEmpty(x.EM_TCD_SerialNo) ? "N/A" : x.EM_TCD_SerialNo, EM_APIMsg = string.IsNullOrEmpty(x.EM_APIMsg) ? "" : x.EM_APIMsg, EM_APIStatusID = x.EM_APIStatusID.HasValue ? x.EM_APIStatusID.ToString() : "", OrderItemDetailId = x.OrderItemDetailId, } ).ToList(); Newtonsoft.Json.JsonSerializer jsr = new Newtonsoft.Json.JsonSerializer(); System.IO.StringWriter sw = new System.IO.StringWriter(); Newtonsoft.Json.JsonTextWriter jtw = new Newtonsoft.Json.JsonTextWriter(sw); jsr.Serialize(jtw, data.ToArray()); orderData = sw.ToString(); } } catch (Exception objException) { try { CSLOrderingARCBAL.LinqToSqlDataContext db; db = new CSLOrderingARCBAL.LinqToSqlDataContext(); db.USP_SaveErrorDetails("OrderconfirmationEmizon", "LoadEmizonOrderData", Convert.ToString(objException.Message), Convert.ToString(objException.InnerException), Convert.ToString(objException.StackTrace), "", HttpContext.Current.Request.UserHostAddress, false, SiteUtility.GetUserName()); } catch { } } return(orderData); }