示例#1
0
        /// <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);
        }
示例#2
0
        /// <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
            {
            }
        }