/// <summary>
    /// Generates a Loyalty Object
    /// </summary>
    /// <param name="issuerId"> </param>
    /// <param name="classId"> </param>
    /// <param name="objectId"> </param>
    /// <returns> loyaltyObject </returns>
    public static LoyaltyObject generateLoyaltyObject(string issuerId, string classId, string objectId)
    {
      // Define Barcode
      Barcode barcode = new Barcode() {
        Type = "qrCode",
        Value = "28343E3",
        AlternateText = "12345"
      };

      // Define Points
      LoyaltyPoints points = new LoyaltyPoints() {
        Label = "Points",
        PointsType = "points",
        Balance = new LoyaltyPointsBalance() { String = "500" }
      };

      // Define Text Module Data
      IList<TextModuleData> textModulesData = new List<TextModuleData>();
      TextModuleData textModuleData = new TextModuleData() {
        Header = "Jane's Baconrista Rewards",
        Body = "Save more at your local Mountain View store Jane.  " +
        "You get 1 bacon fat latte for every 5 coffees purchased.  " +
        "Also just for you, 10% off all pastries in the Mountain View store."
      };
      textModulesData.Add(textModuleData);

      // Define Links Module Data
      IList<Uri> uris = new List<Uri>();
      Uri uri1 = new Uri() {
        Description = "My Baconrista Account",
        UriValue = "http://www.baconrista.com/myaccount?id=1234567890"
      };
      uris.Add(uri1);

      LinksModuleData linksModuleData = new LinksModuleData() {
        Uris = uris
      };

      // Define Info Module
      IList<LabelValue> row0cols = new List<LabelValue>();
      LabelValue row0col0 = new LabelValue() { Label = "Next Reward in", Value = "2 coffees" };
      LabelValue row0col1 = new LabelValue() { Label = "Member Since", Value = "01/15/2013" };
      row0cols.Add(row0col0);
      row0cols.Add(row0col1);

      IList<LabelValue> row1cols = new List<LabelValue>();
      LabelValue row1col0 = new LabelValue() { Label = "Local Store", Value = "Mountain View" };
      row1cols.Add(row1col0);

      IList<LabelValueRow> rows = new List<LabelValueRow>();
      LabelValueRow row0 = new LabelValueRow() {
        Columns = row0cols
      };
      LabelValueRow row1 = new LabelValueRow() {
        Columns = row1cols
      };

      rows.Add(row0);
      rows.Add(row1);

      InfoModuleData infoModuleData = new InfoModuleData() {
        ShowLastUpdateTime = true,
        LabelValueRows = rows
      };

      // Define general messages
      IList<WalletObjectMessage> messages = new List<WalletObjectMessage>();
      WalletObjectMessage message = new WalletObjectMessage() {
        Header = "Hi Jane!",
        Body = "Thanks for joining our program. Show this message to " +
                "our barista for your first free coffee on us!",
        ActionUri = new Uri() { UriValue = "http://baconrista.com" }
      };

      messages.Add(message);

      // Define Wallet Instance
      LoyaltyObject loyaltyObj = new LoyaltyObject() {
        ClassId = issuerId + "." + classId,
        Id = issuerId + "." + objectId,
        Version = 1,
        State = "active",
        Barcode = barcode,
        AccountName = "Jane Doe",
        AccountId = "1234567890",
        LoyaltyPoints = points,
        Messages = messages,
        InfoModuleData = infoModuleData,
        TextModulesData = textModulesData,
        LinksModuleData = linksModuleData
      };

      return loyaltyObj;
    }
    /// <summary>
    /// Generates a Loyalty Class
    /// </summary>
    /// <param name="issuerId"> </param>
    /// <param name="classId"> </param>
    /// <returns> loyaltyClass </returns>
    public static LoyaltyClass generateLoyaltyClass(string issuerId, string classId)
    {
        // Define rendering templates per view
        IList<RenderSpec> renderSpec = new List<RenderSpec>();

        RenderSpec listRenderSpec = new RenderSpec() {
          ViewName = "g_list",
          TemplateFamily = "1.loyalty_list"
        };

        RenderSpec expandedRenderSpec = new RenderSpec() {
          ViewName = "g_expanded",
          TemplateFamily = "1.loyalty_expanded"
        };

        renderSpec.Add(listRenderSpec);
        renderSpec.Add(expandedRenderSpec);

        // Define the Image Module Data
        IList<ImageModuleData> imageModulesData = new List<ImageModuleData>();
        ImageModuleData image = new ImageModuleData() {
          MainImage = new Image() {
            SourceUri = new Uri() {
              UriValue = "http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg",
              Description = "Coffee beans"
            }
          }
        };
        imageModulesData.Add(image);

        // Define Text Module Data
        IList<TextModuleData> textModulesData = new List<TextModuleData>();
        TextModuleData textModuleData = new TextModuleData() {
          Header = "Rewards details",
          Body = "Welcome to Baconrista rewards.  Enjoy your rewards for being a loyal customer.  " +
          "10 points for ever dollar spent.  Redeem your points for free coffee, bacon and more!"
        };
        textModulesData.Add(textModuleData);

        // Define Links Module Data
        IList<Uri> uris = new List<Uri>();
        Uri uri1 = new Uri() {
          Description = "Nearby Locations",
          UriValue = "http://maps.google.com/maps?q=google"
        };
        Uri uri2 = new Uri() {
          Description = "Call Customer Service",
          UriValue = "tel:6505555555"
        };
        uris.Add(uri1);
        uris.Add(uri2);

        LinksModuleData linksModuleData = new LinksModuleData() {
          Uris = uris
        };

        // Define Info Module
        InfoModuleData infoModuleData = new InfoModuleData() {
          HexFontColor = "#F8EDC1",
          HexBackgroundColor = "#442905",
          ShowLastUpdateTime = true
        };

        // Define general messages
        IList<WalletObjectMessage> messages = new List<WalletObjectMessage>();
        WalletObjectMessage message = new WalletObjectMessage() {
          Header = "Welcome to Banconrista Rewards!",
          Body = "Featuring our new bacon donuts.",
          Image = new Image() {
            SourceUri = new Uri() {
              UriValue = "http://farm8.staticflickr.com/7302/11177240353_115daa5729_o.jpg"
            }
          },
          ActionUri = new Uri() { UriValue = "http://baconrista.com" }
        };
        messages.Add(message);

        // Define Geofence locations
        IList<LatLongPoint> locations = new List<LatLongPoint>();
        locations.Add(new LatLongPoint() { Latitude = 37.422601, Longitude = -122.085286 });
        locations.Add(new LatLongPoint() { Latitude = 37.424354, Longitude = -122.09508869999999 });
        locations.Add(new LatLongPoint() { Latitude = 40.7406578, Longitude = -74.00208940000002 });

        // Create Loyalty class
        LoyaltyClass wobClass = new LoyaltyClass() {
          Id = issuerId + "." + classId,
          IssuerName = "Baconrista",
          ProgramName = "Baconrista Rewards",
          ProgramLogo = new Image() {
            SourceUri = new Uri() {
              UriValue = "http://farm8.staticflickr.com/7340/11177041185_a61a7f2139_o.jpg"
            }
          },
          RewardsTierLabel = "Tier",
          RewardsTier = "Gold",
          AccountNameLabel = "Member Name",
          AccountIdLabel = "Member Id",
          RenderSpecs = renderSpec,
          Messages = messages,
          ReviewStatus = "underReview",
          AllowMultipleUsersPerObject = true,
          Locations = locations,
          ImageModulesData = imageModulesData,
          InfoModuleData = infoModuleData,
          TextModulesData = textModulesData,
          LinksModuleData = linksModuleData
        };

        return wobClass;
    }
