private void MainList_SelectionChanged(object sender, SelectionChangedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; if (context.MainSig != null) { ReadSubSignature(context.MainSig.Id); if (!IsEdit) { preContext.Signature1 = context.MainSig.Name; preContext.Signature2 = string.Empty; } else { ClearEntries(context, "Name", "Info"); context.IsSubSig = false; context.CurrentId = context.MainSig.Id; context.ParentId = context.MainSig.Id; context.Name = context.MainSig.Name; context.Info = context.MainSig.Info; // change to edit label for main signature EditLabel(context, sub: false); } } }
private void ReadSignature() { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; context.Signatures.Clear(); SqlMethods.SqlConnect(out SQLiteConnection con); SQLiteCommand selectCommand = con.CreateCommand(); selectCommand.CommandText = "SELECT SignatureId, Signature, Info FROM Signatures WHERE ParentId IS NULL ORDER BY Signature"; SQLiteDataReader r = selectCommand.ExecuteReader(); while (r.Read()) { Signature sig = new Signature(); int resultNum; int.TryParse(Convert.ToString(r["SignatureId"]), out resultNum); sig.Id = resultNum; sig.Name = Convert.ToString(r["Signature"]); sig.Info = Convert.ToString(r["Info"]); if (!sig.Name.Equals(sig.Info)) { context.Signatures.Add(sig); } } r.Close(); con.Close(); }
private void ReadSubSignature(int SignatureId) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; context.SubSignatures.Clear(); SqlMethods.SqlConnect(out SQLiteConnection con); SQLiteCommand selectCommand = con.CreateCommand(); selectCommand.CommandText = $"SELECT SignatureId, Signature, Info, Sort FROM Signatures Where ParentId=@SignatureId ORDER BY Sort,Signature"; selectCommand.Parameters.AddWithValue("SignatureId", SignatureId); SQLiteDataReader r = selectCommand.ExecuteReader(); selectCommand.Parameters.Clear(); while (r.Read()) { Signature sig = new Signature(); int resultNum; int.TryParse(Convert.ToString(r["SignatureId"]), out resultNum); sig.Id = resultNum; sig.Name = Convert.ToString(r["Signature"]); sig.Info = Convert.ToString(r["Info"]); sig.Sort = Convert.ToString(r["Sort"]); context.SubSignatures.Add(sig); } r.Close(); con.Close(); }
private async void RemoveSubSigCommand_Executed(object sender, ExecutedRoutedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; SqlMethods.SqlConnect(out SQLiteConnection con); SQLiteCommand removeCommand = con.CreateCommand(); var removeItems = SubList.SelectedItems; SQLiteTransaction tr = con.BeginTransaction(); removeCommand.Transaction = tr; await Task.Run(async() => { foreach (var item in removeItems) { Signature temp = item as Signature; removeCommand.CommandText = $"DELETE FROM Signatures WHERE SignatureId=@SignatureId"; removeCommand.Parameters.AddWithValue("SignatureId", temp.Id); await removeCommand.ExecuteNonQueryAsync(); removeCommand.Parameters.Clear(); } tr.Commit(); }); ReadSubSignature(context.MainSig.Id); con.Close(); BtnClearSub_Click(null, null); }
private void BtnClear_Click(object sender, RoutedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; context.MainSig = null; //context.SubSig = null; context.SubSignatures.Clear(); context.ParentId = 0; ClearEntries(context, "SubName", "SubInfo"); }
private void ResetLabel(ChooseSignaturesModel context, bool main = false) { if (main) { context.LabelName = Application.Current.FindResource("ChooseSignature.Label.Signature").ToString(); context.LabelInfo = Application.Current.FindResource("ChooseSignature.Label.Info").ToString(); } context.LabelSubName = Application.Current.FindResource("ChooseSignature.Label.Signature").ToString(); context.LabelSubInfo = Application.Current.FindResource("ChooseSignature.Label.Info").ToString(); //context.LabelParent = Application.Current.FindResource("ChooseSignature.Label.Parent").ToString(); //context.LabelSort = Application.Current.FindResource("ChooseSignature.Label.Sort").ToString(); }
private void EditLabel(ChooseSignaturesModel context, bool sub = false) { context.LabelName = Application.Current.FindResource("ChooseSignature.Label.EditSignature").ToString(); context.LabelInfo = Application.Current.FindResource("ChooseSignature.Label.EditInfo").ToString(); if (sub) { context.LabelSubName = Application.Current.FindResource("ChooseSignature.Label.EditSignature").ToString(); context.LabelSubInfo = Application.Current.FindResource("ChooseSignature.Label.EditInfo").ToString(); } //context.LabelParent = Application.Current.FindResource("ChooseSignature.Label.EditParent").ToString(); //context.LabelSort = Application.Current.FindResource("ChooseSignature.Label.EditSort").ToString(); }
private void ReadParentList() { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; if (context.Signatures != null) { context.ParentList.Clear(); foreach (var sig in context.Signatures) { context.ParentList.Add(sig); } } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; if (IsEdit) { if (!string.IsNullOrWhiteSpace(context.Name) || !string.IsNullOrWhiteSpace(context.Info) || !string.IsNullOrWhiteSpace(context.SubName) || !string.IsNullOrWhiteSpace(context.SubInfo)) { string message = Application.Current.FindResource("ChooseSignature.CodeBehind.WarningClose.Message").ToString(); string caption = Application.Current.FindResource("ChooseSignature.CodeBehind.WarningClose.Caption").ToString(); var result = CustomMessageBox.ShowYesNo(message, caption, CustomMessageBoxButton.Yes, CustomMessageBoxButton.No, MessageBoxImage.Warning); e.Cancel = result == MessageBoxResult.No; } } }
private void BtnClearSub_Click(object sender, RoutedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; context.SubSig = null; ClearEntries(context, "Name", "Info", "ParentId", main: false); //if (!string.IsNullOrWhiteSpace(context.Name) || !string.IsNullOrWhiteSpace(context.Info)) //{ // EditLabel(context, sub: false); //} //else //{ // ResetLabel(context, main: true); //} context.CurrentId = context.ParentId; }
public ChooseSignatures(AddBookModel preContext) { this.preContext = preContext; ChooseSignaturesModel context = new ChooseSignaturesModel(); context.Signatures = new ObservableCollection <Signature>(); context.SubSignatures = new ObservableCollection <Signature>(); this.DataContext = context; ReadSignature(); context.Title = Application.Current.FindResource("ChooseSignature.Title").ToString(); InitializeComponent(); EditSig.Visibility = Visibility.Collapsed; EditSubSig.Visibility = Visibility.Collapsed; context.IsEdit = IsEdit; context.IdColVisible = false; }
public ChooseSignatures(bool isEdit) { ChooseSignaturesModel context = new ChooseSignaturesModel(); context.Signatures = new ObservableCollection <Signature>(); context.SubSignatures = new ObservableCollection <Signature>(); this.DataContext = context; this.IsEdit = isEdit; ReadSignature(); ClearEntries(context); context.ParentList = new ObservableCollection <Signature>(); ReadParentList(); InitializeComponent(); context.IsEdit = isEdit; EditSig.Visibility = Visibility.Visible; EditSubSig.Visibility = Visibility.Visible; context.Title = Application.Current.FindResource("ChooseSignature.EditTitle").ToString(); }
private void ClearEntries(ChooseSignaturesModel context, string name = null, string info = null, string parrentId = null, bool main = true) { context = this.DataContext as ChooseSignaturesModel; PropertyInfo[] properties = context.GetType().GetProperties(); foreach (var propertyInfo in properties) { if (propertyInfo.PropertyType == typeof(string) && !propertyInfo.Name.Equals("Sort") && !propertyInfo.Name.Equals(name) && !propertyInfo.Name.Equals(info) && !propertyInfo.Name.Equals("LabelName") && !propertyInfo.Name.Equals("LabelInfo") && !propertyInfo.Name.Equals("LabelSubName") && !propertyInfo.Name.Equals("LabelSubInfo")) { propertyInfo.SetValue(context, string.Empty, null); } if (propertyInfo.PropertyType == typeof(int) && !propertyInfo.Name.Equals(parrentId)) { propertyInfo.SetValue(context, 0, null); } } ResetLabel(context, main: main); //CommandManager.InvalidateRequerySuggested(); }
private void RemoveMainSigCommand_Executed(object sender, ExecutedRoutedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; SqlMethods.SqlConnect(out SQLiteConnection con); SQLiteCommand removeCommand = con.CreateCommand(); // remove main Signature SQLiteCommand selectCommand = con.CreateCommand(); selectCommand.CommandText = $"SELECT * FROM Signatures WHERE ParentId=@ParentId"; selectCommand.Parameters.AddWithValue("ParentId", context.CurrentId); SQLiteDataReader r = selectCommand.ExecuteReader(); selectCommand.Parameters.Clear(); if (!r.Read()) { removeCommand.CommandText = $"DELETE FROM Signatures WHERE SignatureId=@SignatureId"; removeCommand.Parameters.AddWithValue("SignatureId", context.CurrentId); removeCommand.ExecuteNonQuery(); removeCommand.Parameters.Clear(); ReadSignature(); ReadParentList(); context.SubSignatures.Clear(); BtnClearSub_Click(null, null); BtnClear_Click(null, null); } else { string message = Application.Current.FindResource("ChooseSignature.CodeBehind.ErrorRemove.Message").ToString(); string caption = Application.Current.FindResource("ChooseSignature.CodeBehind.ErrorRemove.Caption").ToString(); MessageBoxResult result = CustomMessageBox.ShowOK(message, caption, CustomMessageBoxButton.OK, MessageBoxImage.Error); } r.Close(); con.Close(); //context.MainSig = null; //context.SubSig = null; }
private void SubList_SelectionChanged(object sender, SelectionChangedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; if (context.SubSig != null) { if (!IsEdit) { preContext.Signature2 = context.SubSig.Name; } else { //ClearEntries(context, "Name", "Info", "ParrentId"); context.IsSubSig = true; context.CurrentSubId = context.SubSig.Id; context.SubName = context.SubSig.Name; context.SubInfo = context.SubSig.Info; context.ParentId = context.MainSig.Id; context.Sort = context.SubSig.Sort; // change to edit label for sub signature EditLabel(context, sub: true); } } }
private void RemoveSubSigCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; e.CanExecute = context.MainSig != null || context.SubSig != null; }
private void SaveSubSigCommand_Executed(object sender, ExecutedRoutedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; Signature subSig = new Signature { Name = context.SubName, Info = context.SubInfo }; SqlMethods.SqlConnect(out SQLiteConnection con); SQLiteCommand selectCommand = con.CreateCommand(); SQLiteCommand updateCommand = con.CreateCommand(); selectCommand.CommandText = $"SELECT SignatureId, Signature, Info FROM Signatures WHERE ParentId = @ParentId AND Signature = @Name"; selectCommand.Parameters.AddWithValue("ParentId", context.ParentId); selectCommand.Parameters.AddWithValue("Name", context.SubName); SQLiteDataReader r = selectCommand.ExecuteReader(); selectCommand.Parameters.Clear(); if (!r.Read()) { if (context.CurrentSubId == 0) { var insertCommand = con.CreateCommand(); insertCommand.CommandText = $"INSERT INTO Signatures (Signature,Info,ParentId,Sort) VALUES (@Name,@Info,@ParentId,@Sort)"; insertCommand.Parameters.AddWithValue("Name", context.SubName); insertCommand.Parameters.AddWithValue("Info", context.SubInfo); insertCommand.Parameters.AddWithValue("ParentId", context.ParentId); insertCommand.Parameters.AddWithValue("Sort", context.Sort); try { insertCommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } insertCommand.Parameters.Clear(); } else { updateCommand.CommandText = $"UPDATE Signatures SET Signature=@Name, Info=@Info,Sort=@Sort WHERE SignatureId=@SignatureId"; updateCommand.Parameters.AddWithValue("Name", context.SubName); updateCommand.Parameters.AddWithValue("Info", context.SubInfo); updateCommand.Parameters.AddWithValue("Sort", context.Sort); updateCommand.Parameters.AddWithValue("SignatureId", context.CurrentSubId); try { updateCommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } updateCommand.Parameters.Clear(); } BtnClearSub_Click(null, null); // reset label of sub signature ResetLabel(context, main: false); ReadSubSignature(context.ParentId); } else { if (context.CurrentSubId != 0) { updateCommand.CommandText = $"UPDATE Signatures SET Signature=@Name, Info=@Info,Sort=@Sort WHERE SignatureId=@SignatureId"; updateCommand.Parameters.AddWithValue("Name", context.SubName); updateCommand.Parameters.AddWithValue("Info", context.SubInfo); updateCommand.Parameters.AddWithValue("Sort", context.Sort); updateCommand.Parameters.AddWithValue("SignatureId", context.CurrentSubId); try { updateCommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } updateCommand.Parameters.Clear(); BtnClearSub_Click(null, null); ResetLabel(context, main: false); ReadSubSignature(context.ParentId); } else { string message = Application.Current.FindResource("ChooseSignature.CodeBehind.ErrorSave.Message").ToString(); string caption = Application.Current.FindResource("ChooseSignature.CodeBehind.ErrorSave.Caption").ToString(); MessageBoxResult result = CustomMessageBox.ShowOK(message, caption, CustomMessageBoxButton.OK, MessageBoxImage.Error); } } r.Close(); con.Close(); }
private void SaveSubSigCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; e.CanExecute = !string.IsNullOrWhiteSpace(context.SubName) && !string.IsNullOrWhiteSpace(context.SubInfo) && context.ParentId != 0; }
private void SaveMainSigCommand_Executed(object sender, ExecutedRoutedEventArgs e) { ChooseSignaturesModel context = this.DataContext as ChooseSignaturesModel; SqlMethods.SqlConnect(out SQLiteConnection con); SQLiteCommand selectCommand = con.CreateCommand(); SQLiteCommand updateCommand = con.CreateCommand(); selectCommand.CommandText = $"SELECT SignatureId, Signature, Info FROM Signatures WHERE ParentId IS NULL AND Signature = @Name"; selectCommand.Parameters.AddWithValue("Name", context.Name); SQLiteDataReader r = selectCommand.ExecuteReader(); selectCommand.Parameters.Clear(); if (!r.Read()) { if (context.CurrentId == 0) { SQLiteCommand insertCommand = con.CreateCommand(); insertCommand.CommandText = $"INSERT INTO Signatures (Signature,Info) VALUES (@Name,@Info)"; insertCommand.Parameters.AddWithValue("Name", context.Name); insertCommand.Parameters.AddWithValue("Info", context.Info); insertCommand.ExecuteNonQuery(); insertCommand.Parameters.Clear(); } else { updateCommand.CommandText = $"UPDATE Signatures SET Signature=@Name, Info=@Info WHERE SignatureId=@SignatureId"; updateCommand.Parameters.AddWithValue("Name", context.Name); updateCommand.Parameters.AddWithValue("Info", context.Info); updateCommand.Parameters.AddWithValue("SignatureId", context.CurrentId); updateCommand.ExecuteNonQuery(); updateCommand.Parameters.Clear(); } BtnClear_Click(null, null); // reset label of main signature ResetLabel(context, main: true); ReadSignature(); ReadParentList(); context.SubSignatures.Clear(); } else { if (context.CurrentId != 0) { updateCommand.CommandText = $"UPDATE Signatures SET Signature=@Name, Info=@Info WHERE SignatureId=@SignatureId"; updateCommand.Parameters.AddWithValue("Name", context.Name); updateCommand.Parameters.AddWithValue("Info", context.Info); updateCommand.Parameters.AddWithValue("SignatureId", context.CurrentId); updateCommand.ExecuteNonQuery(); updateCommand.Parameters.Clear(); BtnClear_Click(null, null); // reset label of main signature ResetLabel(context, main: true); ReadSignature(); ReadParentList(); context.SubSignatures.Clear(); } else { string message = Application.Current.FindResource("ChooseSignature.CodeBehind.ErrorSave.Message").ToString(); string caption = Application.Current.FindResource("ChooseSignature.CodeBehind.ErrorSave.Caption").ToString(); MessageBoxResult result = CustomMessageBox.ShowOK(message, caption, CustomMessageBoxButton.OK, MessageBoxImage.Error); } } r.Close(); con.Close(); //if (context.ParentId == 0) //{ // selectCommand.CommandText = $"SELECT SignatureId, Signature, Info FROM Signatures WHERE ParentId IS NULL AND Signature = @Name"; // selectCommand.Parameters.AddWithValue("Name", context.Name); //} //else //{ // selectCommand.CommandText = $"SELECT SignatureId, Signature, Info FROM Signatures WHERE ParentId = @ParentId AND Signature = @Name"; // selectCommand.Parameters.AddWithValue("ParentId", context.ParentId); // selectCommand.Parameters.AddWithValue("Name", context.Name); //} //SQLiteDataReader r = selectCommand.ExecuteReader(); //selectCommand.Parameters.Clear(); //if (!r.Read()) //{ // // to add new signature // if (context.CurrentId == 0) // { // SQLiteCommand insertCommand = con.CreateCommand(); // if (context.ParentId == 0) // { // insertCommand.CommandText = $"INSERT INTO Signatures (Signature,Info) VALUES (@Name,@Info)"; // insertCommand.Parameters.AddWithValue("Name", context.Name); // insertCommand.Parameters.AddWithValue("Info", context.Info); // } // else // { // insertCommand.CommandText = $"INSERT INTO Signatures (Signature,Info,ParentId,Sort) VALUES (@Name,@Info,@ParentId,@Sort)"; // insertCommand.Parameters.AddWithValue("Name", context.Name); // insertCommand.Parameters.AddWithValue("Info", context.Info); // insertCommand.Parameters.AddWithValue("ParentId", context.ParentId); // insertCommand.Parameters.AddWithValue("Sort", context.Sort); // } // insertCommand.ExecuteNonQuery(); // insertCommand.Parameters.Clear(); // } // // to update place's State and country // else // { // SQLiteCommand updateCommand = con.CreateCommand(); // if (context.ParentId == 0) // { // updateCommand.CommandText = $"UPDATE Signatures SET Signature=@Name, Info=@Info WHERE SignatureId=@SignatureId"; // updateCommand.Parameters.AddWithValue("Name", context.Name); // updateCommand.Parameters.AddWithValue("Info", context.Info); // updateCommand.Parameters.AddWithValue("SignatureId", context.CurrentId); // } // else // { // updateCommand.CommandText = $"UPDATE Signatures SET Signature=@Name, Info=@Info,Sort=@Sort WHERE SignatureId=@SignatureId"; // updateCommand.Parameters.AddWithValue("Name", context.Name); // updateCommand.Parameters.AddWithValue("Info", context.Info); // updateCommand.Parameters.AddWithValue("Sort", context.Sort); // updateCommand.Parameters.AddWithValue("SignatureId", context.CurrentId); // } // updateCommand.ExecuteNonQuery(); // updateCommand.Parameters.Clear(); // } //} //else //{ // // to update signature // if (context.CurrentId != 0) // { // SQLiteCommand updateCommand = con.CreateCommand(); // if (context.ParentId == 0) // { // updateCommand.CommandText = $"UPDATE Signatures SET Signature=@Name, Info=@Info WHERE SignatureId=@SignatureId"; // updateCommand.Parameters.AddWithValue("Name", context.Name); // updateCommand.Parameters.AddWithValue("Info", context.Info); // updateCommand.Parameters.AddWithValue("SignatureId", context.CurrentId); // } // else // { // updateCommand.CommandText = $"UPDATE Signatures SET Signature=@Name, Info=@Info,Sort=@Sort WHERE SignatureId=@SignatureId"; // updateCommand.Parameters.AddWithValue("Name", context.Name); // updateCommand.Parameters.AddWithValue("Info", context.Info); // updateCommand.Parameters.AddWithValue("Sort", context.Sort); // updateCommand.Parameters.AddWithValue("SignatureId", context.CurrentId); // } // updateCommand.ExecuteNonQuery(); // updateCommand.Parameters.Clear(); // } // else // { // string message = Application.Current.FindResource("ChooseSignature.CodeBehind.ErrorSave.Message").ToString(); // string caption = Application.Current.FindResource("ChooseSignature.CodeBehind.ErrorSave.Caption").ToString(); // MessageBoxResult result = CustomMessageBox.ShowOK(message, caption, CustomMessageBoxButton.OK, MessageBoxImage.Error); // } //} //con.Close(); //context.SubSig = null; //context.SubSignatures.Clear(); //ClearEntries(context); //ReadSignature(); //ReadParentList(); }