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; } } }
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(); } } }