Example #3
0
        /// <summary>
        /// Generates a Loyalty Class
        /// </summary>
        /// <param name="issuerId"> </param>
        /// <param name="classId"> </param>
        /// <returns> loyaltyClass </returns>
        public static LoyaltyClass generateLoyaltyClass(string issuerId, string classId)
        {
            // Define the Image Module Data
            IList <ImageModuleData> imageModulesData = new List <ImageModuleData>();
            ImageModuleData         image            = new ImageModuleData()
            {
                MainImage = new Image()
                {
                    SourceUri = new Uri()
                    {
                        UriValue    = "http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg",
                        Description = "Coffee beans"
                    }
                }
            };

            imageModulesData.Add(image);

            // Define Text Module Data
            IList <TextModuleData> textModulesData = new List <TextModuleData>();
            TextModuleData         textModuleData  = new TextModuleData()
            {
                Header = "Rewards details",
                Body   = "Welcome to Baconrista rewards.  Enjoy your rewards for being a loyal customer.  " +
                         "10 points for ever dollar spent.  Redeem your points for free coffee, bacon and more!"
            };

            textModulesData.Add(textModuleData);

            // Define Links Module Data
            IList <Uri> uris = new List <Uri>();
            Uri         uri1 = new Uri()
            {
                Description = "Nearby Locations",
                UriValue    = "http://maps.google.com/maps?q=google"
            };
            Uri uri2 = new Uri()
            {
                Description = "Call Customer Service",
                UriValue    = "tel:6505555555"
            };

            uris.Add(uri1);
            uris.Add(uri2);

            LinksModuleData linksModuleData = new LinksModuleData()
            {
                Uris = uris
            };

            // Define Info Module
            InfoModuleData infoModuleData = new InfoModuleData()
            {
                HexFontColor       = "#F8EDC1",
                HexBackgroundColor = "#442905",
                ShowLastUpdateTime = true
            };

            // Define general messages
            IList <WalletObjectMessage> messages = new List <WalletObjectMessage>();
            WalletObjectMessage         message  = new WalletObjectMessage()
            {
                Header = "Welcome to Banconrista Rewards!",
                Body   = "Featuring our new bacon donuts.",
                Image  = new Image()
                {
                    SourceUri = new Uri()
                    {
                        UriValue = "http://farm8.staticflickr.com/7302/11177240353_115daa5729_o.jpg"
                    }
                },
                ActionUri = new Uri()
                {
                    UriValue = "http://baconrista.com"
                }
            };

            messages.Add(message);

            // Define Geofence locations
            IList <LatLongPoint> locations = new List <LatLongPoint>();

            locations.Add(new LatLongPoint()
            {
                Latitude = 37.422601, Longitude = -122.085286
            });
            locations.Add(new LatLongPoint()
            {
                Latitude = 37.424354, Longitude = -122.09508869999999
            });
            locations.Add(new LatLongPoint()
            {
                Latitude = 40.7406578, Longitude = -74.00208940000002
            });

            // Create Loyalty class
            LoyaltyClass wobClass = new LoyaltyClass()
            {
                Id          = issuerId + "." + classId,
                IssuerName  = "Baconrista",
                ProgramName = "Baconrista Rewards",
                ProgramLogo = new Image()
                {
                    SourceUri = new Uri()
                    {
                        UriValue = "http://farm8.staticflickr.com/7340/11177041185_a61a7f2139_o.jpg"
                    }
                },
                RewardsTierLabel            = "Tier",
                RewardsTier                 = "Gold",
                AccountNameLabel            = "Member Name",
                AccountIdLabel              = "Member Id",
                Messages                    = messages,
                ReviewStatus                = "underReview",
                AllowMultipleUsersPerObject = true,
                Locations                   = locations,
                ImageModulesData            = imageModulesData,
                InfoModuleData              = infoModuleData,
                TextModulesData             = textModulesData,
                LinksModuleData             = linksModuleData
            };

            return(wobClass);
        }
