예제 #1
0
        private void CreateButton_Clicked(object sender, RoutedEventArgs e)
        {
            if (createButton.Content.ToString() != "Update")
            {
                Models.TodoItem TodoToCreate = new Models.TodoItem(title.Text, details.Text, dueDate.Date, image.Source, ImageFile);
                if (TodoToCreate.TodoInfoValidator())
                {
                    ViewModel.AddTodoItem(TodoToCreate);
                    Frame.Navigate(typeof(MainPage), ViewModel);
                }
            }
            else
            {
                UpdateButton_Clicked(sender, e);
            }
            var db = App.conn;

            try
            {
                using (var TodoItem = db.Prepare("INSERT INTO TodoItems(Title, Description, DueDate) VALUES(?, ?, ?)"))
                {
                    TodoItem.Bind(1, title.Text);
                    TodoItem.Bind(2, details.Text);
                    TodoItem.Bind(3, dueDate.Date.ToString("yyyy-MM-dd HH:mm:ss"));
                    TodoItem.Step();
                }
            }
            catch (Exception ex)
            {
            }
        }
예제 #2
0
        private void CreateButton_Clicked(object sender, RoutedEventArgs e)
        {
            string errorMsg = "";

            if (title.Text == "")
            {
                errorMsg += "Title is empty.\n";
            }
            if (detail.Text == "")
            {
                errorMsg += "Details are empty.\n";
            }
            if (date.Date.CompareTo(DateTime.Today) < 0)
            {
                errorMsg += "Invalid Date.\n";
            }

            if (errorMsg != "")
            {
                var msgDialog = new MessageDialog(errorMsg).ShowAsync();
            }
            if (ViewModel.selected != null)
            {
                ViewModel.UpdateTodoItem("", title.Text, detail.Text, date.Date.Date, SelectedPicUri);
            }
            else
            {
                ViewModel.AddTodoItem(title.Text, detail.Text, date.Date.Date, SelectedPicUri);
            }
            Frame.Navigate(typeof(MainPage), ViewModel);
        }
예제 #3
0
파일: NewPage.xaml.cs 프로젝트: lianqy/UWP
        private async void CreateButton_Clicked(object sender, RoutedEventArgs e)
        {
            if (ViewModel.SelectedItem == null)
            {
                if (title.Text == "" && details.Text == "")
                {
                    MessageDialog msg     = new MessageDialog("标题和细节不能为空!");
                    var           msginfo = await msg.ShowAsync();
                }
                else if (title.Text == "" && details.Text != "")
                {
                    MessageDialog msg     = new MessageDialog("标题不能为空!");
                    var           msginfo = await msg.ShowAsync();
                }
                else if (title.Text != "" && details.Text == "")
                {
                    MessageDialog msg     = new MessageDialog("细节不能为空!");
                    var           msginfo = await msg.ShowAsync();
                }
                else
                {
                    //string title_text = title.Text;
                    // string detail_text = details.Text;

                    var    db  = App.conn;
                    string sql = @"INSERT INTO Todo (date, title, detail, finish) VALUES (?,?,?,?)";
                    using (var res = db.Prepare(sql))
                    {
                        res.Bind(1, MyDate.Date.DateTime.ToString());
                        res.Bind(2, title.Text.Trim());
                        res.Bind(3, details.Text.Trim());
                        res.Bind(4, "false");
                        res.Step();
                    }

                    ViewModel.AddTodoItem(db.LastInsertRowId(), title.Text, details.Text, MyDate.Date.DateTime);
                    title.Text   = "";
                    details.Text = "";
                    Frame.Navigate(typeof(MainPage), ViewModel);
                }
            }
            else
            {
                var    db  = App.conn;
                string sql = @"UPDATE Todo SET date = ?, title = ?, detail = ? WHERE ID = ?";
                using (var res = db.Prepare(sql))
                {
                    res.Bind(1, MyDate.Date.DateTime.ToString());
                    res.Bind(2, title.Text.Trim());
                    res.Bind(3, details.Text.Trim());
                    res.Bind(4, ViewModel.SelectedItem.get_id());
                    res.Step();
                }

                ViewModel.SelectedItem.rewrite_title(title.Text);
                ViewModel.SelectedItem.rewrite_details(details.Text);
                ViewModel.SelectedItem.rewrite_date(MyDate.Date.DateTime);
                Frame.Navigate(typeof(MainPage), ViewModel);
            }
        }
 private void CreateButton_Clicked(object sender, RoutedEventArgs e)
 {
     if (inputtitle2.Text == "")
     {
         var i = new MessageDialog("标题不能为空!").ShowAsync();
     }
     if (inputdetail2.Text == "")
     {
         var i = new MessageDialog("描述不能为空!").ShowAsync();
     }
     if (inputdate2.Date > System.DateTime.Now)
     {
         var i = new MessageDialog("输入的日期不合法!").ShowAsync();
     }
     if (inputtitle2.Text != "" && inputdetail2.Text != "" && inputdate2.Date <= DateTime.Now)
     {
         if (ViewModel.SelectedItem != null)
         {
             ViewModel.UpdateTodoItem("", inputtitle2.Text, inputdetail2.Text, inputdate2.Date.DateTime);
             Frame.Navigate(typeof(MainPage), ViewModel);
         }
         if (createButton.Content.ToString() == "Create" && ViewModel.SelectedItem == null)
         {
             ViewModel.AddTodoItem(inputtitle2.Text, inputdetail2.Text, inputdate2.Date.DateTime);
             Frame.Navigate(typeof(MainPage), ViewModel);
         }
     }
 }
