Ejemplo n.º 1
0
        private void FeedGridView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var item = e.ClickedItem as RssSchema;
            var t    = new Tuple <RssSchema, List <RssSchema> >(item, AllFeeds);
            var text = AppTools.GetChildObject <TextBlock>(sender as FrameworkElement, "TitleBlock");

            ConnectedAnimationService.GetForCurrentView().PrepareToAnimate("ForwardConnectedAnimation", text);
            MainPage.Current.MainFrame.Navigate(typeof(FeedDetailPage), t, new SuppressNavigationTransitionInfo());
        }
Ejemplo n.º 2
0
        private async void ChangeNameButton_Click(object sender, RoutedEventArgs e)
        {
            var    con     = AppTools.GetParentObject <Grid>((FrameworkElement)sender, "GroupItemContainer");
            var    idCon   = AppTools.GetChildObject <TextBlock>(con, "ItemId");
            var    nameCon = AppTools.GetChildObject <TextBox>(con, "GroupItemNameBox");
            string id      = idCon.Text;
            string name    = nameCon.Text.Trim();

            if (!string.IsNullOrEmpty(id))
            {
                // 按钮点击后,先确认新名称是否为空
                if (string.IsNullOrEmpty(name))
                {
                    new PopupMaskTip(AppTools.GetReswLanguage("GroupNameEmpty")).Show();
                    return;
                }
                var item = App.Db.Groups.Where(p => p.GroupId == id).ToList()[0];
                // 再确认新名称是否和当前名称相同,相同就没有改名必要了
                if (item.GroupName != name)
                {
                    // 再判断新名称是否与其他组名重复,重复的话就弹出提示,不同的话就进行名称修改
                    bool isIn = App.Db.Groups.Any(p => p.GroupName.ToLower() == name.ToLower());
                    if (isIn)
                    {
                        new PopupMaskTip(AppTools.GetReswLanguage("GroupNameRepeat")).Show();
                    }
                    else
                    {
                        item.GroupName = name;
                        var images = App.Db.Images.Where(p => p.GroupId == item.GroupId);
                        foreach (var img in images)
                        {
                            img.GroupName = name;
                        }
                        await App.Db.SaveChangesAsync();

                        AppTools.WriteLocalSetting(AppSettings.IsDatabaseChanged, "True");
                        new PopupMaskTip(AppTools.GetReswLanguage("GroupRenameSuccess")).Show();
                        MainPage.Current.GroupCollectionReInit();
                    }
                }
                else
                {
                    return;
                }
            }
        }
Ejemplo n.º 3
0
        private async void RemoveGroupButton_Click(object sender, RoutedEventArgs e)
        {
            // 移除当前组要注意组内是否还有其他的图片,有的话要注意转移
            int GroupCount = GroupCollection.Count;

            if (GroupCount <= 1)
            {
                new PopupMaskTip(AppTools.GetReswLanguage("OnlyOneGroup")).Show();
                return;
            }
            var    con   = AppTools.GetParentObject <Grid>((FrameworkElement)sender, "GroupItemContainer");
            var    idCon = AppTools.GetChildObject <TextBlock>(con, "ItemId");
            string id    = idCon.Text;

            if (!string.IsNullOrEmpty(id))
            {
                var item         = App.Db.Groups.Where(p => p.GroupId == id).ToList()[0];
                var deleteDialog = new TipDialog(AppTools.GetReswLanguage("DeleteGroupTitle"), AppTools.GetReswLanguage("DeleteGroupTip"), AppTools.GetReswLanguage("MoveImage"), AppTools.GetReswLanguage("Delete"));
                var chooseResult = await deleteDialog.ShowAsync();

                if (chooseResult == ContentDialogResult.Primary)
                {
                    // 转移图片
                    int count = App.Db.Images.Where(p => p.GroupId == item.GroupId).Count();
                    if (count > 0)
                    {
                        var groupDialog = new GroupDialog();
                        var groupResult = await groupDialog.ShowAsync();

                        if (groupResult == ContentDialogResult.Primary)
                        {
                            var selectGroup = groupDialog.SelectGroup;
                            if (selectGroup.Equals(item))
                            {
                                new PopupMaskTip(AppTools.GetReswLanguage("Sao")).Show();
                                return;
                            }
                            else
                            {
                                foreach (var img in App.Db.Images)
                                {
                                    if (img.GroupId == item.GroupId)
                                    {
                                        img.GroupId   = selectGroup.GroupId;
                                        img.GroupName = selectGroup.GroupName;
                                    }
                                }
                                App.Db.Groups.Remove(item);
                                await App.Db.SaveChangesAsync();

                                GroupCollection.Remove(item);
                                MainPage.Current.GroupCollectionRemoved(item);
                                MainPage.Current.HistoryInit();
                                AppTools.WriteLocalSetting(AppSettings.IsDatabaseChanged, "True");
                                new PopupMaskTip(AppTools.GetReswLanguage("MoveImageSuccess")).Show();
                                await Task.Delay(800);

                                new PopupMaskTip(AppTools.GetReswLanguage("DeleteGroupSuccess")).Show();
                            }
                        }
                    }
                    else
                    {
                        App.Db.Groups.Remove(item);
                        await App.Db.SaveChangesAsync();

                        new PopupMaskTip(AppTools.GetReswLanguage("DeleteGroupSuccess")).Show();
                    }
                }
                else if (chooseResult == ContentDialogResult.Secondary)
                {
                    // 直接删除分组
                    var images      = App.Db.Images.Where(p => p.GroupId == item.GroupId);
                    var waittingTip = new HoldMaskTip(AppTools.GetReswLanguage("Deleting"));
                    waittingTip.Show();
                    int count = 0;
                    if (images.Count() > 0)
                    {
                        count = await App.OneDriveTools.DeleteImage(images.ToList());
                    }
                    if (count > 0)
                    {
                        App.Db.Images.RemoveRange(images);
                        string msg = AppTools.GetReswLanguage("DeleteImageSuccess").Replace("{count}", count.ToString());
                        new PopupMaskTip(msg).Show();
                    }
                    App.Db.Groups.Remove(item);
                    await App.Db.SaveChangesAsync();

                    waittingTip.Close();
                    GroupCollection.Remove(item);
                    MainPage.Current.GroupCollectionRemoved(item);
                    MainPage.Current.LastestInit();
                    MainPage.Current.HistoryInit();
                    AppTools.WriteLocalSetting(AppSettings.IsDatabaseChanged, "True");
                    await Task.Delay(800);

                    new PopupMaskTip(AppTools.GetReswLanguage("DeleteGroupSuccess")).Show();
                }
            }
        }