using BuddyFinance.Common.Encryption; using BuddyFinance.Integration; using BuddyFinance.Integration.Models.Statements; using BuddyFinance.Integration.Models.Transactions; using BuddyFinance.WebApi.Filters; using System.Web.Http; namespace BuddyFinance.WebApi.Controllers { /// /// Manage Transactions /// [RoutePrefix("api/transactions")] [Authenticate] public class TransactionsController : BaseController { private readonly TransactionsIntegrator _transactions = new TransactionsIntegrator(); /// /// Returns profile transaction histrory /// /// /// [HttpGet] [Route("gettransactions")] public GetTransactionsResult GetTransactions(int profileId) { return _transactions.GetTransactions(profileId); } /// /// /// /// /// [HttpGet] [Route("loantransactions")] public GetTransactionsResult LoanTransactions(int loanId) { return _transactions.GetTransactionsByLoanId(loanId); } /// /// Returns a tranction by ID /// /// Transaction ID /// [HttpGet] [Route("gettransaction")] public GetTransactionResult GetTransaction(int transactionId) { return _transactions.GetTransaction(transactionId); } /// /// Save transaction data /// /// Transaction Data /// [HttpPost] [Route("savetransaction")] public SaveTransactionResult SaveTransaction(Transaction transaction) { return _transactions.SaveTransaction(transaction); } /// /// Retuns transtions within a date range /// /// /// [HttpPost] [Route("gettransactionsbydate")] public GetTransactionsbyDate GetTransactionsbyDate(GetStatement dates) { dates.ProfileId = dates.ProfileId_.ToDecryptedInt(); return _transactions.GetStatement(dates); } } }