public void GetInputArrayFromDatabase(int arrayId) { lock (_syncDatabaseAccessing) { using (Database.SortersVisualizerDBEntities context = new Database.SortersVisualizerDBEntities()) { if (!context.Database.Exists()) { throw new DatabaseDoesntExistException("The required database does not exist." + "Check the availability of the appropriate database and try again."); } Database.InputArrays inputArray = (from array in context.InputArrays where array.iInputArrayId == arrayId select array).FirstOrDefault(); if (inputArray == null) { throw new KeyNotFoundException("The required array with ID = " + arrayId + " does not exist."); } int rows = inputArray.iNumberOfRows; int columns = inputArray.iNumberOfColumns; _controllerModel.ArrayForSorting = Utils.ConvertToTwoDimensionArray(inputArray.vcInputArrayContent, rows, columns); } } }
public void CreateArray(object parameter) { using (Database.SortersVisualizerDBEntities context = new Database.SortersVisualizerDBEntities()) { if (!context.Database.Exists()) { MessageBox.Show(MessagesRandomArrayCreationWindow.DatabaseDoesntExistText, MessagesRandomArrayCreationWindow.DatabaseConnectionText, MessageBoxButton.OK, MessageBoxImage.Error); _logger.Error("Database doesn't exist"); if (CloseViewAction != null) { CloseViewAction(); } return; } int[] array = new int[ArrayInfo.RowsNumb * ArrayInfo.ColumnsNumb]; array = Tools.Utils.GetRandomArray(array.Length, (int)ArrayInfo.MinValue, (int)ArrayInfo.MaxValue); Database.InputArrays inputArray = new Database.InputArrays { iNumberOfRows = ArrayInfo.RowsNumb, iNumberOfColumns = ArrayInfo.ColumnsNumb, vcInputArrayContent = string.Join(" ", array) }; context.InputArrays.Add(inputArray); int rowsAffected = context.SaveChanges(); if (rowsAffected > 0) { MessageBox.Show(MessagesRandomArrayCreationWindow.ArraySuccessfullyCreatedText, MessagesRandomArrayCreationWindow.OperationResultText, MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show(MessagesRandomArrayCreationWindow.ArrayUnsuccessfullyCreatedText, MessagesRandomArrayCreationWindow.OperationResultText, MessageBoxButton.OK, MessageBoxImage.Warning); _logger.Error("Array insertion into database error"); } } if (CloseViewAction != null) { CloseViewAction(); } }
private void ButtonApplyClick(object sender, EventArgs e) { using (Database.SortersVisualizerDBEntities context = new Database.SortersVisualizerDBEntities()) { if (!context.Database.Exists()) { MessageBox.Show(MessagesRandomArrayCreationInDatabaseForm.DatabaseDosentExistText, MessagesRandomArrayCreationInDatabaseForm.DatabaseConnectionText, MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } int[] array = new int[(int)_rows * (int)_columns]; array = Tools.Utils.GetRandomArray(array.Length, (int)_minValue, (int)_maxValue); Database.InputArrays inputArray = new Database.InputArrays { iNumberOfRows = (int)_rows, iNumberOfColumns = (int)_columns, vcInputArrayContent = string.Join(" ", array) }; context.InputArrays.Add(inputArray); int rowsAffected = context.SaveChanges(); if (rowsAffected > 0) { MessageBox.Show(MessagesRandomArrayCreationInDatabaseForm.ArraySuccessfullyCreatedText, MessagesRandomArrayCreationInDatabaseForm.OperationResultText, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(MessagesRandomArrayCreationInDatabaseForm.ArrayUnsuccessfullyCreatedText, MessagesRandomArrayCreationInDatabaseForm.OperationResultText, MessageBoxButtons.OK, MessageBoxIcon.Warning); } } this.Close(); }