Example #4
0
        /// <summary>
        /// Generates a Loyalty Object
        /// </summary>
        /// <param name="issuerId"> </param>
        /// <param name="classId"> </param>
        /// <param name="objectId"> </param>
        /// <returns> loyaltyObject </returns>
        public static LoyaltyObject generateLoyaltyObject(string issuerId, string classId, string objectId)
        {
            // Define Barcode
            Barcode barcode = new Barcode()
            {
                Type          = "qrCode",
                Value         = "28343E3",
                AlternateText = "12345"
            };

            // Define Points
            LoyaltyPoints points = new LoyaltyPoints()
            {
                Label      = "Points",
                PointsType = "points",
                Balance    = new LoyaltyPointsBalance()
                {
                    String = "500"
                }
            };

            // Define Text Module Data
            IList <TextModuleData> textModulesData = new List <TextModuleData>();
            TextModuleData         textModuleData  = new TextModuleData()
            {
                Header = "Jane's Baconrista Rewards",
                Body   = "Save more at your local Mountain View store Jane.  " +
                         "You get 1 bacon fat latte for every 5 coffees purchased.  " +
                         "Also just for you, 10% off all pastries in the Mountain View store."
            };

            textModulesData.Add(textModuleData);

            // Define Links Module Data
            IList <Uri> uris = new List <Uri>();
            Uri         uri1 = new Uri()
            {
                Description = "My Baconrista Account",
                UriValue    = "http://www.baconrista.com/myaccount?id=1234567890"
            };

            uris.Add(uri1);

            LinksModuleData linksModuleData = new LinksModuleData()
            {
                Uris = uris
            };

            // Define Info Module
            IList <LabelValue> row0cols = new List <LabelValue>();
            LabelValue         row0col0 = new LabelValue()
            {
                Label = "Next Reward in", Value = "2 coffees"
            };
            LabelValue row0col1 = new LabelValue()
            {
                Label = "Member Since", Value = "01/15/2013"
            };

            row0cols.Add(row0col0);
            row0cols.Add(row0col1);

            IList <LabelValue> row1cols = new List <LabelValue>();
            LabelValue         row1col0 = new LabelValue()
            {
                Label = "Local Store", Value = "Mountain View"
            };

            row1cols.Add(row1col0);

            IList <LabelValueRow> rows = new List <LabelValueRow>();
            LabelValueRow         row0 = new LabelValueRow()
            {
                Columns = row0cols
            };
            LabelValueRow row1 = new LabelValueRow()
            {
                Columns = row1cols
            };

            rows.Add(row0);
            rows.Add(row1);

            InfoModuleData infoModuleData = new InfoModuleData()
            {
                ShowLastUpdateTime = true,
                LabelValueRows     = rows
            };

            // Define general messages
            IList <WalletObjectMessage> messages = new List <WalletObjectMessage>();
            WalletObjectMessage         message  = new WalletObjectMessage()
            {
                Header = "Hi Jane!",
                Body   = "Thanks for joining our program. Show this message to " +
                         "our barista for your first free coffee on us!",
                ActionUri = new Uri()
                {
                    UriValue = "http://baconrista.com"
                }
            };

            messages.Add(message);

            // Define Wallet Instance
            LoyaltyObject loyaltyObj = new LoyaltyObject()
            {
                ClassId         = issuerId + "." + classId,
                Id              = issuerId + "." + objectId,
                Version         = 1,
                State           = "active",
                Barcode         = barcode,
                AccountName     = "Jane Doe",
                AccountId       = "1234567890",
                LoyaltyPoints   = points,
                Messages        = messages,
                InfoModuleData  = infoModuleData,
                TextModulesData = textModulesData,
                LinksModuleData = linksModuleData
            };

            return(loyaltyObj);
        }
        /// <summary>
        /// Generates a Loyalty Class
        /// </summary>
        /// <param name="issuerId"> </param>
        /// <param name="classId"> </param>
        /// <returns> loyaltyClass </returns>
        public static LoyaltyClass generateLoyaltyClass(string issuerId, string classId)
        {
            // Define general messages
            IList<WalletObjectMessage> messages = new List<WalletObjectMessage>();
            WalletObjectMessage message = new WalletObjectMessage();
            message.Header = "Welcome";
            message.Body = "Welcome to Banconrista Rewards!";

            Uri imageUri = new Uri();
            imageUri.UriValue = "https://ssl.gstatic.com/codesite/ph/images/search-48.gif";
            Image messageImage = new Image();
            messageImage.SourceUri = imageUri;
            message.Image = messageImage;

            Uri actionUri = new Uri();
            actionUri.UriValue = "http://baconrista.com";
            message.ActionUri = actionUri;

            messages.Add(message);

            // Define rendering templates per view
            IList<RenderSpec> renderSpec = new List<RenderSpec>();

            RenderSpec listRenderSpec = new RenderSpec();
            listRenderSpec.ViewName = "g_list";
            listRenderSpec.TemplateFamily = "1.loyaltyCard1_list";

            RenderSpec expandedRenderSpec = new RenderSpec();
            expandedRenderSpec.ViewName = "g_expanded";
            expandedRenderSpec.TemplateFamily = "1.loyaltyCard1_expanded";

            renderSpec.Add(listRenderSpec);
            renderSpec.Add(expandedRenderSpec);

            // Define Geofence locations
            IList<LatLongPoint> locations = new List<LatLongPoint>();

            LatLongPoint llp1 = new LatLongPoint();
            llp1.Latitude = 37.422601;
            llp1.Longitude = -122.085286;

            LatLongPoint llp2 = new LatLongPoint();
            llp2.Latitude = 37.429379;
            llp2.Longitude = -122.122730;

            locations.Add(llp1);
            locations.Add(llp2);

            // Create class
            LoyaltyClass wobClass = new LoyaltyClass();
            wobClass.Id = issuerId + "." + classId;
            wobClass.Version = "1";
            wobClass.IssuerName = "Baconrista";
            wobClass.ProgramName = "Baconrista Rewards";

            Uri homepageUri = new Uri();
            homepageUri.UriValue = "https://www.example.com";
            homepageUri.Description = "Website";
            wobClass.HomepageUri = homepageUri;

            Uri logoImageUri = new Uri();
            logoImageUri.UriValue = "http://www.google.com/landing/chrome/ugc/chrome-icon.jpg";
            Image logoImage = new Image();
            logoImage.SourceUri = logoImageUri;
            wobClass.ProgramLogo = logoImage;

            wobClass.RewardsTierLabel= "Tier";
            wobClass.RewardsTier = "Gold";
            wobClass.AccountNameLabel = "Member Name";
            wobClass.AccountIdLabel = "Member Id";
            wobClass.RenderSpecs = renderSpec;
            wobClass.Messages = messages;
            wobClass.ReviewStatus = "underReview";
            wobClass.AllowMultipleUsersPerObject = true;
            wobClass.Locations = locations;

            return wobClass;
        }