Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8" ?>
- <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
- xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
- prism:ViewModelLocator.AutowireViewModel="True"
- x:Class="mySeeds.Views.StudentRedeemPage"
- Title="Redeem">
- <ContentPage.Content>
- <Grid x:Name="MainGrid">
- <Grid.RowDefinitions>
- <RowDefinition Height="2*" />
- <RowDefinition Height="3*" />
- </Grid.RowDefinitions>
- <Grid Grid.Row="0"
- Grid.RowSpan="1"
- HorizontalOptions="FillAndExpand"
- VerticalOptions="FillAndExpand"
- BackgroundColor="{StaticResource RedeemBanner}">
- <Grid.RowDefinitions>
- <RowDefinition Height="3*"/>
- <RowDefinition Height="1*"/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="6*" />
- <ColumnDefinition Width="4*" />
- </Grid.ColumnDefinitions>
- <Image Source="Icon"
- VerticalOptions="Center"
- HorizontalOptions="Center"
- Grid.Column="1"
- Grid.Row="0"/>
- <StackLayout Grid.Column="0"
- Grid.Row="0"
- HorizontalOptions="CenterAndExpand"
- VerticalOptions="Center">
- <Label Text="REWARD SHOP"
- TextColor="White"
- FontSize="Medium"
- FontAttributes="Bold"
- VerticalTextAlignment="Center"
- LineBreakMode="TailTruncation"/>
- <Label Text="{Binding User_Profile_Table.Points_Earned, StringFormat='{0} Seeds'}"
- TextColor="White"
- FontSize="Large"
- FontAttributes="Bold"
- VerticalTextAlignment="Center"
- LineBreakMode="WordWrap"/>
- </StackLayout>
- <StackLayout Grid.Row="1" Grid.ColumnSpan="2" >
- <Label Text="Partners" BackgroundColor="{StaticResource RedeemTab}" HorizontalOptions="FillAndExpand" VerticalOptions="Center" />
- <ListView
- Margin="0,0,0,0"
- HorizontalOptions="FillAndExpand"
- VerticalOptions="FillAndExpand"
- ItemsSource="{Binding ProductList}"
- HasUnevenRows="true"
- CachingStrategy="RecycleElement">
- <ListView.ItemTemplate>
- <DataTemplate>
- <ViewCell>
- <Grid Padding="0, 0, 10, 0">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="30"/>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="Auto"/>
- </Grid.ColumnDefinitions>
- <Image x:Name="Img"
- Grid.Row="0" Grid.Column="0"
- HorizontalOptions="Center"
- VerticalOptions="Center"
- HeightRequest="30"
- WidthRequest="30"
- Source="{Binding ImageUrl}"/>
- <StackLayout Grid.Row="0" Grid.Column="1" VerticalOptions="Center">
- <Label Text="{Binding SalesPriceIncVat,StringFormat='{0} Seeds'}"
- TextColor="{StaticResource RedeemStatusBar}"
- FontAttributes="Bold"
- VerticalOptions="Center"/>
- <Label Text="{Binding Name}"
- VerticalOptions="Center"/>
- </StackLayout>
- <Button x:Name="btnRedeem"
- Text="GET IT!"
- TextColor="White"
- BackgroundColor="{StaticResource RedeemLightGreen}"
- Grid.Row="0" Grid.Column="2">
- </Button>
- </Grid>
- </ViewCell>
- </DataTemplate>
- </ListView.ItemTemplate>
- </ListView>
- </StackLayout>
- </Grid>
- </Grid>
- </ContentPage.Content>
- </ContentPage>
- public class StudentRedeemPageViewModel : NavigationViewModelBase
- {
- private List<Data> _productList;
- public List<Data> ProductList
- {
- get { return _productList; }
- set
- {
- SetProperty(ref _productList, value);
- RaisePropertyChanged(nameof(ProductList));
- }
- }
- private User_Profile_Table user_Profile_Table;
- public User_Profile_Table User_Profile_Table
- {
- get { return user_Profile_Table; }
- set
- {
- SetProperty(ref user_Profile_Table, value);
- RaisePropertyChanged(nameof(User_Profile_Table));
- }
- }
- private ProductModel _product_Table;
- public ProductModel Product_Table
- {
- get { return _product_Table; }
- set
- {
- SetProperty(ref _product_Table, value);
- RaisePropertyChanged(nameof(Product_Table));
- }
- }
- public DelegateCommand GetProductListCommand { get; private set; }
- public DelegateCommand UserProfileCommand { get; private set; }
- public DelegateCommand NavigateToRedeemPage { get; set; }
- private IRequestProvider _requestProvider;
- public StudentRedeemPageViewModel(IDeviceService deviceService, INavigationService navigationService,
- IPageDialogService pageDialogService, IRequestProvider requestProvider)
- : base(deviceService, navigationService, pageDialogService)
- {
- _requestProvider = requestProvider;
- NavigateToRedeemPage = new DelegateCommand(() => NavigateCommand.Execute("VocherPage"));
- GetProductListCommand = new DelegateCommand(async () => await GetProductList());
- UserProfileCommand = new DelegateCommand(async () => await GetUserProfile());
- UserProfileCommand.Execute();
- GetProductListCommand.Execute();
- }
- async Task GetProductList()
- {
- List<Data> Test = new List<Data>();
- string username = "admin@xxxx.com";
- string password = "xxxxxxxxx";
- string svcCredentials = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username + ":" + password));
- if (svcCredentials != null)
- {
- var client = new HttpClient();
- client.BaseAddress = new Uri("https://xxxxxx.com/");
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", svcCredentials);
- var productsResponse = await client.GetAsync("xxxxxx/api/xxxx/");
- var productsJson = productsResponse.Content.ReadAsStringAsync().Result;
- ProductModel members = JsonConvert.DeserializeObject<ProductModel>(productsJson);
- ProductList = members.Data;
- }
- }
- async Task GetUserProfile()
- {
- User_Profile_Table = await _requestProvider.GetAsync<User_Profile_Table>(
- GlobalSetting.Instance.UserProfileTableEndpoint, Settings.AuthAccessToken);
- }
- }
- public class ProductModel
- {
- public List<Data> Data { get; set; }
- public string FirstItem { get; set; }
- public string HasNextPage { get; set; }
- public string HasPreviousPage { get; set; }
- public string LastItem { get; set; }
- public string PageNumber { get; set; }
- public string PageSize { get; set; }
- public string TotalItems { get; set; }
- public string TotalPages { get; set; }
- }
- public class Data
- {
- [JsonProperty("Data")]
- public string ProductId { get; set; }
- public string PartnerId { get; set; }
- public string Name { get; set; }
- public string Description { get; set; }
- public string SalesPriceIncVat { get; set; }
- public string SalesPriceExcVat { get; set; }
- public string SalesVat { get; set; }
- public string ValidFromDateUtc { get; set; }
- public string ValidToDateUtc { get; set; }
- public string TermsAndConditions { get; set; }
- public string UsageInstructions { get; set; }
- public string SlaTime { get; set; }
- public string SlaText { get; set; }
- public string Units { get; set; }
- public string StockRequired { get; set; }
- public string UseVariableValues { get; set; }
- public string MinVariableValue { get; set; }
- public string MaxVariableValue { get; set; }
- public string VariableValueAllowedIncrements { get; set; }
- public string ImageUrl { get; set; }
- public string ImageCaption { get; set; }
- public string CurrentStockBalance { get; set; }
- }
Add Comment
Please, Sign In to add comment