/// <summary> /// Сохранение файла в базу. /// </summary> public void DocumentSaveToSql(IDocument doc) { using (dB.Connection = new SqlConnection(dB.stringConnection)) { try { dB.Connection.Open(); SqlCommand command = new SqlCommand("InsertDocument", dB.Connection) { // вызываем хп CommandType = CommandType.StoredProcedure }; command.Parameters.Add(new SqlParameter("@docname", doc.DocumentName)); command.Parameters.Add(new SqlParameter("@date", doc.CreateDate)); command.Parameters.Add(new SqlParameter("@type", doc.DocType)); command.Parameters.Add(new SqlParameter("@UserID", doc.UserID)); //файл command.Parameters.Add(new SqlParameter("@FileID", doc.BinaryFile.FileGuid)); command.Parameters.Add(new SqlParameter("@Binary", doc.BinaryFile.Data)); command.Parameters.Add(new SqlParameter("@DocID", doc.BinaryFile.DocumentId)); command.Parameters.Add(new SqlParameter("@FileExtension", doc.BinaryFile.FileExtension)); var result = command.ExecuteNonQuery(); // кидаем событие об успешной записи в базу. DataSaved?.Invoke(this, EventArgs.Empty); } catch (SqlException ex) { Console.Error.WriteLine(ex.Message); } finally { dB.Connection.Close(); } // Подключаемся к базе } }
protected virtual void OnDataSaved() { DataSaved?.Invoke(this, EventArgs.Empty); }
private bool SaveData() { try { BeforeDataSave?.Invoke(this, new EventArgs()); this.PostEditor(); if (dxValidationProvider != null) { if (!dxValidationProvider.Validate()) { return(false); } } if (this.DataContext != null) { this.ShowProgressPanel(); this.DataContext.SubmitChanges(ConflictMode.ContinueOnConflict); this.SetMode(Mode.Default); } DataSaved?.Invoke(this, new EventArgs()); return(true); } catch (ChangeConflictException e) { this.CloseProgressPanel(); ucConflicts ucConflicts = new ucConflicts(); if (this.DataContext.ChangeConflicts.Count > 0) { foreach (System.Data.Linq.ObjectChangeConflict objectChangeConflict in this.DataContext.ChangeConflicts) { if (objectChangeConflict.IsDeleted) { Conflict conflict = new Conflict(); conflict.Message = "Der Datensatz existiert nicht mehr"; conflict.RefreshMode = RefreshMode.KeepChanges; ucConflicts.Conflicts.Add(conflict); //Database.tsysClient client = this.DataContext.ChangeConflicts[0].Object as Database.tsysClient; //XtraMessageBox.Show(System.String.Format("Der Datensatz <b>\"{0}\"</b> existiert in der Datenbank nicht mehr.", client.Name), "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, DevExpress.Utils.DefaultBoolean.True); } else if (objectChangeConflict.MemberConflicts.Count > 0 && objectChangeConflict.MemberConflicts[0].IsModified) { Conflict conflict = new Conflict(); conflict.Message = "Der Datensatz wurde in der Datenbank geändert"; conflict.RefreshMode = RefreshMode.KeepChanges; ucConflicts.Conflicts.Add(conflict); //Database.tsysClient client = this.DataContext.ChangeConflicts[0].Object as Database.tsysClient; //XtraMessageBox.Show( // System.String.Format( // "Der Datensatz <b>\"{0}\"</b> wurde in der Datenbank geändert. Datenbankwert: {2}, Neuer Wert: {1}", // this.DataContext.ChangeConflicts[0].MemberConflicts[0].Member.Name, // this.DataContext.ChangeConflicts[0].MemberConflicts[0].CurrentValue, // this.DataContext.ChangeConflicts[0].MemberConflicts[0].DatabaseValue), // "Fehler", // MessageBoxButtons.OK, // MessageBoxIcon.Exclamation, // DevExpress.Utils.DefaultBoolean.True); } } //this.DataContext.ChangeConflicts.ResolveAll(RefreshMode.KeepChanges); frmConflict frm = new frmConflict(ucConflicts); frm.ShowDialog(); } return(false); } catch (SqlException exception) { this.CloseProgressPanel(); if (exception.Number == 547) // Constraint error { XtraMessageBox.Show("Datensatz wird noch von anderer Stelle referenziert und kann daher nicht gelöscht werden.", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { XtraMessageBox.Show(exception.ToString(), "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } return(false); } catch (Exception err) { this.CloseProgressPanel(); XtraMessageBox.Show(err.ToString(), "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } finally { this.CloseProgressPanel(); } }
public void Save() { DataSaved?.Invoke(this, new EventArgs()); SettingsNotSaved = false; }
protected virtual void OnDataSaved(ActionEventArgs e) { DataSaved?.Invoke(this, e); }