/// <summary> /// Parses the exported status and builds an array of export status information. As per /// status it builds a status array which contains statusCode (0/1), statusMesage, fileName, /// width, height and notice in some cases. /// </summary> /// <param name="filename">exported status ( false if failed/error, filename as stirng if success)</param> /// <param name="meta">Hastable containing meta descriptions of the chart like width, height</param> /// <param name="msg">custom message to be added as statusMessage.</param> /// <returns></returns> private IList <string> ParseExportedStatus(object filename, Hashtable meta, string msg) { var arrStatus = new List <string>(); bool status = filename is string; // add notices if (Notices.Length > 0) { arrStatus.Add("notice=" + Notices.ToString().Trim()); } // DOMId of the chart arrStatus.Add("DOMId=" + (meta["DOMId"] == null ? DOMId : meta["DOMId"].ToString())); // add width and height if (meta["width"] == null) { meta["width"] = 0; } if (meta["height"] == null) { meta["height"] = 0; } arrStatus.Add("height=" + (status ? meta["height"].ToString() : "0")); arrStatus.Add("width=" + (status ? meta["width"].ToString() : "0")); // add file URI arrStatus.Add("fileName=" + (status ? (Regex.Replace(ExporterPath, @"([^\/]$)", "${1}/") + filename) : "")); arrStatus.Add("statusMessage=" + (msg.Trim() != "" ? msg.Trim() : (status ? "Success" : "Failure"))); arrStatus.Add("statusCode=" + (status ? "1" : "0")); return(arrStatus); }