Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 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;
 }
Ejemplo n.º 7
0
        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();
        }