예제 #5
0
 private void CreateButton_Clicked(object sender, RoutedEventArgs e)
 {
     if (createButton.Content.ToString() == "Create")
     {
         DatePicker datePickerFornow = new DatePicker();
         if (title.Text == "")
         {
             var i = new MessageDialog("Title不能为空").ShowAsync();
         }
         else if (details.Text == "")
         {
             var i = new MessageDialog("Detail不能为空").ShowAsync();
         }
         else if (date.Date.Year < datePickerFornow.Date.Year ||
                  (date.Date.Year == datePickerFornow.Date.Year) && (date.Date.Month < datePickerFornow.Date.Month) ||
                  (date.Date.Year == datePickerFornow.Date.Year) && (date.Date.Month == datePickerFornow.Date.Month) && date.Date.Day < datePickerFornow.Date.Day)
         {
             var i = new MessageDialog("日期不正确").ShowAsync();
         }
         else
         {
             ViewModel.AddTodoItem(title.Text.ToString(), details.Text.ToString(), date.Date.DateTime, image.Source);
             ViewModel.SelectedItem = new Models.TodoItem(title.Text, details.Text, date.Date.DateTime, index, image.Source);/*重要*/
             Frame.Navigate(typeof(MainPage), ViewModel);
             var i = new MessageDialog("success!").ShowAsync();
         }
     }
     else
     {
         /*设置newpage里的Update*/
         DatePicker datePickerFornow = new DatePicker();
         if (title.Text == "")
         {
             var i = new MessageDialog("Title不能为空").ShowAsync();
         }
         else if (details.Text == "")
         {
             var i = new MessageDialog("Detail不能为空").ShowAsync();
         }
         else if (date.Date.Year < datePickerFornow.Date.Year ||
                  (date.Date.Year == datePickerFornow.Date.Year) && (date.Date.Month < datePickerFornow.Date.Month) ||
                  (date.Date.Year == datePickerFornow.Date.Year) && (date.Date.Month == datePickerFornow.Date.Month) && date.Date.Day < datePickerFornow.Date.Day)
         {
             var i = new MessageDialog("日期不正确").ShowAsync();
         }
         else
         {
             ViewModel.SelectedItem.title       = title.Text;
             ViewModel.SelectedItem.description = details.Text;
             ViewModel.SelectedItem.date        = date.Date.Date;
             ViewModel.SelectedItem.imagesource = image.Source;
             ViewModel.SelectedItem.completed   = true;
             Frame.Navigate(typeof(MainPage), ViewModel);
             var i = new MessageDialog("success!").ShowAsync();
         }
     }
 }
