Example #1
0
		//mfp initialilzing environment
		public async void setOffers ()
		{
			var isConnected = false;

			//mobileFirst client
			if (mfpClient == null) {
				mfpClient = WorklightClient.CreateInstance (this);
			}

			System.Console.WriteLine ("MFP before connect");

			//getting connection
			WorklightResponse task1 = await mfpClient.Connect ();
			if (task1.Success) {
				Console.WriteLine ("connected to MFP");
				isConnected = true;
			} else {
				Console.WriteLine ("connection failed");
			} 

			//accessing protected feedAdapter
			if (isConnected) {

				//adding challengehandler
				string appRealm = "PlentyAppRealm";
				ChallengeHandler customCH = new CustomChallengeHandler (appRealm);
				mfpClient.RegisterChallengeHandler (customCH);
				System.Console.WriteLine ("MFP before adapter");

				WorklightProcedureInvocationData invocationData = 
					new WorklightProcedureInvocationData (
						"FeedAdapter", "getFeed", new object[] { "" });
				
				WorklightResponse task3 = await mfpClient.InvokeProcedure (invocationData);
				if (task3.Success) {
					isInitialCall = false;
					Console.WriteLine ("adapter connected");
					Console.WriteLine (task3.ResponseJSON.ToString ());
				} else {
					Console.WriteLine ("adapter failed");
					Console.WriteLine (task3.ResponseJSON.ToString ());
				}
			
			}
			//end of protected feedAdapter


			task1 = await mfpClient.Connect ();

			if (task1.Success) {
				Console.WriteLine ("connected to MFP");
				isConnected = true;
			} else {
				Console.WriteLine ("connection failed");
			} 


			//ACCESSING STRONGLOOP
			if (isConnected) {
				

				//adding challengehandler
				string appRealm = "PlentyAppRealm";
				ChallengeHandler customCH = new CustomChallengeHandler (appRealm);
				mfpClient.RegisterChallengeHandler (customCH);
				System.Console.WriteLine ("MFP before SL url");

				//calling protected url (strongLoop)
				WorklightResourceRequest resourceRequest = mfpClient.ResourceRequest (
					                                           new Uri (URL_STRONGLOOP), "GET");
				WorklightResponse task2 = await resourceRequest.Send ();

				if (task2.Success) {
					Console.WriteLine ("strongloop url connected");
					Console.WriteLine (task2.ResponseText.ToString ());

					Plenty.Offers.offers = new List<OffersModel> {};

					//getting offers from JSON
					JsonArray jsonArray = new JsonArray (task2.ResponseText);
					Console.WriteLine (jsonArray.Count);
					var myObjectList = 
						(List<Offer>)
						JsonConvert.DeserializeObject (task2.ResponseText, typeof(List<Offer>));
					foreach (Offer offer in myObjectList) {
						/*
						Console.WriteLine (offer.offername);
						Console.WriteLine (offer.offerdescription);
						Console.WriteLine (offer.offerpicture);
						*/

						Plenty.Offers.offers.Add (new OffersModel (
							offer.offername,
							offer.offerdescription,
							offer.offerpicture));

					}
				} else {
					Console.WriteLine ("strongloop url failed");
					//dummy offers
					Plenty.Offers.offers = new List<OffersModel> {
						new OffersModel ("potatoes", "For offers refer", "Potatoes.jpg"),
						new OffersModel (
							"Buy one get one free on salted nuts for the big game!",
							"This offer entitles you to a free can of salted nuts for every can you purchase.  Limit 4.",
							"offers/asparagus.jpg"),
					};
				}
			} else {
				Console.WriteLine ("connection for SL failed");
				//dummy offers
				Plenty.Offers.offers = new List<OffersModel> {
					new OffersModel (
						"Buy one get one free on salted nuts for the big game!",
						"This offer entitles you to a free can of salted nuts for every can you purchase.  Limit 4.",
						"NUTS.jpg"),
				};
			}
		}
