private ExpenseDTO expense_modelToDto(IExpenseModel e) { ExpenseDTO expenseDTO = new ExpenseDTO(); expenseDTO.ExpenseId = e.ExpenseId; expenseDTO.ExpenseTypeId = e.ExpenseTypeId; expenseDTO.Date = DateTime.Parse(e.Date); expenseDTO.Cost = e.Cost; expenseDTO.UserId = e.UserId; IExpenseTypeModel expenseTypeModel = expenseTypeRepository.GetById(e.ExpenseTypeId); expenseDTO.ExpenseTypeName = expenseTypeModel != null? expenseTypeModel.ExpenseTypeName : ""; return(expenseDTO); }
public void Update(IExpenseModel expenseModel) { DataAccessResult dataAccessResult = new DataAccessResult(); string sql = "UPDATE Expense SET ExpenseTypeId = @ExpenseTypeId, Date = @Date, Cost = @Cost WHERE Expense.ExpenseId = @ExpenseId"; using (SQLiteConnection connection = new SQLiteConnection(_connectionString)) { try { connection.Open(); using (SQLiteCommand cmd = new SQLiteCommand(sql, connection)) { cmd.CommandText = sql; cmd.Prepare(); cmd.Parameters.Add(new SQLiteParameter("@ExpenseId", expenseModel.ExpenseId)); cmd.Parameters.Add(new SQLiteParameter("@ExpenseTypeId", expenseModel.ExpenseTypeId)); cmd.Parameters.Add(new SQLiteParameter("@Date", expenseModel.Date)); cmd.Parameters.Add(new SQLiteParameter("@Cost", expenseModel.Cost)); cmd.ExecuteNonQuery(); } } catch (SQLiteException e) { dataAccessResult.setValues( status: "Error", operationSucceeded: false, exceptionMessage: e.Message, customMessage: "Unable to update expense [Expense->Update]", helpLink: e.HelpLink, errorCode: e.ErrorCode, stackTrace: e.StackTrace); throw new DataAccessException(e.Message, e.InnerException, dataAccessResult); } } return; }
public void Create(IExpenseModel expenseModel) { DataAccessResult dataAccessResult = new DataAccessResult(); string sql = "INSERT INTO Expense (ExpenseTypeId, Date, Cost, UserId) VALUES (@ExpenseTypeId, @Date, @Cost, @UserId)"; using (SQLiteConnection connection = new SQLiteConnection(_connectionString)) { try { connection.Open(); using (SQLiteCommand cmd = new SQLiteCommand(sql, connection)) { cmd.CommandText = sql; cmd.Prepare(); cmd.Parameters.AddWithValue("@ExpenseTypeId", expenseModel.ExpenseTypeId); cmd.Parameters.AddWithValue("@Date", DateTime.Parse(expenseModel.Date)); cmd.Parameters.AddWithValue("@Cost", expenseModel.Cost); cmd.Parameters.AddWithValue("@UserId", expenseModel.UserId); cmd.ExecuteNonQuery(); } } catch (SQLiteException e) { dataAccessResult.setValues( status: "Error", operationSucceeded: false, exceptionMessage: e.Message, customMessage: "Greška kod kreiranja zapisa troška [Expense->Create]", helpLink: e.HelpLink, errorCode: e.ErrorCode, stackTrace: e.StackTrace); throw new DataAccessException(e.Message, e.InnerException, dataAccessResult); } } return; }
public void Delete(IExpenseModel expenseModel) { DataAccessResult dataAccessResult = new DataAccessResult(); string sql = "DELETE FROM Expense WHERE Expense.ExpenseId = @ExpenseId"; using (SQLiteConnection connection = new SQLiteConnection(_connectionString)) { try { connection.Open(); using (SQLiteCommand cmd = new SQLiteCommand(sql, connection)) { cmd.CommandText = sql; cmd.Prepare(); cmd.Parameters.Add(new SQLiteParameter("@ExpenseId", expenseModel.ExpenseId)); cmd.ExecuteNonQuery(); } } catch (SQLiteException e) { dataAccessResult.setValues( status: "Error", operationSucceeded: false, exceptionMessage: e.Message, customMessage: "Greška kod brisanja zapisa troška [Expense->Delete]", helpLink: e.HelpLink, errorCode: e.ErrorCode, stackTrace: e.StackTrace); throw new DataAccessException(e.Message, e.InnerException, dataAccessResult); } } return; }