예제 #6
0
 private void CreateButton_Clicked(object sender, RoutedEventArgs e)
 {
     if (createButton.Content.ToString() != "Update")
     {
         Models.TodoItem TodoToCreate = new Models.TodoItem(title.Text, details.Text, dueDate.Date, image.Source, ImageFile);
         if (TodoToCreate.TodoInfoValidator())
         {
             ViewModel.AddTodoItem(TodoToCreate);
             Frame.Navigate(typeof(MainPage), ViewModel);
         }
     }
     else
     {
         UpdateButton_Clicked(sender, e);
     }
 }
예제 #7
0
 private void CreateButton_Clicked(object sender, RoutedEventArgs e)
 {
     if (inputtitle2.Text == "")
     {
         var i = new MessageDialog("标题不能为空!").ShowAsync();
     }
     if (inputdetail2.Text == "")
     {
         var i = new MessageDialog("描述不能为空!").ShowAsync();
     }
     if (inputdate2.Date > System.DateTime.Now)
     {
         var i = new MessageDialog("输入的日期不合法!").ShowAsync();
     }
     if (inputtitle2.Text != "" && inputdetail2.Text != "" && inputdate2.Date <= DateTime.Now)
     {
         if (ViewModel.SelectedItem != null)
         {
             var db = App.conn;
             using (var updatedata = db.Prepare("UPDATE Message SET Title = ?, Description = ?, Time = ? WHERE Id = ?"))
             {
                 updatedata.Bind(1, inputtitle2.Text);
                 updatedata.Bind(2, inputdetail2.Text);
                 updatedata.Bind(3, Convert.ToString(inputdate2.Date.DateTime));
                 updatedata.Bind(4, ViewModel.SelectedItem.id);
                 updatedata.Step();
             }
             ViewModel.UpdateTodoItem(ViewModel.SelectedItem.id, inputtitle2.Text, inputdetail2.Text, inputdate2.Date.DateTime);
             Frame.Navigate(typeof(MainPage), ViewModel);
         }
         if (createButton.Content.ToString() == "Create" && ViewModel.SelectedItem == null)
         {
             var db = App.conn;
             using (var insertdata = db.Prepare("INSERT INTO Message(Title, Description, Time) VALUES(?, ?, ?)"))
             {
                 insertdata.Bind(1, inputtitle2.Text);
                 insertdata.Bind(2, inputdetail2.Text);
                 insertdata.Bind(3, Convert.ToString(inputdate2.Date.DateTime));
                 insertdata.Step();
             }
             ViewModel.AddTodoItem(ViewModel.AllItems.Count + 1, inputtitle2.Text, inputdetail2.Text, inputdate2.Date.DateTime);
             Frame.Navigate(typeof(MainPage), ViewModel);
         }
     }
 }
