Modify the campaign response of the marketing api
This commit is contained in:
parent
80c10a1465
commit
9bdfddc496
@ -0,0 +1,19 @@
|
|||||||
|
namespace eShopOnContainers.Core.Models.Marketing
|
||||||
|
{
|
||||||
|
using System;
|
||||||
|
|
||||||
|
public class CampaignItem
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public string Description { get; set; }
|
||||||
|
|
||||||
|
public DateTime From { get; set; }
|
||||||
|
|
||||||
|
public DateTime To { get; set; }
|
||||||
|
|
||||||
|
public string PictureUri { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
namespace eShopOnContainers.Core.Models.Marketing
|
||||||
|
{
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
public class CampaignRoot
|
||||||
|
{
|
||||||
|
public int PageIndex { get; set; }
|
||||||
|
public int PageSize { get; set; }
|
||||||
|
public int Count { get; set; }
|
||||||
|
public List<CampaignItem> Data { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -11,9 +11,9 @@ namespace eShopOnContainers.Core.Services.Marketing
|
|||||||
|
|
||||||
public class CampaignMockService : ICampaignService
|
public class CampaignMockService : ICampaignService
|
||||||
{
|
{
|
||||||
private readonly ObservableCollection<Campaign> _mockCampaign = new ObservableCollection<Campaign>
|
private readonly ObservableCollection<CampaignItem> _mockCampaign = new ObservableCollection<CampaignItem>
|
||||||
{
|
{
|
||||||
new Campaign
|
new CampaignItem
|
||||||
{
|
{
|
||||||
Id = Common.Common.MockCampaignd01,
|
Id = Common.Common.MockCampaignd01,
|
||||||
PictureUri = Device.RuntimePlatform != Device.Windows
|
PictureUri = Device.RuntimePlatform != Device.Windows
|
||||||
@ -25,7 +25,7 @@ namespace eShopOnContainers.Core.Services.Marketing
|
|||||||
To = DateTime.Now.AddDays(7)
|
To = DateTime.Now.AddDays(7)
|
||||||
},
|
},
|
||||||
|
|
||||||
new Campaign
|
new CampaignItem
|
||||||
{
|
{
|
||||||
Id = Common.Common.MockCampaignd02,
|
Id = Common.Common.MockCampaignd02,
|
||||||
PictureUri = Device.RuntimePlatform != Device.Windows
|
PictureUri = Device.RuntimePlatform != Device.Windows
|
||||||
@ -38,18 +38,16 @@ namespace eShopOnContainers.Core.Services.Marketing
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public async Task<ObservableCollection<Campaign>> GetAllCampaignsAsync(string userId, string token)
|
public async Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string userId, string token)
|
||||||
{
|
{
|
||||||
await Task.Delay(500);
|
await Task.Delay(500);
|
||||||
|
|
||||||
return _mockCampaign;
|
return _mockCampaign;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Campaign> GetCampaignByIdAsync(int camapignId, string token)
|
public async Task<CampaignItem> GetCampaignByIdAsync(int campaignId, string token)
|
||||||
{
|
{
|
||||||
await Task.Delay(500);
|
return _mockCampaign.SingleOrDefault(c => c.Id == campaignId);
|
||||||
|
|
||||||
return _mockCampaign.First();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,7 @@
|
|||||||
namespace eShopOnContainers.Core.Services.Marketing
|
using eShopOnContainers.Core.Extensions;
|
||||||
|
using eShopOnContainers.Core.Helpers;
|
||||||
|
|
||||||
|
namespace eShopOnContainers.Core.Services.Marketing
|
||||||
{
|
{
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
@ -15,20 +18,36 @@
|
|||||||
_requestProvider = requestProvider;
|
_requestProvider = requestProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ObservableCollection<Campaign>> GetAllCampaignsAsync(string userId, string token)
|
public async Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string userId, string token)
|
||||||
{
|
{
|
||||||
UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint);
|
UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint);
|
||||||
|
|
||||||
builder.Path = $"api/v1/campaigns/{userId}";
|
builder.Path = $"api/v1/campaigns/user/{userId}";
|
||||||
|
|
||||||
string uri = builder.ToString();
|
string uri = builder.ToString();
|
||||||
|
|
||||||
return await _requestProvider.GetAsync<ObservableCollection<Campaign>>(uri, token);
|
CampaignRoot campaign =
|
||||||
|
await _requestProvider.GetAsync<CampaignRoot>(uri, token);
|
||||||
|
|
||||||
|
if (campaign?.Data != null)
|
||||||
|
{
|
||||||
|
ServicesHelper.FixCatalogItemPictureUri(campaign?.Data);
|
||||||
|
|
||||||
|
return campaign?.Data.ToObservableCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ObservableCollection<CampaignItem>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<Campaign> GetCampaignByIdAsync(int campaignId, string token)
|
public async Task<CampaignItem> GetCampaignByIdAsync(int campaignId, string token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint);
|
||||||
|
|
||||||
|
builder.Path = $"api/v1/campaigns/{campaignId}";
|
||||||
|
|
||||||
|
string uri = builder.ToString();
|
||||||
|
|
||||||
|
return await _requestProvider.GetAsync<CampaignItem>(uri, token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,8 +7,8 @@ namespace eShopOnContainers.Core.Services.Marketing
|
|||||||
|
|
||||||
public interface ICampaignService
|
public interface ICampaignService
|
||||||
{
|
{
|
||||||
Task<ObservableCollection<Campaign>> GetAllCampaignsAsync(string userId, string token);
|
Task<ObservableCollection<CampaignItem>> GetAllCampaignsAsync(string userId, string token);
|
||||||
|
|
||||||
Task<Campaign> GetCampaignByIdAsync(int id, string token);
|
Task<CampaignItem> GetCampaignByIdAsync(int id, string token);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -44,6 +44,9 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Behaviors\Base\BindableBehavior.cs" />
|
<Compile Include="Behaviors\Base\BindableBehavior.cs" />
|
||||||
<Compile Include="Behaviors\EventToCommandBehavior.cs" />
|
<Compile Include="Behaviors\EventToCommandBehavior.cs" />
|
||||||
|
<Compile Include="Controls\MoreDetailsCampaignButton.xaml.cs">
|
||||||
|
<DependentUpon>MoreDetailsCampaignButton.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Controls\AddBasketButton.xaml.cs">
|
<Compile Include="Controls\AddBasketButton.xaml.cs">
|
||||||
<DependentUpon>AddBasketButton.xaml</DependentUpon>
|
<DependentUpon>AddBasketButton.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -72,7 +75,8 @@
|
|||||||
<Compile Include="Models\Catalog\CatalogRoot.cs" />
|
<Compile Include="Models\Catalog\CatalogRoot.cs" />
|
||||||
<Compile Include="Models\Catalog\CatalogType.cs" />
|
<Compile Include="Models\Catalog\CatalogType.cs" />
|
||||||
<Compile Include="Models\Location\Location.cs" />
|
<Compile Include="Models\Location\Location.cs" />
|
||||||
<Compile Include="Models\Marketing\Campaign.cs" />
|
<Compile Include="Models\Marketing\CampaignItem.cs" />
|
||||||
|
<Compile Include="Models\Marketing\CampaignRoot.cs" />
|
||||||
<Compile Include="Models\Navigation\TabParameter.cs" />
|
<Compile Include="Models\Navigation\TabParameter.cs" />
|
||||||
<Compile Include="Models\Orders\CardType.CS" />
|
<Compile Include="Models\Orders\CardType.CS" />
|
||||||
<Compile Include="Models\Orders\Order.cs" />
|
<Compile Include="Models\Orders\Order.cs" />
|
||||||
@ -121,6 +125,7 @@
|
|||||||
<Compile Include="ViewModels\Base\ViewModelBase.cs" />
|
<Compile Include="ViewModels\Base\ViewModelBase.cs" />
|
||||||
<Compile Include="ViewModels\Base\ViewModelLocator.cs" />
|
<Compile Include="ViewModels\Base\ViewModelLocator.cs" />
|
||||||
<Compile Include="ViewModels\BasketViewModel.cs" />
|
<Compile Include="ViewModels\BasketViewModel.cs" />
|
||||||
|
<Compile Include="ViewModels\CampaignDetailsViewModel.cs" />
|
||||||
<Compile Include="ViewModels\CampaignViewModel.cs" />
|
<Compile Include="ViewModels\CampaignViewModel.cs" />
|
||||||
<Compile Include="ViewModels\CatalogViewModel.cs" />
|
<Compile Include="ViewModels\CatalogViewModel.cs" />
|
||||||
<Compile Include="ViewModels\CheckoutViewModel.cs" />
|
<Compile Include="ViewModels\CheckoutViewModel.cs" />
|
||||||
@ -138,6 +143,9 @@
|
|||||||
<Compile Include="Views\CatalogView.xaml.cs">
|
<Compile Include="Views\CatalogView.xaml.cs">
|
||||||
<DependentUpon>CatalogView.xaml</DependentUpon>
|
<DependentUpon>CatalogView.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Views\CampaignDetailsView.xaml.cs">
|
||||||
|
<DependentUpon>CampaignDetailsView.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Views\CheckoutView.xaml.cs">
|
<Compile Include="Views\CheckoutView.xaml.cs">
|
||||||
<DependentUpon>CheckoutView.xaml</DependentUpon>
|
<DependentUpon>CheckoutView.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -171,6 +179,9 @@
|
|||||||
<Compile Include="Views\Templates\OrderTemplate.xaml.cs">
|
<Compile Include="Views\Templates\OrderTemplate.xaml.cs">
|
||||||
<DependentUpon>OrderTemplate.xaml</DependentUpon>
|
<DependentUpon>OrderTemplate.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Views\Templates\CampaignTemplate.xaml.cs">
|
||||||
|
<DependentUpon>CampaignTemplate.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Views\Templates\ProductTemplate.xaml.cs">
|
<Compile Include="Views\Templates\ProductTemplate.xaml.cs">
|
||||||
<DependentUpon>ProductTemplate.xaml</DependentUpon>
|
<DependentUpon>ProductTemplate.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -283,6 +294,24 @@
|
|||||||
<HintPath>..\..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.6\Profile\Profile44\System.ComponentModel.Annotations.dll</HintPath>
|
<HintPath>..\..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.6\Profile\Profile44\System.ComponentModel.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="Views\CampaignDetailsView.xaml">
|
||||||
|
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="Views\Templates\CampaignTemplate.xaml">
|
||||||
|
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="Controls\MoreDetailsCampaignButton.xaml">
|
||||||
|
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user