Esempio n. 1
0
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (ValidateLogOn(model.UserName, model.Password))
                {
                    // Make sure we have the username with the right capitalization
                    // since we do case sensitive checks for OpenID Claimed Identifiers later.
                    string userName = MembershipService.GetCanonicalUsername(model.UserName);

                    FormsAuth.SignIn(userName, model.RememberMe);

                    //Jamie
                    AdProvider adProvider = new AdProvider();
                    String     catagory   = adProvider.GetCatagory(userName);
                    Session["adUri"] = "/Content/images/" + catagory + ".png";

                    // Make sure we only follow relative returnUrl parameters to protect against having an open redirector
                    if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") &&
                        !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                    {
                        return(Redirect(returnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "The user name or password provided is incorrect.");
                }
            }
            return(View(model));
        }
        /// <summary>
        /// Check the doddgy if statement
        /// </summary>
        /// <param name="localDocket"></param>
        /// <param name="currentStore"></param>
        /// <returns></returns>
        public static void insertNonRewardsDocket(AdProvider.LocalDocket localDocket, Store currentStore)
        {
            try
               {
                    Docket existingDocket = Docket.GetDocketByLocalIDAndStore(localDocket.local_id, currentStore.store_id);
                    if (existingDocket != null && existingDocket.DocketItemsBydocket_.Count() == 0)
                    {
                         foreach (AdProvider.LocalDocketItem item in localDocket.itemList)
                         {
                              DocketItem newItem = existingDocket.CreateDocketItem();
                              newItem.product_code = item.product_code;
                              newItem.product_barcode = item.product_barcode;
                              newItem.department = item.department;
                              newItem.category = item.category;
                              newItem.description = item.description;

                              newItem.cost_ex = item.cost_ex;
                              newItem.sale_ex = item.sale_ex;
                              newItem.sale_inc = item.sale_inc;
                              newItem.quantity = item.quantity;
                              newItem.Save();
                         }
                    }
                    else
                    {

                         Docket newDocket = Docket.CreateDocket();
                         newDocket.local_id = localDocket.local_id;
                         newDocket.code = Helpers.GenerateFiveDigitRandom();
                         newDocket.store_id = currentStore.store_id;
                         newDocket.creation_datetime = localDocket.creation_datetime;
                         newDocket.raw_content = Helpers.DecodeFromBase64(localDocket.receipt_content);
                         newDocket.total = localDocket.total;
                         newDocket.reward_points = 0;
                         newDocket.Save();
                         newDocket.Refresh();

                         foreach (AdProvider.LocalDocketItem item in localDocket.itemList)
                         {
                              DocketItem newItem = newDocket.CreateDocketItem();
                              newItem.product_code = item.product_code;
                              newItem.product_barcode = item.product_barcode;
                              newItem.department = item.department;
                              newItem.category = item.category;
                              newItem.description = item.description;

                              newItem.cost_ex = item.cost_ex;
                              newItem.sale_ex = item.sale_ex;
                              newItem.sale_inc = item.sale_inc;
                              newItem.quantity = item.quantity;
                              newItem.Save();
                         }
                    }
               }
               catch (Exception ex)
               {
                    throw ex;
               }
        }