예제 #8
0
        //点击create按钮时,检查Title、Description是否为空,DueDate是否正确
        private async void createOrUpdateItem(object sender, RoutedEventArgs e)
        {
            //获取DatePicker的时间
            string str1 = datepicker.Date.ToString("yyyy-MM-dd");
            //获取当前时间
            string str2 = DateTime.Now.Date.ToString("yyyy-MM-dd");
            var    dateCompareResult = string.Compare(str1, str2);
            string alert             = "";

            if (Title.Text == "")
            {
                alert += "Title can't be empty!\n";
            }
            if (Details.Text == "")
            {
                alert += "Detail can't be empty!\n";
            }
            if (dateCompareResult < 0)
            {
                alert += "The date is illegal!\n";
            }
            if (alert != "")
            {
                var i = new MessageDialog(alert).ShowAsync();
            }
            else
            {
                if (createOrUpdateButton.Content.ToString() == "Create")
                {
                    ViewModel.AddTodoItem(ViewModel.AllItems.Count, datepicker.Date.DateTime, myImage.Source, Title.Text, Details.Text);
                    insertToDb(ViewModel.AllItems.Count, Title.Text, Details.Text, datepicker.Date.ToString());
                    await new MessageDialog("Create successfully!").ShowAsync();
                    ViewModel.SelectedItem = null;
                    Frame.Navigate(typeof(MainPage), ViewModel);
                }
                else
                {
                    updateDb(ViewModel.SelectedItem.id, Title.Text, Details.Text, datepicker.Date.ToString());
                    ViewModel.UpdateTodoItem(datepicker.Date.DateTime, myImage.Source, Title.Text, Details.Text);
                    await new MessageDialog("Update successfully!").ShowAsync();
                    ViewModel.SelectedItem = null;
                    Frame.Navigate(typeof(MainPage), ViewModel);
                }
            }
        }
예제 #9
0
        private async void CreateClick(object sender, RoutedEventArgs e)
        {
            var dialog = new ContentDialog()
            {
                Title             = "提示信息",
                PrimaryButtonText = "确定"
            };

            if (textTitle.Text == "")
            {
                dialog.Content = "标题不能为空";
                await dialog.ShowAsync();
            }
            else if (textDetail.Text == "")
            {
                dialog.Content = "内容主体不能为空";
                await dialog.ShowAsync();
            }
            else if (DueDate.Date < DateTimeOffset.Now)
            {
                dialog.Content = "日期不正确";
                await dialog.ShowAsync();
            }
            else
            {
                if (imageFile != null)
                {
                    string        imageName    = imageFile.Name;
                    StorageFolder localFolder  = ApplicationData.Current.LocalFolder;
                    StorageFile   newImageFile = await imageFile.CopyAsync(localFolder, imageName, NameCollisionOption.ReplaceExisting);

                    imauri = new Uri(newImageFile.Path);
                }

                ViewModel.AddTodoItem(textTitle.Text, textDetail.Text, DueDate.Date, MyImage.Source as BitmapImage, imauri);
                textTitle.Text  = "";
                textDetail.Text = "";
                DueDate.Date    = DateTimeOffset.Now;
                Frame.Navigate(typeof(MainPage));
            }
        }
예제 #10
0
파일: NewPage.xaml.cs 프로젝트: lianqy/UWP
 private async void CreateButton_Clicked(object sender, RoutedEventArgs e)
 {
     if (ViewModel.SelectedItem == null)
     {
         if (title.Text == "" && details.Text == "")
         {
             MessageDialog msg     = new MessageDialog("标题和细节不能为空!");
             var           msginfo = await msg.ShowAsync();
         }
         else if (title.Text == "" && details.Text != "")
         {
             MessageDialog msg     = new MessageDialog("标题不能为空!");
             var           msginfo = await msg.ShowAsync();
         }
         else if (title.Text != "" && details.Text == "")
         {
             MessageDialog msg     = new MessageDialog("细节不能为空!");
             var           msginfo = await msg.ShowAsync();
         }
         else
         {
             string title_text  = title.Text;
             string detail_text = details.Text;
             ViewModel.AddTodoItem(title_text, detail_text, MyDate.Date.DateTime);
             title.Text   = "";
             details.Text = "";
             Frame.Navigate(typeof(MainPage), ViewModel);
         }
     }
     else
     {
         ViewModel.SelectedItem.rewrite_title(title.Text);
         ViewModel.SelectedItem.rewrite_details(details.Text);
         ViewModel.SelectedItem.rewrite_date(MyDate.Date.DateTime);
         Frame.Navigate(typeof(MainPage), ViewModel);
     }
 }
