diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/CarouselViewChallenge.Android.csproj b/CarouselViewChallenge/CarouselViewChallenge.Android/CarouselViewChallenge.Android.csproj index 82e6221..27b5a3b 100644 --- a/CarouselViewChallenge/CarouselViewChallenge.Android/CarouselViewChallenge.Android.csproj +++ b/CarouselViewChallenge/CarouselViewChallenge.Android/CarouselViewChallenge.Android.csproj @@ -100,5 +100,35 @@ CarouselViewChallenge + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons1.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons1.jpg new file mode 100644 index 0000000..f9b4655 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons1.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons10.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons10.jpg new file mode 100644 index 0000000..882122d Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons10.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons2.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons2.jpg new file mode 100644 index 0000000..148d3fc Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons2.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons3.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons3.jpg new file mode 100644 index 0000000..40ffe15 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons3.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons4.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons4.jpg new file mode 100644 index 0000000..47ecdb8 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons4.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons5.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons5.jpg new file mode 100644 index 0000000..7a8556e Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons5.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons6.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons6.jpg new file mode 100644 index 0000000..8536988 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons6.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons7.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons7.jpg new file mode 100644 index 0000000..3306931 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons7.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons8.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons8.jpg new file mode 100644 index 0000000..8bb09ee Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons8.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons9.jpg b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons9.jpg new file mode 100644 index 0000000..4e21575 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.Android/Resources/drawable/Safety_logo_icons9.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/CarouselViewChallenge.iOS.csproj b/CarouselViewChallenge/CarouselViewChallenge.iOS/CarouselViewChallenge.iOS.csproj index 155cd56..2ef875e 100644 --- a/CarouselViewChallenge/CarouselViewChallenge.iOS/CarouselViewChallenge.iOS.csproj +++ b/CarouselViewChallenge/CarouselViewChallenge.iOS/CarouselViewChallenge.iOS.csproj @@ -139,4 +139,34 @@ CarouselViewChallenge + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons1.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons1.jpg new file mode 100644 index 0000000..f9b4655 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons1.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons10.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons10.jpg new file mode 100644 index 0000000..882122d Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons10.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons2.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons2.jpg new file mode 100644 index 0000000..148d3fc Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons2.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons3.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons3.jpg new file mode 100644 index 0000000..40ffe15 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons3.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons4.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons4.jpg new file mode 100644 index 0000000..47ecdb8 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons4.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons5.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons5.jpg new file mode 100644 index 0000000..7a8556e Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons5.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons6.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons6.jpg new file mode 100644 index 0000000..8536988 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons6.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons7.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons7.jpg new file mode 100644 index 0000000..3306931 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons7.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons8.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons8.jpg new file mode 100644 index 0000000..8bb09ee Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons8.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons9.jpg b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons9.jpg new file mode 100644 index 0000000..4e21575 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge.iOS/Resources/Safety_logo_icons9.jpg differ diff --git a/CarouselViewChallenge/CarouselViewChallenge/CarouselViewChallenge.csproj b/CarouselViewChallenge/CarouselViewChallenge/CarouselViewChallenge.csproj index 198ec7f..b7b92aa 100644 --- a/CarouselViewChallenge/CarouselViewChallenge/CarouselViewChallenge.csproj +++ b/CarouselViewChallenge/CarouselViewChallenge/CarouselViewChallenge.csproj @@ -1,4 +1,4 @@ - + netstandard2.0 diff --git a/CarouselViewChallenge/CarouselViewChallenge/ViewModels/CarouselViewChallengeViewModel.cs b/CarouselViewChallenge/CarouselViewChallenge/ViewModels/CarouselViewChallengeViewModel.cs new file mode 100644 index 0000000..bf2b23e --- /dev/null +++ b/CarouselViewChallenge/CarouselViewChallenge/ViewModels/CarouselViewChallengeViewModel.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Text; +using Xamarin.Forms; + +namespace CarouselViewChallenge.ViewModels +{ + public class CarouselViewChallengeViewModel : INotifyPropertyChanged + { + public event PropertyChangedEventHandler PropertyChanged; + + private ObservableCollection _cards; + public ObservableCollection Cards + { + get + { + return _cards; + } + set + { + if (_cards != value) + { + _cards = value; + OnPropertyChanged(new PropertyChangedEventArgs("Cards")); + } + } + } + + private void OnPropertyChanged(PropertyChangedEventArgs eventArgs) + { + PropertyChanged?.Invoke(this, eventArgs); + } + + } + + public class LsrDetails + { + public string Icon { get; set; } + public string Description { get; set; } + + } + + public class LsrHeader + { + public string Header { get; set; } + public List CardDetails { get; set; } + } +} \ No newline at end of file diff --git a/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml b/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml index 1a7cc0d..3cb0ee8 100644 --- a/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml +++ b/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml @@ -6,8 +6,67 @@ mc:Ignorable="d" x:Class="CarouselViewChallenge.Views.CarouselViewChallengePage"> - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml.cs b/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml.cs index 38f2e9f..6355d49 100644 --- a/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml.cs +++ b/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml.cs @@ -1,9 +1,11 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; +using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; - +using CarouselViewChallenge.ViewModels; using Xamarin.Forms; using Xamarin.Forms.Xaml; @@ -12,9 +14,113 @@ namespace CarouselViewChallenge.Views [XamlCompilation(XamlCompilationOptions.Compile)] public partial class CarouselViewChallengePage : ContentPage { + public CarouselViewChallengeViewModel _viewModel { get; set; } public CarouselViewChallengePage() { InitializeComponent(); + _viewModel = new CarouselViewChallengeViewModel(); + + SetUpData(); + + BindingContext = _viewModel; + } + + private void SetUpData() + { + _viewModel.Cards = new ObservableCollection + { + new LsrHeader() + { + Header = "Working Responsibly", + CardDetails = new List + { + new LsrDetails + { + Description = + "Always be sure the required plans and permits are in place, before you start a job or go on or near the line.", + Icon = "Safety_logo_icons1.jpg" + }, + new LsrDetails + { + Description = "Always use equipment that is fit for its intended purpose.", + Icon = "Safety_logo_icons2.jpg" + }, + new LsrDetails + { + Description = "Never undertake any job unless you have been trained and assessed as competent.", + Icon = "Safety_logo_icons3.jpg" + }, + new LsrDetails + { + Description = "Never work or drive while under the influence of drugs or alcohol.", + Icon = "Safety_logo_icons4.jpg" + }, + + } + }, + new LsrHeader() + { + Header = "Driving", + CardDetails = new List + { + new LsrDetails + { + Description = + "Never use a hand-held or hands-free phone, or programme any other mobile device, while driving.", + Icon = "Safety_logo_icons5.jpg" + }, + new LsrDetails + { + Description = "Always obey the speed limit and wear a seat belt.", + Icon = "Safety_logo_icons6.jpg" + } + } + }, + new LsrHeader + { + Header = "Working with Electricity", + CardDetails = new List + { + new LsrDetails + { + Description = "Always test before applying earths or straps.", + Icon = "Safety_logo_icons7.jpg" + }, + new LsrDetails + { + Description = "Never assume equipment is isolated – always test before touch. ", + Icon = "Safety_logo_icons8.jpg" + } + } + }, + new LsrHeader + { + Header = "Working at height", + CardDetails = new List + { + new LsrDetails + { + Description = "Always use a safety harness when working at height, unless other protection is in place.", + Icon = "Safety_logo_icons9.jpg" + } + } + }, + new LsrHeader + { + Header = "Working with moving equipment", + CardDetails = new List + { + new LsrDetails + { + Description = "Never enter the agreed exclusion zone, unless directed to by the person in charge.", + Icon = "Safety_logo_icons10.jpg" + } + } + } + }; } + } + + } \ No newline at end of file