public SearchResultItem(JournalItem item)
 {
     this.InitializeComponent();
     this.Tag         = item;
     iImageBox.Source = new BitmapImage(item.ImageUri);
     iTitle.Text      = item.Title;
 }
Пример #2
0
        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="navigationParameter">The parameter value passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested.
        /// </param>
        /// <param name="pageState">A dictionary of state preserved by this page during an earlier
        /// session.  This will be null the first time a page is visited.</param>
        protected override async void LoadState(Object navigationParameter, Dictionary <String, Object> pageState)
        {
            IsEdit = false;
            try
            {
                var item = (JournalItem)navigationParameter;
                iTitle.Text       = item.Title;
                iDesc.Text        = item.Description;
                iGroupName.Text   = item.Groups;
                iBabyImage.Source = new BitmapImage(item.ImageUri);
                IsEdit            = true;
                LastRecord        = new JournalItem
                {
                    ImageUri    = item.ImageUri,
                    Title       = item.Title,
                    Description = item.Description,
                    Groups      = item.Groups,
                };
                string path = item.ImageUri.AbsolutePath;
                ImageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(path.Substring(path.LastIndexOf("/") + 1), CreationCollisionOption.OpenIfExists);

                LastImageFile = ImageFile;
            }
            catch (Exception) { }
        }
Пример #3
0
        async Task _RemoveItem(JournalItem item, bool DeleteImage)
        {
            var GroupItem = Items[item.Groups];
            int t         = GroupItem.Count;

            for (int i = 0; i < t; i++)
            {
                if (GroupItem[i].ImageUri == item.ImageUri)
                {
                    if (DeleteImage)
                    {
                        string path = item.ImageUri.AbsolutePath;
                        await(await ApplicationData.Current.LocalFolder.CreateFileAsync(path.Substring(path.LastIndexOf("/") + 1), CreationCollisionOption.OpenIfExists)).DeleteAsync();
                    }
                    GroupItem.RemoveAt(i);
                    break;
                }
            }
            if (GroupItem.Count > 0)
            {
                Items[item.Groups] = GroupItem;
            }
            else
            {
                StorageFile itemFile = await roamingFolder.CreateFileAsync(item.Groups + ".xml", CreationCollisionOption.ReplaceExisting);

                await itemFile.DeleteAsync();

                Items.Remove(item.Groups);
                RemoveGroup(item.Groups);
            }
        }
Пример #4
0
        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="navigationParameter">The parameter value passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested.
        /// </param>
        /// <param name="pageState">A dictionary of state preserved by this page during an earlier
        /// session.  This will be null the first time a page is visited.</param>
        protected override async void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
        {
            IsEdit = false;
            try
            {
                var item = (JournalItem)navigationParameter;
                iTitle.Text = item.Title;
                iDesc.Text = item.Description;
                iGroupName.Text = item.Groups;
                iBabyImage.Source = new BitmapImage(item.ImageUri);
                IsEdit = true;
                LastRecord = new JournalItem
                {
                    ImageUri = item.ImageUri,
                    Title = item.Title,
                    Description = item.Description,
                    Groups = item.Groups,
                };
                string path = item.ImageUri.AbsolutePath;                
                ImageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(path.Substring(path.LastIndexOf("/") + 1), CreationCollisionOption.OpenIfExists);
                LastImageFile = ImageFile;
            }
            catch (Exception) { }

        }
Пример #5
0
        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="navigationParameter">The parameter value passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested.
        /// </param>
        /// <param name="pageState">A dictionary of state preserved by this page during an earlier
        /// session.  This will be null the first time a page is visited.</param>
        protected override void LoadState(Object navigationParameter, Dictionary <String, Object> pageState)
        {
            JournalItem item = (JournalItem)navigationParameter;

            Init(item);
            EnableLiveTile.CreateLiveTile.ShowliveTile(true, "Baby Journal");
        }
 public SearchResultItem(JournalItem item)
 {
     this.InitializeComponent();
     this.Tag = item;
     iImageBox.Source = new BitmapImage(item.ImageUri);
     iTitle.Text = item.Title;
 }
 public FlipViewItemDetailPage(JournalItem item)
 {
     this.InitializeComponent();
     iImageBox.Source = new BitmapImage(item.ImageUri);
     iImageBox.Tag    = item.ImageUri;
     iTitle.Text      = item.Title;
     iDesc.Text       = item.Description;
 }
 public FlipViewItemDetailPage(JournalItem item)
 {
     this.InitializeComponent();
     iImageBox.Source = new BitmapImage(item.ImageUri);
     iImageBox.Tag = item.ImageUri;
     iTitle.Text = item.Title;
     iDesc.Text = item.Description;
 }
Пример #9
0
 public void AddItem(JournalItem item)
 {
     if (!Items.ContainsKey(item.Groups))
     {
         Items.Add(item.Groups, new List<JournalItem>());
         Groups.Add(item.Groups);
     }
     Items[item.Groups].Add(item);
     AllItems.Add(item);
 }