예제 #11
0
 private void CreateButton_Clicked(object sender, RoutedEventArgs e)
 {
     if (createButton.Content.ToString() == "Create")
     {
         DatePicker datePickerFornow = new DatePicker();
         if (title.Text == "")
         {
             var i = new MessageDialog("Title不能为空").ShowAsync();
         }
         else if (details.Text == "")
         {
             var i = new MessageDialog("Detail不能为空").ShowAsync();
         }
         else if (date.Date.Year < datePickerFornow.Date.Year ||
                  (date.Date.Year == datePickerFornow.Date.Year) && (date.Date.Month < datePickerFornow.Date.Month) ||
                  (date.Date.Year == datePickerFornow.Date.Year) && (date.Date.Month == datePickerFornow.Date.Month) && date.Date.Day < datePickerFornow.Date.Day)
         {
             var i = new MessageDialog("日期不正确").ShowAsync();
         }
         else
         {
             ViewModel.AddTodoItem(title.Text.ToString(), details.Text.ToString(), date.Date.ToString(), image.Source);
             ViewModel.SelectedItem = new Models.TodoItem(title.Text, details.Text, date.Date.ToString(), index, image.Source);/*重要*/
             Frame.Navigate(typeof(MainPage), ViewModel);
             var db = App.conn;
             using (var custstmt = db.Prepare("INSERT INTO TodoItem (Title, Details, Date) VALUES(?,?,?)"))
             {
                 custstmt.Bind(1, title.Text);
                 custstmt.Bind(2, details.Text);
                 custstmt.Bind(3, date.Date.ToString());
                 custstmt.Step();
             }
             var db2 = App.conn;
             using (var statement = db2.Prepare("SELECT Id, Title, Details, Date FROM TodoItem WHERE Title= ? AND Details= ? AND Date= ?"))
             {
                 statement.Bind(1, title.Text);
                 statement.Bind(2, details.Text);
                 statement.Bind(3, date.Date.ToString());
                 while (SQLiteResult.ROW == statement.Step())
                 {
                     TodoItem mydataitem = new TodoItem((long)statement[0], (string)statement[1], (string)statement[2], (string)statement[3]);
                     ViewModel.SelectedItem.ID = mydataitem.ID;
                 }
             }
             var i = new MessageDialog("Id为" + ViewModel.SelectedItem.ID.ToString() + "的item创建成功!").ShowAsync();
         }
     }
     else
     {
         /*设置newpage里的Update*/
         DatePicker datePickerFornow = new DatePicker();
         if (title.Text == "")
         {
             var i = new MessageDialog("Title不能为空").ShowAsync();
         }
         else if (details.Text == "")
         {
             var i = new MessageDialog("Detail不能为空").ShowAsync();
         }
         else if (date.Date.Year < datePickerFornow.Date.Year ||
                  (date.Date.Year == datePickerFornow.Date.Year) && (date.Date.Month < datePickerFornow.Date.Month) ||
                  (date.Date.Year == datePickerFornow.Date.Year) && (date.Date.Month == datePickerFornow.Date.Month) && date.Date.Day < datePickerFornow.Date.Day)
         {
             var i = new MessageDialog("日期不正确").ShowAsync();
         }
         else
         {
             /*先找出要update的item,主要是为了获取它的ID,赋值给ViewModel.SelectedItem.ID*/
             var db2 = App.conn;
             using (var statement = db2.Prepare("SELECT Id, Title, Details, Date FROM TodoItem WHERE Title= ? AND Details= ? AND Date= ?"))
             {
                 statement.Bind(1, ViewModel.SelectedItem.title);
                 statement.Bind(2, ViewModel.SelectedItem.description);
                 statement.Bind(3, ViewModel.SelectedItem.date);
                 while (SQLiteResult.ROW == statement.Step())
                 {
                     TodoItem mydataitem = new TodoItem((long)statement[0], (string)statement[1], (string)statement[2], (string)statement[3]);
                     ViewModel.SelectedItem.ID = mydataitem.ID;
                 }
             }
             ViewModel.SelectedItem.title       = title.Text;
             ViewModel.SelectedItem.description = details.Text;
             ViewModel.SelectedItem.date        = date.Date.ToString();
             ViewModel.SelectedItem.imagesource = image.Source;
             ViewModel.SelectedItem.completed   = true;
             Frame.Navigate(typeof(MainPage), ViewModel);
             var db = App.conn;
             using (var custstmt = db.Prepare("UPDATE TodoItem SET Title= ?, Details= ?, Date= ? WHERE Id= ?"))
             {
                 custstmt.Bind(1, ViewModel.SelectedItem.title);
                 custstmt.Bind(2, ViewModel.SelectedItem.description);
                 custstmt.Bind(3, ViewModel.SelectedItem.date);
                 custstmt.Bind(4, ViewModel.SelectedItem.ID);/*根据ID找到对应的item*/
                 custstmt.Step();
             }
             var i = new MessageDialog("Id为" + ViewModel.SelectedItem.ID.ToString() + "的item更新成功!").ShowAsync();
         }
     }
 }
