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"); }
public ListPage(OdorViewModel OdorViewModel) { InitializeComponent(); BindingContext = OdorViewModel; }