Пример #10
0
 public void AddItem(JournalItem item)
 {
     if (!Items.ContainsKey(item.Groups))
     {
         Items.Add(item.Groups, new List <JournalItem>());
         Groups.Add(item.Groups);
     }
     Items[item.Groups].Add(item);
     AllItems.Add(item);
 }
        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="navigationParameter">The parameter value passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested.
        /// </param>
        /// <param name="pageState">A dictionary of state preserved by this page during an earlier
        /// session.  This will be null the first time a page is visited.</param>
        protected override void LoadState(Object navigationParameter, Dictionary <String, Object> pageState)
        {
            JournalItem item = (JournalItem)navigationParameter;

            try
            {
                Init(item);
            }
            catch (Exception) { }
            EnableLiveTile.CreateLiveTile.ShowliveTile(true, "My Personal Photos");
            pageTitle.Text = item.Groups;
        }
Пример #12
0
        public async Task MarkFavourite(JournalItem item)
        {
            if (item.IsFavourite)
            {
                return;
            }
            await _RemoveItem(item, false);

            item.IsFavourite = true;
            AddItem(item);
            if (!Favourites.Contains(item))
            {
                Favourites.Add(item);
                WriteData();
            }
        }
Пример #13
0
        public async Task RemoveItem(JournalItem item)
        {
            if (Favourites.Contains(item))
            {
                int t = Favourites.Count;

                for (int i = 0; i < t; i++)
                {
                    if (Favourites[i].ImageUri == item.ImageUri)
                    {
                        Favourites.RemoveAt(i);
                        break;
                    }
                }
            }
            await _RemoveItem(item, true);
        }
Пример #14
0
        void Init(JournalItem sender)
        {
            flipView.Items.Clear();
            int selectedIndex = 0;
            int count = 0;

            foreach (var i in App.AppDataFile.Items[sender.Groups])
            {
                var item = new FlipViewItemDetailPage(i);
                item.Tag = i;
                if (i.ImageUri == sender.ImageUri)
                    selectedIndex = count;
                flipView.Items.Add(item);
                count++;
            }

            try
            {
                flipView.SelectedIndex = selectedIndex;
            }
            catch (Exception) { }
        }
Пример #15
0
        public async Task MarkUnFavourite(JournalItem item)
        {
            if (!item.IsFavourite)
            {
                return;
            }
            await _RemoveItem(item, false);

            item.IsFavourite = false;
            AddItem(item);

            int t = Favourites.Count;

            for (int i = 0; i < t; i++)
            {
                if (Favourites[i].ImageUri == item.ImageUri)
                {
                    Favourites.RemoveAt(i);
                    break;
                }
            }

            WriteData();
        }
        void Init(JournalItem sender)
        {
            flipView.Items.Clear();
            int selectedIndex = 0;
            int count         = 0;

            foreach (var i in App.AppDataFile.Items[sender.Groups])
            {
                var item = new FlipViewItemDetailPage(i);
                item.Tag = i;
                if (i.ImageUri == sender.ImageUri)
                {
                    selectedIndex = count;
                }
                flipView.Items.Add(item);
                count++;
            }

            try
            {
                flipView.SelectedIndex = selectedIndex;
            }
            catch (Exception) { }
        }
Пример #17
0
 public async Task MarkFavourite(JournalItem item)
 {
     if (item.IsFavourite)
         return;
     await _RemoveItem(item, false);
     item.IsFavourite = true;
     AddItem(item);
     if (!Favourites.Contains(item))
     {
         Favourites.Add(item);
         WriteData();
     }
 }
Пример #18
0
        public async Task MarkUnFavourite(JournalItem item)
        {
            if (!item.IsFavourite)
                return;
            await _RemoveItem(item, false);
            item.IsFavourite = false;
            AddItem(item);

            int t = Favourites.Count;

            for (int i = 0; i < t; i++)
            {
                if (Favourites[i].ImageUri == item.ImageUri)
                {
                    Favourites.RemoveAt(i);
                    break;
                }
            }

            WriteData();
        }
Пример #19
0
        public async Task EditItem(JournalItem Old, JournalItem New)
        {
            await _RemoveItem(Old, false);

            AddItem(New);
        }
Пример #20
0
        public async Task RemoveItem(JournalItem item)
        {
            if (Favourites.Contains(item))
            {
                int t = Favourites.Count;

                for (int i = 0; i < t; i++)
                {
                    if (Favourites[i].ImageUri == item.ImageUri)
                    {
                        Favourites.RemoveAt(i);
                        break;
                    }
                }
            }
            await _RemoveItem(item, true);
        }