예제 #12
0
        private async void CUButton_Click(object sender, RoutedEventArgs e)
        {
            if (title.Text == "")
            {
                var i = new MessageDialog("Title Empty!").ShowAsync();
                return;
            }
            if (detail.Text == "")
            {
                var i = new MessageDialog("Detail Empty!").ShowAsync();
                return;
            }
            if (date.Date.Date < DateTime.Today.Date)
            {
                var i = new MessageDialog("Invalid Date!").ShowAsync();
                return;
            }
            WriteableBitmap defaultimage = null;
            StorageFile     file         = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/background.jpg"));

            if (file != null)
            {
                using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
                {
                    BitmapDecoder bitmapDecoder = await BitmapDecoder.CreateAsync(fileStream);

                    BitmapTransform   dummyTransform    = new BitmapTransform();
                    PixelDataProvider pixelDataProvider =
                        await bitmapDecoder.GetPixelDataAsync(BitmapPixelFormat.Bgra8,
                                                              BitmapAlphaMode.Premultiplied, dummyTransform,
                                                              ExifOrientationMode.RespectExifOrientation,
                                                              ColorManagementMode.ColorManageToSRgb);

                    byte[] pixelData = pixelDataProvider.DetachPixelData();

                    defaultimage = new WriteableBitmap(
                        (int)bitmapDecoder.OrientedPixelWidth,
                        (int)bitmapDecoder.OrientedPixelHeight);
                    using (Stream pixelStream = defaultimage.PixelBuffer.AsStream())
                    {
                        await pixelStream.WriteAsync(pixelData, 0, pixelData.Length);
                    }
                }
            }
            if (CUButton.Content.ToString() == "Create")
            {
                if (writeableBitmap == null)
                {
                    ViewModel.AddTodoItem(title.Text, detail.Text, defaultimage, date.Date.DateTime);
                    ViewModel.AllItems.Last().imageFile = file;
                }
                else
                {
                    ViewModel.AddTodoItem(title.Text, detail.Text, writeableBitmap, date.Date.DateTime);
                    ViewModel.AllItems.Last().imageFile = imageFile;
                }
            }
            else
            {
                if (writeableBitmap == null)
                {
                    ViewModel.SelectedItem.imageFile = file;
                    ViewModel.UpdateTodoItem(ViewModel.SelectedItem.id, title.Text, detail.Text, defaultimage, date.Date.DateTime);
                }
                else
                {
                    ViewModel.SelectedItem.imageFile = imageFile;
                    ViewModel.UpdateTodoItem(ViewModel.SelectedItem.id, title.Text, detail.Text, writeableBitmap, date.Date.DateTime);
                }
            }
            Frame.Navigate(typeof(MainPage), ViewModel);
        }