public MarketPropertyContent GetMarketPropertyContents(string MarketCode)
        {
            var objMarketPropertyContent = new MarketPropertyContent();

            try
            {
                var response = ServiceBridge <string, List <Model.ServiceModel.MarketPropertyContentResponse.MarketPropertyContentResponse> > .Run(MarketCode, ServiceTypes.MarketPropertyContentSearch, HttpMethod.Get);

                objMarketPropertyContent.PropertyContents = new List <PropertyContent>();
                PropertyContent objPropertyContent;
                if (response != null)
                {
                    var objProperties = response.FirstOrDefault();

                    foreach (var item in response)
                    {
                        objPropertyContent              = new PropertyContent();
                        objPropertyContent.Market       = item.marketCode;
                        objPropertyContent.PropertyCode = item.property;
                        objPropertyContent.PropertyName = item.propertyName;
                        objPropertyContent.Summary      = item.summary;
                        objPropertyContent.ImageUrl     = item.thumbnail.url;

                        objMarketPropertyContent.PropertyContents.Add(objPropertyContent);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(objMarketPropertyContent);
        }
Пример #2
0
        public List <Market> GetMarkets()
        {
            var lstMarket = new List <Market>();

            try
            {
                var response = ServiceBridge <Model.ServiceModel.MarketSearchResponse.MarketSearchResponse, Model.ServiceModel.MarketSearchResponse.MarketSearchResponse> .Run(null, ServiceTypes.MarketSearch, HttpMethod.Get);

                Market market;
                if (response != null)
                {
                    foreach (var item in response.GetMarketsResult)
                    {
                        market             = new Market();
                        market.Code        = item.Code;
                        market.Description = item.Description;
                        market.BranchList  = new List <Branch>();
                        foreach (Model.ServiceModel.MarketSearchResponse.Property1 property in item.Properties)
                        {
                            market.BranchList.Add(new Branch {
                                Code = property.Code, Name = property.Name
                            });
                        }
                        lstMarket.Add(market);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(lstMarket);
        }
Пример #3
0
        public List <Branch> GetBranches()
        {
            var lstBranch = new List <Branch>();

            try
            {
                var response = ServiceBridge <Model.ServiceModel.BranchSearchResponse.BranchSearchResponse, Model.ServiceModel.BranchSearchResponse.BranchSearchResponse> .Run(null, ServiceTypes.BranchSearch, HttpMethod.Get);


                Branch branch;
                if (response != null)
                {
                    foreach (var item in response.GetBranchesResult)
                    {
                        branch      = new Branch();
                        branch.Code = item.Code;
                        branch.Name = item.Name;

                        lstBranch.Add(branch);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(lstBranch);
        }
        public void StartApplication()
        {
            //Ensure that the Umbraco.VisualStudio.dll is available in the solution's bin folder
            var mainAssemblyDestinationPath = Path.Combine(_projectBinFolder, AssemblyFileName);

            if (File.Exists(mainAssemblyDestinationPath) == false)
            {
                var mainAssemblySourcePath = GetAssemblyLocation(AssemblyFileName);
                File.Copy(mainAssemblySourcePath, mainAssemblyDestinationPath);
            }
            //Load the ServiceBridge in a sandboxed appdomain using the directory/context of the solution
            var           assemblyLocation = Path.Combine(_projectBinFolder, "Umbraco.Core.dll");
            ServiceBridge loader           = ServiceBridge.Sandbox(assemblyLocation, _configurationFile, CurrentDomain_AssemblyResolve);

            _bridge = loader;
            if (_bridge == null)
            {
                return;
            }

            _bridge.Configure(_connectionString, _providerName, _projectFolder);

            SetupMethodShortcuts();

            IsReady = true;
        }
        public void StartApplication()
        {
            //var domainSetup = new AppDomainSetup()
            //                      {
            //                          ApplicationBase = _projectBinFolder,
            //                          ConfigurationFile = _configurationFile,
            //                          ApplicationName =
            //                              AppDomain.CurrentDomain.SetupInformation.ApplicationName,
            //                          LoaderOptimization = LoaderOptimization.MultiDomainHost
            //                      };
            //var baseEvidence = AppDomain.CurrentDomain.Evidence;
            //var evidence = new Evidence(baseEvidence);
            //var childDomain = AppDomain.CreateDomain(AppDomainName, evidence, domainSetup);
            //childDomain.SetData("DataDirectory", _projectAppDataFolder);

            //var assemblyLocation = Path.Combine(_projectBinFolder, AssemblyFileName); //GetAssemblyLocation(AssemblyFileName);
            //var proxy = childDomain.CreateInstanceFromAndUnwrap(assemblyLocation, typeof(ServiceBridge).FullName);
            //_bridge = proxy as IServiceBridge;

            //Evidence adevidence = AppDomain.CurrentDomain.Evidence;
            //var newAppDomain = AppDomain.CreateDomain(AppDomainName, adevidence, _projectBinFolder, _projectBinFolder, true);
            //newAppDomain.SetData("DataDirectory", _projectAppDataFolder);
            //var assemblyLocation = Path.Combine(_projectBinFolder, AssemblyFileName);
            ////var unwrapped = newAppDomain.CreateInstanceFromAndUnwrap(assemblyLocation, typeof(ServiceBridge).FullName);
            //var unwrapped = newAppDomain.CreateInstanceFromAndUnwrap(assemblyLocation, typeof(ServiceBridge).FullName, false, BindingFlags.Default, null, null, CultureInfo.InvariantCulture, null);
            //_bridge = unwrapped as ServiceBridge;

            var           assemblyLocation = /*GetAssemblyLocation(AssemblyFileName);*/ Path.Combine(_projectBinFolder, "Umbraco.Core.dll");
            ServiceBridge loader           = ServiceBridge.Sandbox(assemblyLocation, _configurationFile, CurrentDomain_AssemblyResolve);

            _bridge = loader;
            if (_bridge == null)
            {
                return;
            }

            _connectionString = @"Data Source=C:\Temp\Playground\Umb610TestSiteVsPlugin\Umb610TestSiteVsPlugin\App_Data\Umbraco.sdf";
            _providerName     = "System.Data.SqlServerCe.4.0";
            _bridge.Configure(_connectionString, _providerName, _projectFolder);

            _methods = new Dictionary <string, Func <Dictionary <int, Dictionary <string, string> > > >
            {
                { "content", _bridge.GetRootContent },
                { "media", _bridge.GetRootMedia },
                { "contentTypes", _bridge.GetRootContentTypes },
                { "mediaTypes", _bridge.GetRootMediaTypes }
            };

            _methodsById = new Dictionary <string, Func <int, Dictionary <int, Dictionary <string, string> > > >
            {
                { "content", _bridge.GetChildContent },
                { "media", _bridge.GetChildMedia },
                { "contentTypes", _bridge.GetChildContentTypes },
                { "mediaTypes", _bridge.GetChildMediaTypes }
            };

            IsReady = true;
        }
Пример #6
0
        public HotelSearchResponse GetHotels(HotelSearchRequest objRequest)
        {
            MarketPropertyContent      objMarketPropertyContent = null;
            List <PropertyRoomContent> lstPropertyRoomContent   = new List <PropertyRoomContent>();
            PropertyRoomContent        objPropertyRoomContent;
            var objHotelSearchResponse = new HotelSearchResponse();

            try
            {
                var SiteBaseUrl           = ConfigurationManager.AppSettings["SiteBaseUrl"].ToString();
                var objHotelSearchRequest = new Model.ServiceModel.HotelSearchRequest.HotelSearchRequest();
                objHotelSearchRequest.request        = new Model.ServiceModel.HotelSearchRequest.Request();
                objHotelSearchRequest.request.__type = "SearchRequest";
                objHotelSearchRequest.request.AppKey = "IAPTestWebsite";

                objHotelSearchRequest.request.Criteria        = new Model.ServiceModel.HotelSearchRequest.Criteria();
                objHotelSearchRequest.request.Criteria.__type = "HotelCriteria";

                if (!string.IsNullOrEmpty(objRequest.Market))
                {
                    var lstMarkets = _iCategryService.GetMarkets();
                    var objMarket  = lstMarkets.Where(item => item.Description.ToLower().Contains(objRequest.Market.ToLower())).FirstOrDefault();

                    if (objMarket != null)
                    {
                        string[] locations = new string[objMarket.BranchList.Count];
                        for (int i = 0; i < objMarket.BranchList.Count; i++)
                        {
                            locations[i] = objMarket.BranchList[i].Code;
                        }
                        objHotelSearchRequest.request.Criteria.Locations = locations;

                        //Need to change this based on the design
                        //objMarketPropertyContent=_iMarketingService.GetMarketPropertyContents(objMarket.Code);

                        //foreach(var item in objMarketPropertyContent.PropertyContents)
                        //{
                        //    objPropertyRoomContent = _iMarketingService.GetPropertyRoomContents(item.PropertyCode);
                        //    lstPropertyRoomContent.Add(objPropertyRoomContent);
                        //}
                    }
                    else
                    {
                        return(objHotelSearchResponse);
                    }
                }
                else if (!string.IsNullOrEmpty(objRequest.Property))
                {
                    string[] locations   = new string[1];
                    var      lstBranches = _iCategryService.GetBranches();
                    if (objRequest.Property.Length == 3)
                    {
                        var objBranch = lstBranches.Where(item => item.Code.ToLower() == objRequest.Property.ToLower()).FirstOrDefault();

                        if (objBranch != null)
                        {
                            locations[0] = objBranch.Code;
                            //Need to change this based on the design
                            //objPropertyRoomContent = _iMarketingService.GetPropertyRoomContents(objBranch.Code);
                            //lstPropertyRoomContent.Add(objPropertyRoomContent);
                        }
                        else
                        {
                            objBranch = lstBranches.Where(item => item.Name.ToLower() == objRequest.Property.ToLower()).FirstOrDefault();
                            if (objBranch != null)
                            {
                                locations[0] = objBranch.Code;
                            }
                            else
                            {
                                return(objHotelSearchResponse);
                            }
                        }
                    }
                    else
                    {
                        var objBranch = lstBranches.Where(item => item.Name.ToLower().Contains(objRequest.Property.ToLower())).FirstOrDefault();

                        if (objBranch != null)
                        {
                            locations[0] = objBranch.Code;
                            //Need to change this based on the design
                            //objPropertyRoomContent = _iMarketingService.GetPropertyRoomContents(objBranch.Code);
                            //lstPropertyRoomContent.Add(objPropertyRoomContent);
                        }
                        else
                        {
                            return(objHotelSearchResponse);
                        }
                    }
                    objHotelSearchRequest.request.Criteria.Locations = locations;
                }
                objHotelSearchRequest.request.Criteria.EndDate                      = objRequest.CheckoutDate.ToString("yyyy-MM-dd");
                objHotelSearchRequest.request.Criteria.HotelRoomDetails             = new Model.ServiceModel.HotelSearchRequest.Hotelroomdetail[1];
                objHotelSearchRequest.request.Criteria.HotelRoomDetails[0]          = new Model.ServiceModel.HotelSearchRequest.Hotelroomdetail();
                objHotelSearchRequest.request.Criteria.HotelRoomDetails[0].Adults   = 2;
                objHotelSearchRequest.request.Criteria.HotelRoomDetails[0].Children = 0;
                objHotelSearchRequest.request.Criteria.HotelRoomDetails[0].__type   = "HotelRoomDetail";
                objHotelSearchRequest.request.Criteria.LengthOfStays                = new int[1];
                objHotelSearchRequest.request.Criteria.LengthOfStays[0]             = (objRequest.CheckoutDate - objRequest.CheckinDate).Days;
                objHotelSearchRequest.request.Criteria.StartDate                    = objRequest.CheckinDate.ToString("yyyy-MM-dd");
                objHotelSearchRequest.request.GroupCode                     = "";
                objHotelSearchRequest.request.Requestor                     = "Galaxy Test Harness";
                objHotelSearchRequest.request.SecurityToken                 = "";
                objHotelSearchRequest.request.SelectionAttributes           = new Model.ServiceModel.HotelSearchRequest.Selectionattribute[1];
                objHotelSearchRequest.request.SelectionAttributes[0]        = new Model.ServiceModel.HotelSearchRequest.Selectionattribute();
                objHotelSearchRequest.request.SelectionAttributes[0].__type = "Attr";
                objHotelSearchRequest.request.SelectionAttributes[0].Id     = 0;
                objHotelSearchRequest.request.SelectionAttributes[0].Name   = "pruning";
                objHotelSearchRequest.request.SelectionAttributes[0].Value  = "LowestPromoAndAllOtherQuotes";
                objHotelSearchRequest.request.TransactionStartTime          = DateTime.UtcNow;

                var response = ServiceBridge <Model.ServiceModel.HotelSearchRequest.HotelSearchRequest, Model.ServiceModel.HotelSearchResponse.HotelSearchResponse> .Run(objHotelSearchRequest, ServiceTypes.HotelSearch, HttpMethod.Post);

                objHotelSearchResponse.properties = new List <Property>();
                Property objProperty;
                Room     objRoom;
                if (response != null)
                {
                    foreach (var productType in response.ProductTypes)
                    {
                        foreach (var product in productType.Products)
                        {
                            objProperty      = new Property();
                            objProperty.Name = product.Name;

                            if (objMarketPropertyContent != null)
                            {
                                var ojPropertyContent = objMarketPropertyContent.PropertyContents.Where(p => p.PropertyName == product.Name).FirstOrDefault();
                                if (ojPropertyContent != null)
                                {
                                    objProperty.Summary  = ojPropertyContent.Summary;
                                    objProperty.ImageUrl = ojPropertyContent.ImageUrl;
                                }
                            }
                            //Need to change this based on the design
                            objPropertyRoomContent = _iMarketingService.GetPropertyRoomContents(product.Location.Code);
                            lstPropertyRoomContent.Add(objPropertyRoomContent);

                            var lstRoomContents = lstPropertyRoomContent.Where(p => p.PropertyName == product.Name).FirstOrDefault();
                            objProperty.Rooms = new List <Room>();
                            foreach (var sku in product.SKUs)
                            {
                                objRoom      = new Room();
                                objRoom.Name = sku.Name;
                                if (sku.Quotes[0] != null)
                                {
                                    objRoom.AvgRate = sku.Quotes[0].Avg;
                                }
                                var objRoomContent = lstRoomContents.RoomContents.Where(r => r.Name == sku.Name).FirstOrDefault();

                                if (objRoomContent != null)
                                {
                                    objRoom.Summary  = objRoomContent.Summary;
                                    objRoom.ImageUrl = SiteBaseUrl + objRoomContent.ImageUrl;
                                }

                                objProperty.Rooms.Add(objRoom);
                            }

                            objHotelSearchResponse.properties.Add(objProperty);
                            break;
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(objHotelSearchResponse);
        }