Пример #21
0
        async void OnSaved(object sender, RoutedEventArgs e)
        {
            if (iBabyImage.Source == null)
            {
                ShowError("Select an Image File first.");
                return;
            }

            if (iGroupName.Text == "")
            {
                ShowError("Specify Group Name.");
                return;
            }

            if (iTitle.Text == "")
            {
                ShowError("Specify Title of Child.");
                return;
            }

            if (iDesc.Text == "")
            {
                ShowError("Specify Description of Child.");
                return;
            }

            if (iGroupName.Text.Length < 3)
            {
                ShowError("Group Name must contain Atleast 3 Characters.");
                return;
            }

            if (iTitle.Text.Length < 3)
            {
                ShowError("Title must contain Atleast 3 Characters.");
                return;
            }

           if (iDesc.Text.Length < 1)
            {
                ShowError("Description must not be empty.");
                return;
            }

            if (IsEdit)
            {
                if (ImageFile.DisplayName != LastImageFile.DisplayName)
                    await LastImageFile.DeleteAsync();
            }
            else
            {
                IReadOnlyList<StorageFile> fileList = await ApplicationData.Current.LocalFolder.GetFilesAsync();
                await ImageFile.RenameAsync(Utils.SuggestFileName(fileList) + ImageFile.FileType);
            }

            JournalItem item = new JournalItem();

            item.Title = iTitle.Text.Trim(' ');
            item.Description = iDesc.Text.Trim(' ');
            item.ImageUri = new Uri(ImageFile.Path);
            item.Groups = iGroupName.Text;

            if (IsEdit)
            {
                item.IsFavourite = LastRecord.IsFavourite;
                await App.AppDataFile.EditItem(LastRecord, item);
            }
            else
            {
                item.IsFavourite = false;
                App.AppDataFile.AddItem(item);
            }

            App.AppDataFile.WriteData();
            this.Frame.Navigate(typeof(GroupedItemsPage));
        }
Пример #22
0
        async Task _RemoveItem(JournalItem item, bool DeleteImage)
        {
            var GroupItem = Items[item.Groups];
            int t = GroupItem.Count;

            for (int i = 0; i < t; i++)
            {
                if (GroupItem[i].ImageUri == item.ImageUri)
                {
                    if (DeleteImage)
                    {
                        string path = item.ImageUri.AbsolutePath;
                        await (await ApplicationData.Current.LocalFolder.CreateFileAsync(path.Substring(path.LastIndexOf("/") + 1), CreationCollisionOption.OpenIfExists)).DeleteAsync();
                    }
                    GroupItem.RemoveAt(i);
                    break;
                }
            }
            if (GroupItem.Count > 0)
                Items[item.Groups] = GroupItem;
            else
            {
                StorageFile itemFile = await roamingFolder.CreateFileAsync(item.Groups + ".xml", CreationCollisionOption.ReplaceExisting);
                await itemFile.DeleteAsync();
                Items.Remove(item.Groups);
                RemoveGroup(item.Groups);
            }
        }
Пример #23
0
 public async Task EditItem(JournalItem Old, JournalItem New)
 {
     await _RemoveItem(Old, false);
     AddItem(New);
 }
Пример #24
0
        async void OnSaved(object sender, RoutedEventArgs e)
        {
            if (iBabyImage.Source == null)
            {
                ShowError("Select an Image File first.");
                return;
            }

            if (iGroupName.Text == "")
            {
                ShowError("Specify Group Name.");
                return;
            }

            if (iTitle.Text == "")
            {
                ShowError("Specify Title of Child.");
                return;
            }

            if (iDesc.Text == "")
            {
                ShowError("Specify Description of Child.");
                return;
            }

            if (iGroupName.Text.Length < 3)
            {
                ShowError("Group Name must contain Atleast 3 Characters.");
                return;
            }

            if (iTitle.Text.Length < 3)
            {
                ShowError("Title must contain Atleast 3 Characters.");
                return;
            }

            if (iDesc.Text.Length < 1)
            {
                ShowError("Description must not be empty.");
                return;
            }

            if (IsEdit)
            {
                if (ImageFile.DisplayName != LastImageFile.DisplayName)
                {
                    await LastImageFile.DeleteAsync();
                }
            }
            else
            {
                IReadOnlyList <StorageFile> fileList = await ApplicationData.Current.LocalFolder.GetFilesAsync();

                await ImageFile.RenameAsync(Utils.SuggestFileName(fileList) + ImageFile.FileType);
            }

            JournalItem item = new JournalItem();

            item.Title       = iTitle.Text.Trim(' ');
            item.Description = iDesc.Text.Trim(' ');
            item.ImageUri    = new Uri(ImageFile.Path);
            item.Groups      = iGroupName.Text;

            if (IsEdit)
            {
                item.IsFavourite = LastRecord.IsFavourite;
                await App.AppDataFile.EditItem(LastRecord, item);
            }
            else
            {
                item.IsFavourite = false;
                App.AppDataFile.AddItem(item);
            }

            App.AppDataFile.WriteData();
            this.Frame.Navigate(typeof(GroupedItemsPage));
        }