Iyon_Groznyy

Untitled

Oct 5th, 2021
718
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.53 KB | None | 0 0
  1. using Haski.Core.Common;
  2. using Haski.Core.Extensions.Forms;
  3. using Haski.Core.Extensions.MvvmCross;
  4. using Haski.Core.UI.Converters;
  5. using Haski.Core.UI.MvvmCrossBindings;
  6. using Haski.Core.ViewModels.Main.ProjectManager.Items;
  7.  
  8. using Xamarin.Forms;
  9. using Xamarin.Forms.Xaml;
  10.  
  11. namespace Haski.Core.UI.Pages.Main.ProjectManager.Items
  12. {
  13.     [XamlCompilation(XamlCompilationOptions.Compile)]
  14.     public partial class OrderItemComponent : AbsoluteLayout
  15.     {
  16.         private ViewBinder<OrderItemComponentViewModel> _viewBinder;
  17.  
  18.         public OrderItemComponent()
  19.         {
  20.             InitializeComponent();
  21.  
  22.             _viewBinder = this.CreateViewBinder<OrderItemComponentViewModel>(Bind);
  23.         }
  24.  
  25.         protected override void OnBindingContextChanged()
  26.         {
  27.             base.OnBindingContextChanged();
  28.  
  29.             if(BindingContext is not OrderItemComponentViewModel itemViewModel)
  30.             {
  31.                 return;
  32.             }
  33.  
  34.             OrderTitle.Text = itemViewModel.OrderTitle;
  35.             OrderAdress.Text = itemViewModel.OrderAdress;
  36.             Date.Text = itemViewModel.Date;
  37.             PhoneNumber.Text = itemViewModel.PhoneNumber;
  38.  
  39.             if ((bool)itemViewModel.IsPaid)
  40.             {
  41.                 IsPaid.Text = "ОПЛАЧЕННЫЙ";
  42.                 IsPaid.TextColor = Constants.Colors.AvagduGreen;
  43.                 IsPaidFrame.BackgroundColor = Constants.Colors.MistyLawn;
  44.  
  45.             }
  46.             else
  47.             {
  48.                 IsPaid.Text = "НЕОПЛАЧЕННЫЙ";
  49.                 IsPaid.TextColor = Constants.Colors.Bittersweet;
  50.                 IsPaidFrame.BackgroundColor = Constants.Colors.UnburdenedPink;
  51.  
  52.                 if (itemViewModel.IsPaid is null)
  53.                 {
  54.                     IsPaidFrame.IsVisible = false;
  55.                 }
  56.             }
  57.  
  58.             if (Date is null)
  59.             {
  60.                 DateFrame.IsVisible = false;
  61.             }
  62.  
  63.             if (Price is null)
  64.             {
  65.                 PriceFrame.IsVisible = false;
  66.             }
  67.  
  68.             if (PhoneNumber is null)
  69.             {
  70.                 PhoneNumberFrame.IsVisible = false;
  71.             }
  72.  
  73.             OrderTitle.Text = itemViewModel.OrderTitle;
  74.             OrderTitle.Text = itemViewModel.OrderTitle;
  75.         }
  76.  
  77.         private void Bind()
  78.         {
  79.             using var bindingSet = _viewBinder.CreateBindingSet();
  80.  
  81.             bindingSet.Bind(Price).For(v => v.Text).To(vm => vm.Price)
  82.                 .WithConversion<PriceConverter>();
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment