public void Initialize() { using (var host = new ContainerConfiguration().WithAssembly(Assembly.GetExecutingAssembly()).CreateContainer()) { host.SatisfyImports(this); } int localDataItems = App.Database.GetItemsCountAsync().Result; if (localDataItems == 0) { foreach (var item in DataSources) { var videoSourceItem = new VideoSourceItem { Url = item.Metadata.DefaultUrl, Name = item.Metadata.Name, IsDefaultUrl = true }; App.Database.SaveItemAsync(videoSourceItem); } } VideoSources = new ObservableCollection <VideoSourceItem>(App.Database.GetItemsAsync().Result); var selectedItemIndex = 0; if (Application.Current.Properties.ContainsKey("SelectedItemIndex")) { selectedItemIndex = (int)Application.Current.Properties["SelectedItemIndex"]; } var currentVideoSource = VideoSources[selectedItemIndex]; WebInstance.Url = currentVideoSource.Url; WebInstance.DataSource = WebInstance.DataSources.FirstOrDefault(d => d.Metadata.Name == currentVideoSource.Name).Value; }
public async Task <int> SaveItemAsync(VideoSourceItem item) { var videoSourceItem = Database.Table <VideoSourceItem>().FirstOrDefaultAsync(i => i.Url == item.Url).Result; if (videoSourceItem != null) { return(Database.UpdateAsync(item).Result); } else { return(Database.InsertAsync(item).Result); } }
public Task <int> DeleteItemAsync(VideoSourceItem item) { return(Database.DeleteAsync(item)); }