public void ProcessPrice(string hotelId, string hotelCode, string xml, bool ifNeedUpdateRatePlan, bool isInitilize) { //XRoot root = XRoot.Load(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "realprice.xml")); XRoot root = XRoot.Parse(xml); var RatePlans = root.Response.HotelResponse[0].OTA_HotelRatePlanRS.RatePlans; foreach (var item in RatePlans) { if (ifNeedUpdateRatePlan) { using (var context = new TravelDBContext()) { EfRepository <RatePlan> ratePlanContext = new EfRepository <RatePlan>(context); var rpCheck = (from r in ratePlanContext.Table where r.HoteID == hotelId select r).ToList(); if (rpCheck.Count > 0) { ratePlanContext.Delete(rpCheck); } } } // var hotelCode = item.HotelCode; ProcessRatePlan(hotelId, item.RatePlan, ifNeedUpdateRatePlan, isInitilize); } //Console.Read(); }
public void Save() { PackTiles(); XRoot.BeforeSave(); if (XRoot.NickInfos.Count == 0) { var males = new XNicksInfoVM(); var females = new XNicksInfoVM(); XRoot.NickInfos.Add(males); XRoot.NickInfos.Add(females); males.Sex = ESex.MALE; males.Nicks = Resources.malenicks; females.Sex = ESex.FEMALE; females.Nicks = Resources.femalenicks; } XRoot.EssenceProviders.Clear(); //var resourceEssenceGenerator = new XResourceEssenceGenerator(XRoot); //if (resourceEssenceGenerator.Generate().Count() < 2) //{ // throw new ApplicationException("Хде они?"); //} XClient.Save(XRoot); }
public static XRoot Parse(string text, LoadOptions options) { XRoot root = new XRoot(); root.doc = XDocument.Parse(text, options); XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); if ((typedRoot == null)) { throw new LinqToXsdException("Invalid root element in xml document."); } root.rootObject = typedRoot; return(root); }
public static XRoot Load(XmlReader xmlReader) { XRoot root = new XRoot(); root.doc = XDocument.Load(xmlReader); XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); if ((typedRoot == null)) { throw new LinqToXsdException("Invalid root element in xml document."); } root.rootObject = typedRoot; return(root); }
public static XRoot Parse(string text, LoadOptions options) { XRoot root = new XRoot(); root.doc = XDocument.Parse(text, options); XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); if ((typedRoot == null)) { throw new LinqToXsdException("Invalid root element in xml document."); } root.rootObject = typedRoot; return root; }
public static XRoot Load(XmlReader xmlReader) { XRoot root = new XRoot(); root.doc = XDocument.Load(xmlReader); XTypedElement typedRoot = XTypedServices.ToXTypedElement(root.doc.Root, LinqToXsdTypeManager.Instance); if ((typedRoot == null)) { throw new LinqToXsdException("Invalid root element in xml document."); } root.rootObject = typedRoot; return root; }
public void ProcessHotel(string hotelCode) { ////read data api OTAHotelServiceLogic hotelService = new OTAHotelServiceLogic(); //string hotelXml = hotelService.GetHotelByAreaId(1); //File.AppendAllText("D:\\ttuut.xml", hotelXml); //sample xml // string hotelXml = System.IO.File.ReadAllText("real.xml"); //IList<string> hotelCodeList = new List<string>(); //XmlDocument doc = new XmlDocument(); //doc.Load(@"D:\\ttuut.xml"); //XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); //nsmgr.AddNamespace("c", "http://www.opentravel.org/OTA/2003/05"); //var nodes = doc.SelectNodes("c:Property", nsmgr); //var rsNode = doc.SelectSingleNode("Response/HotelResponse/c:OTA_HotelSearchRS/c:Properties", nsmgr); //foreach (XmlNode item in rsNode.ChildNodes) //{ // hotelCodeList.Add(item.Attributes["HotelCode"].Value); //} //doc = null; // Parallel.ForEach(hotelCodeList, obj => { logger.Info("Start to Read Data From API ,HotelCode :" + hotelCode); var hotelXml = hotelService.GetHotelDetailsByID(hotelCode); logger.Info(" Read Data From API ,HotelCode :" + hotelCode + ", Finished"); //var hotelXml = hotelService.GetHotelDetailsByID("625"); var root = XRoot.Parse(hotelXml); if (hotelXml == null) { throw new Exception("timeout"); } var hotels = root.Response.HotelResponse[0].OTA_HotelDescriptiveInfoRS.HotelDescriptiveContents[0].HotelDescriptiveContent; foreach (var item in hotels) { TransactionOptions transactionOption = new TransactionOptions(); transactionOption.Timeout = new TimeSpan(0, 0, 600000); //no time out transactionOption.IsolationLevel = IsolationLevel.ReadUncommitted; using (TransactionScope tran = new TransactionScope(TransactionScopeOption.RequiresNew, transactionOption)) { LoggerHelper(item.HotelCode, "Start to Process"); //var hotelCode = item.HotelCode; var hotelId = InsertHotel(item); var hotelinfo = item.HotelInfo[0]; if (hotelinfo != null) { var SEG = hotelinfo.CategoryCodes; InsertSEG(hotelId, hotelCode, SEG); var Position = hotelinfo.Position; InsertPosition(hotelId, hotelCode, Position); var Address = hotelinfo.Address; InsertAddress(hotelId, hotelCode, Address); var Services = hotelinfo.Services; InsertServices(hotelId, hotelCode, Services); } var facility = item.FacilityInfo[0]; if (facility != null) { var GuestRooms = facility.GuestRooms; InsertGuestRoom(hotelId, hotelCode, GuestRooms); } var policies = item.Policies; InsertPolicies(hotelId, hotelCode, policies); var areas = item.AreaInfo; InsertAreaInfo(hotelId, hotelCode, areas); var affiliation = item.AffiliationInfo; InsertAffiliation(hotelId, hotelCode, affiliation); var multimediadescriptions = item.MultimediaDescriptions; InsertMultimediaDescription(hotelId, hotelCode, multimediadescriptions); // InsertHotelTapExtension(hotelCode, item); DB_PriceInitilizeLogic priceLogic = new DB_PriceInitilizeLogic(); priceLogic.Process(hotelId, hotelCode, isInitilize: true); tran.Complete(); LoggerHelper(hotelCode, item.HotelName + "Finished"); } } //}); LoggerHelper(null, "ALL Hotel Competed"); // Console.Read(); }