/// <summary> /// Sync Dynamic Sector API data to XML /// </summary> /// <returns></returns> public static string GetOriginStationSync() { string r = string.Empty; try { DynamicSectors dynSecCln = new DynamicSectors(); OriginStations[] orgStn = dynSecCln.GetOriginStations(Uid, Pwd); List <string> list_D = new List <string>(); List <string> list_I = new List <string>(); foreach (OriginStations orgnStn in orgStn) { string key, value; key = orgnStn.CityCode; value = orgnStn.Origin + "-" + orgnStn.CityCode + ""; if (orgnStn.StationType == "Domestic") { list_D.Add(value + "|India"); } else if (orgnStn.StationType == "International") { list_I.Add(value + "|International"); } } list_D.Sort(); list_I.Sort(); List <string> final = new List <string>(); final.AddRange(list_D); final.AddRange(list_I); var json = new JavaScriptSerializer().Serialize(final); //Write Json Sector data in text file string datapath = System.Web.HttpContext.Current.Server.MapPath("~/DynamicSectorData//DynamicSectorSource.txt"); string logPath = System.Web.HttpContext.Current.Server.MapPath("~/DynamicSectorData//DynamicSectorDateLog.txt"); System.IO.File.WriteAllText(datapath, json.ToString().Trim()); System.IO.File.WriteAllText(logPath, System.DateTime.Now.ToString("MM/dd/yyyy")); if (orgStn.Length > 0) { WriteArrivaStationTextData(json); } r = json.ToString().Length > 2 ? "Sync Successfully." : ""; } catch (Exception ex) { Logging.ErrorLog.AddEmailLogg(ex); ErrorLog objLogging = new ErrorLog(); objLogging.AddDBLogging(ex, "GetOriginStationSync", "CommonWebMethod/CommonWebMethods.cs"); } return(r); }
/// <summary> /// Write Arrival Station Data /// </summary> /// <param name="?"></param> public static void WriteArrivaStationTextData(string jsdata) { try { JavaScriptSerializer js = new JavaScriptSerializer(); string[] arrSource = js.Deserialize <string[]>(jsdata); //string[] arrSource = jsdata.Split(','); string sector = ""; string preroot = ""; string filename = System.Web.HttpContext.Current.Server.MapPath("~/DynamicSectorData//DynamicSectorArrival.xml"); FileInfo info = new FileInfo(filename); info.Delete(); for (int i = 0; i < arrSource.Length; i++) { sector = arrSource[i].ToString().Split('-')[1]; //Get Arrival Stations DynamicSectors dynSecCln = new DynamicSectors(); ArrivalStations[] arrStn = dynSecCln.GetArrivalStations(Uid, Pwd, sector.Split('|')[0]); List <string> list_D = new List <string>(); List <string> list_I = new List <string>(); foreach (ArrivalStations orgnStn in arrStn) { string key, value; key = orgnStn.JourneyArrivalStation; value = orgnStn.ArrivalStationName + "-" + orgnStn.JourneyArrivalStation + ""; //Check-International and Domestic Sector string[] InternationalSectorsCodes = ConfigurationManager.AppSettings["InternationalSectorsCode"].Split(','); int index = Array.IndexOf(InternationalSectorsCodes, key); if (index > -1) { list_I.Add(value + "|International"); } else { list_D.Add(value + "|India"); } } list_D.Sort(); list_I.Sort(); List <string> final = new List <string>(); final.AddRange(list_D); final.AddRange(list_I); var json = new JavaScriptSerializer().Serialize(final); string fileName = System.Web.HttpContext.Current.Server.MapPath("~/DynamicSectorData//DynamicSectorArrival.xml"); FileInfo fileInfo = new FileInfo(fileName); if (!fileInfo.Exists) { using (XmlWriter writer = XmlWriter.Create(fileName)) { writer.WriteStartDocument(); writer.WriteStartElement("Root"); writer.WriteStartElement(sector.Split('|')[0]); writer.WriteElementString("SectorData", json.ToString()); writer.WriteEndElement(); writer.WriteEndDocument(); preroot = sector.Split('|')[0]; writer.Flush(); } } else { XmlDocument doc = new XmlDocument(); doc.Load(fileName); //create node XmlNode node = doc.CreateNode(XmlNodeType.Element, sector.Split('|')[0], null); //create title node XmlNode nodeTitle = doc.CreateElement("SectorData"); nodeTitle.InnerText = json.ToString(); //add to parent node node.AppendChild(nodeTitle); //add to elements collection doc.DocumentElement.AppendChild(node); //save back doc.Save(fileName); } } } catch (Exception ex) { Logging.ErrorLog.AddEmailLogg(ex); ErrorLog objLogging = new ErrorLog(); objLogging.AddDBLogging(ex, "WriteArrivaStationTextData", "CommonWebMethod/CommonWebMethods.cs"); } finally { } }