Esempio n. 3
0
        public async Task <string> Invalidate(AdProvider adProvider)
        {
            if (!IsAdRotatorEnabled)
            {
                OnLog(AdRotatorControlID, "Control is not enabled");
                return("Control Disabled");
            }
            if (adProvider == null)
            {
                adRotatorControl.GetAd(null);
                return("No Provider set");
            }
            if (adProvider.AdProviderType == AdType.None)
            {
                return(adRotatorControl.AdsFailed());
            }

            if (SlidingAdDirection != AdSlideDirection.None && !_slidingAdTimerStarted)
            {
                _slidingAdTimerStarted = true;
                ResetSlidingAdTimer(SlidingAdDisplaySeconds);
            }

            //(SJ) should we make this call the GetAd function? or keep it seperate
            //Isn't the aim of the GetAd function to return an ad to display or would this break other implementations?
            object providerElement = null;

            try
            {
                if (adProvider.AdProviderType == AdType.DefaultHouseAd)
                {
                    var defaultHouseAd = new DefaultHouseAd(AdRotatorControlID, fileHelper);
                    //houseAd.AdLoaded += (s, e) => adRotatorControl.OnAdAvailable(AdType.DefaultHouseAd);
                    defaultHouseAd.AdLoadingFailed += (s, e) => adRotatorControl.AdFailed(AdType.DefaultHouseAd);
                    defaultHouseAd.AdClicked       += (s, e) => OnDefaultHouseAdClicked();
                    var defaultHouseAdBody = string.IsNullOrEmpty(adProvider.SecondaryId) ? DefaultHouseAdBody : adProvider.SecondaryId;
                    var defaultHouseAdURI  = string.IsNullOrEmpty(adProvider.AppId) ? DefaultHouseAdURI : adProvider.AppId;
                    providerElement = await defaultHouseAd.Initialise(defaultHouseAdBody, defaultHouseAdURI);
                }
                else
                {
                    providerElement = adRotatorControl.GetProviderFrameworkElement(CurrentPlatform, adProvider);
                }
            }
            catch
            {
                adRotatorControl.AdFailed(adProvider.AdProviderType);
                return("Ad Failed to initialise");
            }
            if (providerElement == null)
            {
                adRotatorControl.AdFailed(adProvider.AdProviderType);
                return("No Ad Returned");
            }

            AdRotatorRoot.Child = null;
            AdRotatorRoot.Child = (FrameworkElement)providerElement;
            return(adProvider.AdProviderType.ToString());
        }
Esempio n. 4
0
        async void adRotatorControl_AdAvailable(AdProvider adProvider)
        {
#if WINDOWS_PHONE
            await Dispatcher.InvokeAsync(() => Invalidate(adProvider));
#else
            await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => Invalidate(adProvider));
#endif
        }
Esempio n. 5
0
 protected void OnAdAvailable(AdProvider adProvider)
 {
     if (AdAvailable != null)
     {
         OnLog(string.Format("Trying provider {0}", adProvider.AdProviderType));
         AdAvailable(adProvider);
     }
 }
Esempio n. 6
0
 public AdProviderDelegate(AdProvider provider, string zone, int floor)
 {
     _provider  = provider;
     NetworkId  = _provider.NetworkId;
     Zone       = Observable.Return(zone).ToReadOnlyReactiveProperty();
     FloorValue = (from r in AdsReady
                   select r ? floor : 0).ToReadOnlyReactiveProperty();
     MaxFloor = floor;
 }
Esempio n. 7
0
 internal void OnAdAvailable(AdProvider adProvider)
 {
     if (AdAvailable != null)
     {
         OnLog(string.Format("Trying provider {0}", adProvider.AdProviderType));
         TryTrackAnaltics(adProvider.AdProviderType);
         AdAvailable(adProvider);
     }
 }
Esempio n. 8
0
        public void GetCatagoryUsingValidValue_ReturnsExpected()
        {
            String     fileUri    = "Data/nameLookup.csv";
            var        userName   = "******";
            AdProvider adProvider = new AdProvider(fileUri);
            var        actual     = adProvider.GetCatagory(userName);
            var        expected   = "MiddleAged Male";

            Assert.AreEqual(expected, actual);
        }
Esempio n. 9
0
 protected void preload(AdProvider provider)
 {
     if (provider.AdsReady.Value)
     {
         this.debug("Got inventory from " + provider.ProviderInfo() + ", not going to preload. ");
         return;
     }
     this.debug("Preloading for " + provider.ProviderInfo());
     provider.TryToCache();
 }