Example #2
0
        //mfp initialilzing environment
        public async void setOffers()
        {
            var isConnected = false;

            //mobileFirst client
            if (mfpClient == null)
            {
                mfpClient = WorklightClient.CreateInstance(this);
            }

            System.Console.WriteLine("MFP before connect");

            //getting connection
            WorklightResponse task1 = await mfpClient.Connect();

            if (task1.Success)
            {
                Console.WriteLine("connected to MFP");

                logger = mfpClient.Logger("Xamarin: MainActivity.cs");

                logger.Info("connection from Android Plenty app established");
                //write to the server the connection status
                mfpClient.Analytics.Log("Connect response : " + task1.Success);
                isConnected = true;
            }
            else
            {
                Console.WriteLine("connection failed");
            }

            //accessing protected feedAdapter
            if (isConnected)
            {
                //adding challengehandler
                string           appRealm = "PlentyAppRealm";
                ChallengeHandler customCH = new CustomChallengeHandler(appRealm);
                mfpClient.RegisterChallengeHandler(customCH);
                System.Console.WriteLine("MFP before adapter");

                WorklightProcedureInvocationData invocationData =
                    new WorklightProcedureInvocationData(
                        "FeedAdapter", "getFeed", new object[] { "" });

                WorklightResponse task3 = await mfpClient.InvokeProcedure(invocationData);

                if (task3.Success)
                {
                    isInitialCall = false;
                    Console.WriteLine("adapter connected");
                    Console.WriteLine(task3.ResponseText.ToString());

                    logger.Info("FeedAdapter Accessed from Android Plenty app");
                    //write to the server the connection status
                    mfpClient.Analytics.Log("FeedAdapter response : " + task3.Success);
                }
                else
                {
                    Console.WriteLine("adapter failed");
                    Console.WriteLine(task3.ResponseJSON.ToString());

                    logger.Error("FeedAdapter FAILED from Android Plenty app");
                    //write to the server the connection status
                    mfpClient.Analytics.Log("FeedAdapter response : " + task3.ResponseText);
                }
            }
            //end of protected feedAdapter


            task1 = await mfpClient.Connect();

            if (task1.Success)
            {
                Console.WriteLine("connected to MFP");
                isConnected = true;
            }
            else
            {
                Console.WriteLine("connection failed");
            }


            //ACCESSING STRONGLOOP for Offers
            if (isConnected)
            {
                System.Console.WriteLine("MFP before SL url");

                //calling protected adapter (strongloop)

                /*WorklightProcedureInvocationData invocationData =
                 *      new WorklightProcedureInvocationData (
                 *              "SLAdapter", "getOffers", new object[] { "" });
                 *
                 * WorklightResponse task2 = await mfpClient.InvokeProcedure (invocationData);
                 */

                //calling protected url (strongLoop)
                WorklightResourceRequest resourceRequest = mfpClient.ResourceRequest(
                    new Uri(URL_STRONGLOOP + "Offers"), "GET");
                WorklightResponse task2 = await resourceRequest.Send();


                if (task2.Success)
                {
                    Console.WriteLine("strongloop url connected");
                    Console.WriteLine(task2.ResponseText.ToString());

                    logger.Info("Strongloop Accessed/Offers from Android Plenty app");
                    //write to the server the connection status
                    mfpClient.Analytics.Log("Strongloop response : " + task2.Success);

                    Plenty.Offers.offers = new List <OffersModel> {
                    };
                    JsonArray jsonArray = new JsonArray(task2.ResponseText);

                    Console.WriteLine(jsonArray.Count);
                    var myObjectList =
                        (List <Offer>)
                        JsonConvert.DeserializeObject(task2.ResponseText, typeof(List <Offer>));
                    foreach (Offer offer in myObjectList)
                    {
                        /*
                         * Console.WriteLine (offer.offername);
                         * Console.WriteLine (offer.offerdescription);
                         * Console.WriteLine (offer.offerpicture);
                         */

                        Plenty.Offers.offers.Add(new OffersModel(
                                                     offer.offername,
                                                     offer.offerdescription,
                                                     offer.offerpicture));
                    }
                }
                else
                {
                    Console.WriteLine("strongloop url failed");
                    Console.WriteLine(task2.ResponseText.ToString());

                    logger.Error("Strongloop FAILED on Offers from Android Plenty app");
                    //write to the server the connection status
                    mfpClient.Analytics.Log("Strongloop response : " + task2.ResponseText);

                    //dummy offers
                    Plenty.Offers.offers = new List <OffersModel> {
                        new OffersModel("potatoes", "For offers refer", "Potatoes.jpg"),
                        new OffersModel(
                            "Buy one get one free on salted nuts for the big game!",
                            "This offer entitles you to a free can of salted nuts for every can you purchase.  Limit 4.",
                            "offers/asparagus.jpg"),
                    };
                }
            }
            else
            {
                Console.WriteLine("connection for SL failed");
                //dummy offers
                logger.Error("Strongloop FAILED even on Connection to MFP? while on Offers from Android Plenty app");
                //write to the server the connection status
                mfpClient.Analytics.Log("FeedAdapter response : " + task1.ResponseText);

                Plenty.Offers.offers = new List <OffersModel> {
                    new OffersModel(
                        "Buy one get one free on salted nuts for the big game!",
                        "This offer entitles you to a free can of salted nuts for every can you purchase.  Limit 4.",
                        "NUTS.jpg"),
                };
            }             //end Strongloops for Offers


            task1 = await mfpClient.Connect();

            if (task1.Success)
            {
                Console.WriteLine("connected to MFP");
                isConnected = true;
            }
            else
            {
                Console.WriteLine("connection failed");
            }


            //ACCESSING STRONGLOOP for Events
            if (isConnected)
            {
                System.Console.WriteLine("MFP before SL url");
                //calling protected url (strongLoop)
                WorklightResourceRequest resourceRequest = mfpClient.ResourceRequest(
                    new Uri(URL_STRONGLOOP + "Events"), "GET");
                WorklightResponse task4 = await resourceRequest.Send();


                if (task4.Success)
                {
                    Console.WriteLine("strongloop url connected");
                    Console.WriteLine(task4.ResponseText.ToString());
                    logger.Info("Strongloop Accessed/Events from Android Plenty app");
                    //write to the server the connection status
                    mfpClient.Analytics.Log("Strongloop response : " + task4.Success);

                    Plenty.SpecialEvents.events = new List <EventsModel> {
                    };

                    JsonArray jsonArray = new JsonArray(task4.ResponseText);

                    Console.WriteLine(jsonArray.Count);
                    var myObjectList =
                        (List <Event>)JsonConvert.DeserializeObject(task4.ResponseText, typeof(List <Event>));
                    foreach (Event myevent in myObjectList)
                    {
                        Plenty.SpecialEvents.events.Add(new EventsModel(
                                                            myevent.offername,
                                                            myevent.offerdescription,
                                                            myevent.offerpicture));
                    }
                }
                else
                {
                    Console.WriteLine("strongloop url failed");
                    Console.WriteLine(task4.ResponseText.ToString());
                    logger.Error("Strongloop FAILED on Events from Android Plenty app");
                    //write to the server the connection status
                    mfpClient.Analytics.Log("Strongloop response : " + task4.ResponseText);
                    //dummy events
                    Plenty.SpecialEvents.events = new List <EventsModel> {
                        new EventsModel(
                            "Growler Fill-Up",
                            "Fill up your growler from a selection of local craft beers!",
                            "events/fillyourgrowler.jpg"),
                    };
                }
            }
            else
            {
                Console.WriteLine("connection for SL failed");
                logger.Error("Strongloop FAILED even on Connection to MFP? while on Offers from Android Plenty app");
                //write to the server the connection status
                mfpClient.Analytics.Log("FeedAdapter response : " + task1.ResponseText);
                //dummy offers
                Plenty.Offers.offers = new List <OffersModel> {
                    new OffersModel(
                        "Buy one get one free on salted nuts for the big game!",
                        "This offer entitles you to a free can of salted nuts for every can you purchase.  Limit 4.",
                        "NUTS.jpg"),
                };
            }
        }