private void CreateButtonClicked(object sender, RoutedEventArgs e) { var messageContent = ""; if (title.Text == "") { messageContent += "Title cannot be empty!"; } if (details.Text == "") { messageContent += "\nDescription cannot be empty!"; } if (DueDate.Date < DateTime.Today) { messageContent += "\nDue Date is illegal!"; } if (messageContent != "") { MessageDialog errorMessage = new MessageDialog(messageContent); var result = errorMessage.ShowAsync(); } else { var str = (String)createButton.Content; if (str == "Create") { MessageDialog errorMessage = new MessageDialog("Item created successfully!\n"); var result = errorMessage.ShowAsync(); ImageSource defaultUrl = itemImage.Source; ViewModel.AddTodoItem(title.Text, details.Text, DueDate.Date.DateTime, defaultUrl); Frame.Navigate(typeof(MainPage)); } else { MessageDialog errorMessage = new MessageDialog("Item updated successfully!\n"); var result = errorMessage.ShowAsync(); ImageSource defaultUrl = itemImage.Source; ViewModel.UpdateTodoItem(title.Text, details.Text, DueDate.Date.DateTime, defaultUrl); Frame.Navigate(typeof(MainPage)); } ViewModel.UpdateTile(); } }
private async void Button_Create(object sender, RoutedEventArgs e) { bool isDateValid = true; var errorMsg = ""; //验证DueDate是否正确(是否大于或等于当前日期) if (DueDate.Date.Year < DateTime.Now.Year) { isDateValid = false; } else if (DueDate.Date.Year == DateTime.Now.Year) { if (DueDate.Date.Month < DateTime.Now.Month) { isDateValid = false; } else if (DueDate.Date.Month == DateTime.Now.Month) { if (DueDate.Date.Day < DateTime.Now.Day) { isDateValid = false; } } } if (TitleBox.Text == "" || DetailBox.Text == "" || isDateValid == false) { if (TitleBox.Text == "") { errorMsg += "Title can't be empty!\n"; } if (DetailBox.Text == "") { errorMsg += "Detail can't be empty!\n"; } if (isDateValid == false) { errorMsg += "The due date has passed!\n"; } // Create the message dialog and set its content var messageDialog = new MessageDialog(errorMsg); // Add commands and set their callbacks; both buttons use the same callback function instead of inline event handlers messageDialog.Commands.Add(new UICommand("关闭")); // Show the message dialog await messageDialog.ShowAsync(); return; } var Msg = ""; if (Create_btn.Content as string == "Create") { Random ran = new Random(); int idInDB = ran.Next(); while (!ViewModel.IsIdInDataBaseUnique(idInDB)) { idInDB = ran.Next(); } ViewModel.AddTodoItem(TitleBox.Text, DetailBox.Text, DueDate.Date.DateTime, Img.Source, idInDB); // 向数据库添加Item var db = App.conn; using (var ListItem = db.Prepare(App.SQL_INSERT)) { ListItem.Bind(1, TitleBox.Text); ListItem.Bind(2, DetailBox.Text); ListItem.Bind(3, DueDate.Date.ToString("yyyy-MM-dd HH:mm:ss")); ListItem.Bind(4, "false"); ListItem.Bind(5, ((BitmapImage)Img.Source).UriSource.ToString()); ListItem.Bind(6, idInDB); ListItem.Step(); } Msg = "Create successfully!"; } else { var db = App.conn; using (var ListItem = db.Prepare(App.SQL_UPDATE)) { ListItem.Bind(1, TitleBox.Text); ListItem.Bind(2, DetailBox.Text); ListItem.Bind(3, DueDate.Date.ToString("yyyy-MM-dd HH:mm:ss")); ListItem.Bind(4, ViewModel.SelectedItem.completed.ToString()); ListItem.Bind(5, ((BitmapImage)Img.Source).UriSource.ToString()); ListItem.Bind(6, ViewModel.SelectedItem.idInDatabase); ListItem.Step(); } ViewModel.UpdateTodoItem(ViewModel.SelectedItem.id, TitleBox.Text, DetailBox.Text, DueDate.Date.DateTime, Img.Source); Msg = "Update successfully!"; } PanelReset(); Frame rootFrame = Window.Current.Content as Frame; if (rootFrame != null) { rootFrame.GoBack(); } //弹出窗口 var MsgDialog = new MessageDialog(Msg); MsgDialog.Commands.Add(new UICommand("关闭")); await MsgDialog.ShowAsync(); }
private async void Button_Create(object sender, RoutedEventArgs e) { if (TitleBox.Text == "" || DetailBox.Text == "" || !IsDateValid()) { var errorMsg = ""; if (TitleBox.Text == "") { errorMsg += "Title can't be empty!\n"; } if (DetailBox.Text == "") { errorMsg += "Detail can't be empty!\n"; } if (!IsDateValid()) { errorMsg += "The due date has passed!\n"; } // Create the message dialog and set its content var messageDialog = new MessageDialog(errorMsg); // Add commands and set their callbacks; both buttons use the same callback function instead of inline event handlers messageDialog.Commands.Add(new UICommand("关闭")); // Show the message dialog await messageDialog.ShowAsync(); return; } if (ViewModel.SelectedItem == null) { Random ran = new Random(); int idInDB = ran.Next(); while (!ViewModel.IsIdInDataBaseUnique(idInDB)) { idInDB = ran.Next(); } ViewModel.AddTodoItem(TitleBox.Text, DetailBox.Text, DueDate.Date.DateTime, Img.Source, idInDB); // 向数据库添加Item var db = App.conn; using (var ListItem = db.Prepare(App.SQL_INSERT)) { ListItem.Bind(1, TitleBox.Text); ListItem.Bind(2, DetailBox.Text); ListItem.Bind(3, DueDate.Date.ToString("yyyy-MM-dd HH:mm:ss")); ListItem.Bind(4, "false"); ListItem.Bind(5, ((BitmapImage)Img.Source).UriSource.ToString()); ListItem.Bind(6, idInDB); ListItem.Step(); } PanelReset(); //弹出窗口 var messageDialog = new MessageDialog("Create successfully!"); messageDialog.Commands.Add(new UICommand("关闭")); await messageDialog.ShowAsync(); } else { var db = App.conn; using (var ListItem = db.Prepare(App.SQL_UPDATE)) { ListItem.Bind(1, TitleBox.Text); ListItem.Bind(2, DetailBox.Text); ListItem.Bind(3, DueDate.Date.ToString("yyyy-MM-dd HH:mm:ss")); ListItem.Bind(4, ViewModel.SelectedItem.completed.ToString()); ListItem.Bind(5, ((BitmapImage)Img.Source).UriSource.ToString()); ListItem.Bind(6, ViewModel.SelectedItem.idInDatabase); ListItem.Step(); } ViewModel.UpdateTodoItem(ViewModel.SelectedItem.id, TitleBox.Text, DetailBox.Text, DueDate.Date.DateTime, Img.Source); //重置界面 PanelReset(); //刷新(方法是导航到自身界面,然后再返回) Frame.Navigate(typeof(MainPage)); Frame rootFrame = Window.Current.Content as Frame; if (rootFrame != null) { rootFrame.GoBack(); } //弹出窗口 var messageDialog = new MessageDialog("Update successfully!"); messageDialog.Commands.Add(new UICommand("关闭")); await messageDialog.ShowAsync(); } UpdateTile(); }