Esempio n. 10
0
 internal void OnAdAvailable(AdProvider adProvider)
 {
     if (AdAvailable != null)
     {
         OnLog(string.Format("Trying provider {0}", adProvider.AdProviderType));
         if (TrackAnalytics != null)
         {
             TrackAnalytics(adProvider.AdProviderType, "Displaying ad");
         }
         AdAvailable(adProvider);
     }
 }
Esempio n. 11
0
 protected void bindSinglePreloader(AdProvider provider)
 {
     (from r in provider.AdsReady
      where !r
      select r into _
      select Observable.Return(0L).Concat(Observable.Interval(TimeSpan.FromSeconds(preloadNotAvailableWaitingPeriod))).TakeUntil(from r in provider.AdsReady
                                                                                                                                 where r
                                                                                                                                 select r)).Subscribe(delegate
     {
         preload(provider);
     }).AddTo(_disposable);
 }
Esempio n. 12
0
 private void Show2Ads()
 {
     if (ap1 == AdProvider.ADMOB && ap2 == AdProvider.CHARTBOOST)
     {
         if (apFor2 == AdProvider.ADMOB)
         {
             admobManager.ShowInterstitial();
             admobManager.RequestInterstitial();
             apFor2 = AdProvider.CHARTBOOST;
         }
         else if (apFor2 == AdProvider.CHARTBOOST)
         {
             chartboostManager.ShowInterstitial();
             chartboostManager.RequestInterstitial();
             apFor2 = AdProvider.ADMOB;
         }
     }
     else if (ap1 == AdProvider.CUSTOM && ap2 == AdProvider.CHARTBOOST)
     {
         if (apFor2 == AdProvider.CUSTOM)
         {
             customAdsManager.ShowInterstitial();
             apFor2 = AdProvider.CHARTBOOST;
         }
         else if (apFor2 == AdProvider.CHARTBOOST)
         {
             chartboostManager.ShowInterstitial();
             chartboostManager.RequestInterstitial();
             apFor2 = AdProvider.CUSTOM;
         }
     }
     else if (ap1 == AdProvider.CUSTOM && ap2 == AdProvider.ADMOB)
     {
         if (apFor2 == AdProvider.CUSTOM)
         {
             customAdsManager.ShowInterstitial();
             apFor2 = AdProvider.ADMOB;
         }
         else if (apFor2 == AdProvider.ADMOB)
         {
             admobManager.ShowInterstitial();
             admobManager.RequestInterstitial();
             apFor2 = AdProvider.CUSTOM;
         }
     }
 }
Esempio n. 13
0
        async void adRotatorControl_AdAvailable(AdProvider adProvider)
        {
#if WINDOWS_PHONE
            await Dispatcher.InvokeAsync(() => Invalidate(adProvider));
#else
            if (Window.Current != null)
            {
                var dispatcher = Window.Current.Dispatcher;

                if (dispatcher.HasThreadAccess)
                {
                    await Invalidate(adProvider);
                }
                else
                {
                    await dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => Invalidate(adProvider));
                }
            }
#endif
        }
