// --| Transactions |------------------------------------------------------------------> public static int InsertTransaction(TransactionInsertRequest model) { int transactionId = 0; try { DataProvider.ExecuteNonQuery(GetConnection, "dbo.insert_transaction", inputParamMapper : delegate(SqlParameterCollection paramCollection) { paramCollection.AddWithValue("@amount", model.Amount); paramCollection.AddWithValue("@categoryId", model.CategoryId); paramCollection.AddWithValue("@date", model.Date); paramCollection.AddWithValue("@description", model.Description); paramCollection.AddWithValue("@typeId", model.TypeId); paramCollection.AddWithValue("@userId", model.UserId); var p = new SqlParameter("@transactionId", System.Data.SqlDbType.Int); p.Direction = System.Data.ParameterDirection.Output; paramCollection.Add(p); }, returnParameters : delegate(SqlParameterCollection param) { int.TryParse(param["@transactionId"].Value.ToString(), out transactionId); }); } catch (Exception e) { throw e; } return(transactionId); }
public static bool InsertNewTransaction(TransactionInsertRequest transaction) { bool isSuccess = false; try { string userId = UserService.GetCurrentUserId(); LogService.TopOffLogToDate(userId, transaction.Date); Data.InsertTransaction(transaction); // Past-Month Transaction if (!DateFallsInCurrentMonth(transaction.Date)) { double netImpactOnBalance = transaction.TypeId == Enums.TransactionType.Credit ? transaction.Amount : (transaction.Amount * -1); LogService.BalanceLogForPastTransaction(userId, transaction.Date, netImpactOnBalance); } LogService.RefreshCurrentMonthBalance(userId); isSuccess = true; } catch (Exception e) { throw e; } return(isSuccess); }
public void InvalidUserIdTest() { IEnumerable <TransactionInsertRequest> transactionToInsert = new TransactionInsertRequest[] { new TransactionInsertRequest { CreditorOccupantId = firebaseFixture.H1OccupantId, DebtorOccupantId = 3, Gross = NumberGenerator.RandomDecimal(16, 2), Reference = StringGenerator.RandomString(200), Date = DateTime.Now.Date } }; RestClient client = GetClient(); RestRequest request = apiCall(firebaseFixture.H1Token, string.Concat(sutEndpoint, firebaseFixture.H2UserId), sutHttpMethod, transactionToInsert); IRestResponse response = client.Execute(request); forbiddenExpectations(response); }
public void AddTransactionTest() { decimal gross = NumberGenerator.RandomDecimal(16, 2); decimal gross2 = NumberGenerator.RandomDecimal(16, 2); string reference = StringGenerator.RandomString(200); DateTime date = DateTime.UtcNow.Date; IEnumerable <TransactionInsertRequest> transactionArrayToInsert = new TransactionInsertRequest[] { new TransactionInsertRequest { CreditorOccupantId = firebaseFixture.H1OccupantId, DebtorOccupantId = 3, Gross = gross, Reference = reference, Date = date }, new TransactionInsertRequest { CreditorOccupantId = firebaseFixture.H1OccupantId, DebtorOccupantId = 3, Gross = gross2, Reference = reference, Date = date } }; RestClient client = GetClient(); RestRequest request = apiCall <IEnumerable <TransactionInsertRequest> >(firebaseFixture.H1Token, string.Concat(sutEndpoint, firebaseFixture.H1UserId), sutHttpMethod, transactionArrayToInsert); IRestResponse <int> response = client.Execute <int>(request); string expectedContent = serialize( 2 ); response.StatusCode.ShouldBeEquivalentTo(HttpStatusCode.OK); response.Content.ShouldBeEquivalentTo(expectedContent); }