Exemple #1
0
 public MenuPage()
 {
     InitializeComponent();
     this.OdorViewModel = new OdorViewModel();
     BindingContext     = this.UserViewModel = new UserViewModel();
     Detail             = new NavigationPage(new MasterPage());
     MessagingCenter.Subscribe <string, string>(this, "Message", async(Title, Message) =>
     {
         await DisplayAlert(Title, Message, "Ok");
     });
     MessagingCenter.Subscribe <string>(this, "Odor", async(Id) =>
     {
         if (string.IsNullOrEmpty(this.UserViewModel.User.Id))
         {
             await Detail.Navigation.PushAsync(new UserPage(this.UserViewModel.User));
         }
         else
         {
             await Detail.Navigation.PushAsync(
                 new OdorPage(
                     this.OdorViewModel.Odors.Where(element => element.Id.Equals(Id)).FirstOrDefault() ??
                     new Models.Odor
             {
                 UserId     = this.UserViewModel.User.Id,
                 UserName   = this.UserViewModel.User.Name,
                 UserType   = string.Empty,
                 UserOrigin = string.Empty,
                 Intensity  = ConfigurationManager.Configuration.OdorIntensity,
                 Nuisance   = ConfigurationManager.Configuration.OdorNuisance,
                 Type       = ConfigurationManager.Configuration.OdorType,
                 Origin     = ConfigurationManager.Configuration.OdorOrigin,
                 Latitude   = this.UserViewModel.User.Latitude,
                 Longitude  = this.UserViewModel.User.Longitude,
                 Address    = (string.IsNullOrWhiteSpace(this.UserViewModel.User.Address))
                                     ? ConfigurationManager.Configuration.OdorAddress
                                     : this.UserViewModel.User.Address,
                 Date  = DateTime.Today,
                 Begin = DateTime.Now.TimeOfDay,
                 End   = DateTime.Now.TimeOfDay
             })
                 );
         }
         IsPresented = false;
     });
     MessagingCenter.Subscribe <string>(this, "User", async(Id) =>
     {
         if (string.IsNullOrEmpty(Id))
         {
             await Detail.Navigation.PushAsync(new UserPage(this.UserViewModel.User));
             IsPresented = false;
         }
         else
         {
             if (this.OdorViewModel.Odors.Count == 0)
             {
                 MessagingCenter.Send(Id, "QueryOdor");
             }
         }
     });
     MessagingCenter.Send(string.Empty, "GetUser");
 }
Exemple #2
0
 public ListPage(OdorViewModel OdorViewModel)
 {
     InitializeComponent();
     BindingContext = OdorViewModel;
 }