Esempio n. 14
0
        public string Invalidate(AdProvider adProvider)
        {
            if (adProvider == null)
            {
                adRotatorControl.GetAd(null);
                return("No Provider set");
            }
            if (adProvider.AdProviderType == AdType.None)
            {
                return(adRotatorControl.AdsFailed());
            }

            if (SlidingAdDirection != AdSlideDirection.None && !_slidingAdTimerStarted)
            {
                _slidingAdTimerStarted = true;
                ResetSlidingAdTimer(SlidingAdDisplaySeconds);
            }

            //(SJ) should we make this call the GetAd function? or keep it seperate
            //Isn't the aim of the GetAd function to return an ad to display or would this break other implementations?
            object providerElement = null;

            try
            {
                providerElement = adRotatorControl.GetProviderFrameworkElement(CurrentPlatform, adProvider);
            }
            catch
            {
                adRotatorControl.AdFailed(adProvider.AdProviderType);
                return("Ad Failed to initialise");
            }
            if (providerElement == null)
            {
                adRotatorControl.AdFailed(adProvider.AdProviderType);
                return("No Ad Returned");
            }

            AdRotatorRoot.Children.Clear();
            AdRotatorRoot.Children.Add((FrameworkElement)providerElement);
            return(adProvider.AdProviderType.ToString());
        }
        public string Invalidate(AdProvider adProvider)
        {
            if (adProvider == null)
            {
                adRotatorControl.GetAd(null);
                return("No Provider set");
            }
            if (adProvider.AdProviderType == AdType.None)
            {
                return(adRotatorControl.AdsFailed());
            }

            //(SJ) should we make this call the GetAd function? or keep it seperate
            //Isn't the aim of the GetAd function to return an ad to display or would this break other implementations?
            object providerElement = null;

            try
            {
                providerElement = adRotatorControl.GetProviderFrameworkElement(CurrentPlatform, adProvider);
            }
            catch
            {
                adRotatorControl.AdFailed(adProvider.AdProviderType);
                return("Ad Failed to initialise");
            }
            if (providerElement == null)
            {
                adRotatorControl.AdFailed(adProvider.AdProviderType);
                return("No Ad Returned");
            }
            Dispatcher.BeginInvoke(() =>
            {
                AdRotatorRoot.Children.Clear();
                AdRotatorRoot.Children.Add((FrameworkElement)providerElement);
                OnLog(string.Format("Displaying ads for {0}", adProvider.AdProviderType));
            });
            return(adProvider.AdProviderType.ToString());
        }
Esempio n. 16
0
        private IEnumerator HideBannerCo()
        {
            while (!customAdsManager.IsSchemeFetched && !customAdsManager.SchemeError)
            {
                yield return(null);
            }

            if (bannersList != null)
            {
                if (bannersList.Count == 1)
                {
                    if (bannersList [0] == AdProvider.CUSTOM)
                    {
                        customAdsManager.HideBanner();
                    }
                    else if (bannersList [0] == AdProvider.ADMOB)
                    {
                        Debug.Log("Hiding admob banner.");
                        admobManager.HideBanner();
                    }
                }
                else if (bannersList.Count == 2)
                {
                    if (currentBanner == AdProvider.CUSTOM)
                    {
                        customAdsManager.HideBanner();
                        currentBanner = AdProvider.ADMOB;
                    }
                    else if (currentBanner == AdProvider.ADMOB)
                    {
                        Debug.Log("Hiding admob banner.");
                        admobManager.HideBanner();
                        currentBanner = AdProvider.CUSTOM;
                    }
                }
            }
        }
        public UploaderResponse UploadDocket(int storeID, string password, AdProvider.LocalDocket localDocket)
        {
            var newResponse = new UploaderResponse();

               try
               {
                    Store current_store = Store.GetStore(storeID);

                    if (current_store == null)
                    {
                         newResponse.is_error = true;
                         newResponse.errorMessage = "NoStore";
                    }
                    else
                    {
                         if (password != current_store.password)
                         {
                              newResponse.is_error = true;
                              newResponse.errorMessage = "IncorrectPassword";
                         }
                         else
                         {
                              try
                              {
                                   insertNonRewardsDocket(localDocket, current_store);
                              }
                              catch (Exception ex)
                              {
                                   LogHelper.WriteError(ex.ToString());
                              }

                         }
                    }
               }
               catch (Exception ex)
               {
                    newResponse.is_error = true;
                    newResponse.errorMessage = "GenericError";
                    LogHelper.WriteError(ex.ToString());
               }
               return newResponse;
        }
Esempio n. 18
0
        private void SyncCustomers()
        {
            Cursor.Current = Cursors.WaitCursor;

            try
            {
                //Check if all fields are filled.
                if ((StoreIDtextBox.Text == "") || (PasswordTextBox.Text == ""))
                {
                    RewardsErrorLabel.Text = "Store ID or Password are empty";
                    return;
                }

                CustomerUpdate newUpdate = new CustomerUpdate();
                newUpdate.store_id = Convert.ToInt32(StoreIDtextBox.Text);
                newUpdate.password = PasswordTextBox.Text;

                switch (Properties.Settings.Default.POSSoftware)
                {
                    case "MYOB":
                        newUpdate.customerList = MYOBRewards.GetRecentlyModifiedCustomers().ToArray();
                        break;
                    case "Microsoft":
                        if(TestSQLConnection(MicrosoftLocationTextBox.Text, MicrosoftDBTextBox.Text, MicrosoftUserTextBox.Text, MicrosoftPasswordTextBox.Text))
                        {
                            newUpdate.customerList = MicrosoftRewards.GetRecentlyModifiedCustomers().ToArray();
                        }
                        break;
                }

                if (newUpdate.customerList.Count() == 0)
                {
                         AddLog("No customers need to be updated.", false);
                }
                else
                {
                    AdProvider provider = new AdProvider();
                         provider.Url = WebServiceTextBox.Text;
                         provider.Timeout = 100000000;
                    CustomerUpdateResponse newResponse = provider.UpdateCustomers(newUpdate);

                    if (newResponse.is_error)
                    {
                        AddLog(newResponse.status,true);
                        RewardsErrorLabel.Text = newResponse.status;
                    }
                    else
                    {
                        RewardsErrorLabel.Text = newResponse.status;
                        foreach (string item in newResponse.responses)
                        {
                            string entry = item;
                            lbLog.AppendText(entry + "\r\n");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                AddLog(ex.ToString(),true);
                RewardsErrorLabel.Text = "An error has occurred.Check the log to the left.";
            }

               Cursor.Current = Cursors.Default;
        }
Esempio n. 19
0
        private void ProcessUnsentDockets()
        {
            try
            {
                List<LocalDocket> unsentDockets = new List<LocalDocket>();

                switch (Properties.Settings.Default.POSSoftware)
                {
                    case "MYOB":
                        unsentDockets = MYOBRewards.GetUnsentDockets();
                        break;
                    case "Microsoft":
                        if(TestSQLConnection(MicrosoftLocationTextBox.Text, MicrosoftDBTextBox.Text, MicrosoftUserTextBox.Text, MicrosoftPasswordTextBox.Text))
                        {
                            unsentDockets = MicrosoftRewards.GetUnsentDockets();
                        }
                        break;
                }

                AdProvider provider = new AdProvider();
                    provider.Url = WebServiceTextBox.Text;
                foreach(LocalDocket item in unsentDockets)
                {
                    try
                    {
                        AdRequest newRequest = HydrateAdRequest();
                        newRequest.currentDocket = item;

                        AdResponse newResponse = provider.InsertUnsentDocket(newRequest);

                        if(newResponse.is_error == false)
                        {
                            AddLog("Offline Docket #:" + item.local_id.ToString() + "sent to Docketplace successfully",false);
                            RewardsHelper.DeleteSentDocket(item.local_id);
                        }
                        else
                        {
                            AddLog("Error sending docket:"+item.local_id,true);
                        }

                    }
                    catch(System.Net.WebException ex)
                    {
                        AddLog("No internet",true);
                    }
                    catch(Exception ex)
                    {
                        AddLog(ex.ToString(),true);
                    }
                    finally
                    {
                        AddLog("Customer sync complete",false);
                    }
                }
            }
            catch(Exception ex)
            {
                AddLog(ex.ToString(),true);
            }
        }
Esempio n. 20
0
        /// <summary>
        /// Method called to request an the ad.
        /// </summary>
        private void printCoupon(bool is_test, string receiptContent, AdRequest new_request)
        {
            //Get the selected OPOS printer from list.
            var selectedPrinter = from d in printerList
                                  where d.ServiceObjectName == OPOSListcomboBox.SelectedItem.ToString()
                                  select d;
            PosPrinter actualPrinter = (PosPrinter)posExplorer.CreateInstance(selectedPrinter.ElementAt(0));
            string test = actualPrinter.ToString();
            AddLog("Printer found",false);

            try
            {
                if (actualPrinter != null)
                {
                actualPrinter.Open();

                AddLog("Printer opened",false);

                actualPrinter.Claim(5000);
                actualPrinter.DeviceEnabled = true;
                actualPrinter.RecLetterQuality = true;

                    AdProvider provider = new AdProvider();
                    AdResponse new_response = new AdResponse();

                    provider.Url = WebServiceTextBox.Text;

                    //Call web service
                    if (is_test)
                    {
                         new_response = provider.TestConnection(new_request);
                    }
                    else
                    {
                    new_response = provider.RequestAd(new_request);
                    }

                    if (new_response.is_error)
                    {
                    AddLog(new_response.status,false);
                         RewardsHelper.SaveLastDocket(new_request.currentDocket);
                         PrintLocalDefaultImage(actualPrinter);
                    }
                    else
                    {

                    if (new_response.adList.Count() == 0)
                    {
                        PrintLocalDefaultImage(actualPrinter);
                    }
                    else
                    {
                        int placedad_id = 0;

                        if (!is_test)
                        {
                            placedad_id = new_response.placedad_id;
                        }

                        actualPrinter.PrintNormal(PrinterStation.Receipt, new_response.header);

                        foreach (AdImage item in new_response.adList)
                        {
                            actualPrinter.PrintNormal(PrinterStation.Receipt, "\r\n");
                            Bitmap ADimg = Helpers.ConvertPNGDataToBitmap(item.imageData);
                                   string directory = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
                                   string fileName = directory + @"/temp.bmp";
                            ADimg.Save( fileName, ImageFormat.Bmp);

                            actualPrinter.PrintBitmap(PrinterStation.Receipt, fileName, PosPrinter.PrinterBitmapAsIs, PosPrinter.PrinterBitmapCenter);
                            actualPrinter.PrintNormal(PrinterStation.Receipt, "\r\n");
                            actualPrinter.PrintNormal(PrinterStation.Receipt, item.footer);
                        }

                        actualPrinter.PrintNormal(PrinterStation.Receipt, "\r\n\r\nPowered by www.docketplace.com.au");
                        actualPrinter.PrintNormal(PrinterStation.Receipt, "\r\n\r\n\r\n\r\n\r\n\r\n");
                        actualPrinter.CutPaper(10);
                              actualPrinter.DeviceEnabled = false;
                        AddLog("Internet Image printed\t" + placedad_id + "\r\n",false);
                        }
                    }
                }
            }
            catch (System.Net.WebException ex)
            {
                //If its a test print  failure display a message otherwise print out the default coupon.
                if (is_test)
                {
                    TestStoreConnectionErrorLabel.Text = "No internet connection";
                }
                else
                {
                throw ex;
                }
            }
            catch(Exception ex)
            {
                TestStoreConnectionErrorLabel.Text = "Error with printer , check to see if switched on";
                AddLog(ex.ToString(),true);
            }
            finally
            {
                if (actualPrinter.Claimed)
                {
                    actualPrinter.Release();
                }
                actualPrinter.Close();
            }
        }
Esempio n. 21
0
 private void addProviderDelegate(List <FlooredAdProvider> ps, AdProvider provider, string zone, int floor)
 {
     provider.Init();
     ps.Add(new AdProviderDelegate(provider, zone, floor));
 }
Esempio n. 22
0
        internal object GetProviderFrameworkElement(AdRotator.AdProviderConfig.SupportedPlatforms platform, AdProvider adProvider)
        {
            var    provider     = adProvider.AdProviderConfigValues[platform];
            Type   providerType = null;
            object instance;

            try
            {
                if (PlatformAdProviderComponents.ContainsKey(adProvider.AdProviderType))
                {
                    providerType = PlatformAdProviderComponents[adProvider.AdProviderType];
                }
                else
                {
                    providerType = reflectionHelper.TryGetType(provider.AssemblyName, provider.ElementName);
                }
            }
            catch (PlatformNotSupportedException)
            {
                AdFailed(adProvider.AdProviderType);
            }
            if (providerType == null)
            {
                return(null);
            }
            try
            {
                instance = Activator.CreateInstance(providerType);

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AppId))
                {
                    reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AppId], adProvider.AppId.ToString());
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.SecondaryId))
                {
                    reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.SecondaryId], adProvider.SecondaryId.ToString());
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdType))
                {
                    reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdType], "IaAdType_Banner");
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.IsTest))
                {
                    reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.IsTest], adProvider.IsTest.ToString());
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdWidth))
                {
                    reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdWidth], AdWidth.ToString());
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdHeight))
                {
                    reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdHeight], AdHeight.ToString());
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.Size))
                {
                    reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.Size], AdWidth.ToString() + "x" + AdHeight.ToString());
                }

