public void CreateTransaction(Transaction transaction)
        {
            ExpenseTrackerServiceClient client = new ExpenseTrackerServiceClient();

            using (new System.ServiceModel.OperationContextScope(client.InnerChannel))
            {
                AddAuthTokenHeader();
                var tran = new TransactionDTO
                {
                    CategoryId        = transaction.CategoryId,
                    TransactionAmount = transaction.TransactionAmount,
                    TransactionDate   = transaction.TransactionDate,
                    TransactionNote   = transaction.TransactionNote,
                    UserId            = transaction.UserId
                };
                if (transaction.TransactionReceipts.Any())
                {
                    List <TransactionReceiptDTO> receipts = new List <TransactionReceiptDTO>();
                    transaction.TransactionReceipts.ForEach(t =>
                    {
                        receipts.Add(new TransactionReceiptDTO
                        {
                            ReceiptImage = t.ReceiptImage,
                            ContentType  = t.ContentType
                        });
                    });
                    tran.TransactionReceipts = receipts.ToArray();
                }
                client.CreateTransaction(tran);
            }
        }
        public void DeleteTransaction(int transactionId)
        {
            ExpenseTrackerServiceClient client = new ExpenseTrackerServiceClient();

            using (new System.ServiceModel.OperationContextScope(client.InnerChannel))
            {
                AddAuthTokenHeader();
                client.DeleteTransaction(transactionId);
            }
        }
        public bool CategoryExists(string name)
        {
            ExpenseTrackerServiceClient client = new ExpenseTrackerServiceClient();

            using (new System.ServiceModel.OperationContextScope(client.InnerChannel))
            {
                AddAuthTokenHeader();
                return(client.CategoryExists(name));
            }
        }
        public List <TransactionCategory> GetTransactionCategories()
        {
            ExpenseTrackerServiceClient client = new ExpenseTrackerServiceClient();

            using (new System.ServiceModel.OperationContextScope(client.InnerChannel))
            {
                AddAuthTokenHeader();
                return(Mapper.Map <List <TransactionCategory> >(client.GetTransactionCategories()));
            }
        }
        public void CreateTransactionCategory(string name)
        {
            ExpenseTrackerServiceClient client = new ExpenseTrackerServiceClient();

            using (new System.ServiceModel.OperationContextScope(client.InnerChannel))
            {
                AddAuthTokenHeader();
                client.CreateTransactionCategory(name);
            }
        }
        public List <Transaction> GetTransactions(TransactionSearchCriteria searchCriteria)
        {
            ExpenseTrackerServiceClient client = new ExpenseTrackerServiceClient();

            using (new System.ServiceModel.OperationContextScope(client.InnerChannel))
            {
                AddAuthTokenHeader();
                return(Mapper.Map <List <Transaction> >(client.GetTransactions(Mapper.Map <TransactionSearchCriteriaDTO>(searchCriteria))));
            }
        }