From 34e2e192693bb8866d1560a7002b3a7c8dad3451 Mon Sep 17 00:00:00 2001 From: Christian Arenas Date: Wed, 5 Jul 2017 13:38:19 +0200 Subject: [PATCH] Add DetailsUri property to CampaignItem and Add VIEW SITE button in campaign details when the DetailsUri exists --- .../Models/Marketing/CampaignItem.cs | 2 + .../ViewModels/CampaignDetailsViewModel.cs | 20 ++++ .../Views/CampaignDetailsView.xaml | 98 +++++++++++++------ 3 files changed, 90 insertions(+), 30 deletions(-) diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Marketing/CampaignItem.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Marketing/CampaignItem.cs index 0bfb1485b..70c5b24d1 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Marketing/CampaignItem.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Marketing/CampaignItem.cs @@ -15,5 +15,7 @@ public DateTime To { get; set; } public string PictureUri { get; set; } + + public string DetailsUri { get; set; } } } \ No newline at end of file diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignDetailsViewModel.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignDetailsViewModel.cs index 2880a86f0..95e614bc6 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignDetailsViewModel.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignDetailsViewModel.cs @@ -5,10 +5,13 @@ using Models.Marketing; using Services.Marketing; using Base; + using System.Windows.Input; + using Xamarin.Forms; public class CampaignDetailsViewModel : ViewModelBase { private CampaignItem _campaign; + private bool _isDetailsSite; private readonly ICampaignService _campaignService; public CampaignDetailsViewModel(ICampaignService campaignService) @@ -26,6 +29,16 @@ } } + public bool IsDetailsSite + { + get => _isDetailsSite; + set + { + _isDetailsSite = value; + RaisePropertyChanged(() => IsDetailsSite); + } + } + public override async Task InitializeAsync(object navigationData) { if (navigationData is int) @@ -38,5 +51,12 @@ IsBusy = false; } } + + public ICommand EnableDetailsSiteCommand => new Command(EnableDetailsSite); + + private void EnableDetailsSite() + { + IsDetailsSite = true; + } } } \ No newline at end of file diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignDetailsView.xaml b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignDetailsView.xaml index 218778cc6..8a1391272 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignDetailsView.xaml +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignDetailsView.xaml @@ -3,7 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="eShopOnContainers.Core.Views.CampaignDetailsView" xmlns:viewModelBase="clr-namespace:eShopOnContainers.Core.ViewModels.Base;assembly=eShopOnContainers.Core" - viewModelBase:ViewModelLocator.AutoWireViewModel="true" + viewModelBase:ViewModelLocator.AutoWireViewModel="true" Title="Campaign Details"> @@ -53,11 +53,19 @@ + + - - + - + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - + + + + + Style="{StaticResource CampaignAvailabilityBannerStyle}" + Grid.Row="2"> @@ -120,6 +146,18 @@ Text="{Binding Campaign.To, StringFormat='until {0:MMMM dd, yyyy}'}" Style="{StaticResource CampaignAvailabilityDescriptionStyle}"/> + + + + +