#if DEBUG
                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.ShowErrors))
                {
                    reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.ShowErrors], "true");
                }
#endif
                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdSuccessEvent))
                {
                    WireUpDelegateEvent(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdSuccessEvent], string.Format("Ads served for: {0}", _settings.CurrentAdType.ToString()));
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdFailedEvent))
                {
                    WireUpDelegateEvent(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdFailedEvent], string.Format("Ad failed request for: {0}", _settings.CurrentAdType.ToString()));
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdClickedEvent))
                {
                    WireUpDelegateEvent(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdClickedEvent], string.Format("Ad clicked for: {0}", _settings.CurrentAdType.ToString()));
                }

                if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.StartMethod))
                {
                    reflectionHelper.TryInvokeMethod(providerType, instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.StartMethod]);
                }
            }
            catch (PlatformNotSupportedException)
            {
                OnLog(string.Format("Configured provider {0} not found in this installation", adProvider.AdProviderType.ToString()));
                AdFailed(adProvider.AdProviderType);
                return(null);
            }
            catch (NotImplementedException)
            {
                OnLog(string.Format("Configured provider {0} is not fully implemented yet", adProvider.AdProviderType.ToString()));
                AdFailed(adProvider.AdProviderType);
                return(null);
            }
            catch (Exception e)
            {
                OnLog(string.Format("General exception [{0}] occured, continuing", e.InnerException.ToString()));
                AdFailed(adProvider.AdProviderType);
                return(null);
            }

            OnLog(string.Format("Ad created for provider {0}", adProvider.AdProviderType.ToString()));

            return(instance);
        }
Esempio n. 23
0
 /// <summary>
 /// Initializes a new instance of AppSettings.
 /// </summary>
 public AppSettings()
 {
     this.SettingsUrl = "";
     //this.DefaultSettingsFileUri = "defaultAdSettings.xml";
     this.DefaultAdType = AdProvider.None;
     this.DefaultHouseAdBody = "";
     this.DefaultHouseAdUri = "";
     this.IsTest = false;
 }
Esempio n. 24
0
 /// <summary>
 /// Initializes a new instance of AppSettings.
 /// </summary>
 /// <param name="src">Settings to clone.</param>
 public AppSettings(AppSettings src)
 {
     this.SettingsUrl = src.SettingsUrl;
     //this.DefaultSettingsFileUri = src.DefaultSettingsFileUri;
     this.DefaultAdType = src.DefaultAdType;
     this.DefaultHouseAdBody = src.DefaultHouseAdBody;
     this.DefaultHouseAdUri = src.DefaultHouseAdUri;
     this.IsTest = src.IsTest;
 }
Esempio n. 25
0
 void adRotatorControl_AdAvailable(AdProvider adProvider)
 {
     Invalidate(adProvider);
 }
 void adRotatorControl_AdAvailable(AdProvider adProvider)
 {
     Dispatcher.BeginInvoke(() => Invalidate(adProvider));
 }