コード例 #1
0
        public DollarTrackerResponse <ExpenseStorySummary> Post(ExpenseStory story)
        {
            var response = new DollarTrackerResponse <ExpenseStorySummary>();

            try
            {
                story.ExpenseStoryId = UniqueKeyGenerator.DatePrefixShortKey();
                story.CreatedBy      = UserClaim.UserId;
                story.CreatedUtcDt   = DateTime.UtcNow;
                expenseStoryManager.AddExpenseStory(story);                 //todo: need to do validations--some design pattern

                var collaborator = new Collaborator
                {
                    CollaboratorId = Guid.NewGuid(),
                    ExpenseStoryId = story.ExpenseStoryId,
                    UserId         = UserClaim.UserId,
                    Status         = true,
                    CreatedUtcDt   = DateTime.UtcNow
                };
                collaboratorManager.AddCollaborator(collaborator);
                response.Data = expenseStorySummaryBuilder.Build(story.ExpenseStoryId);
                response.Data.ExpenseStory = story;
            }
            catch (Exception e)
            {
                //todo: log the server error
                response.Success = false;
                response.Message = "Unknown Server error";
            }
            return(response);
        }
コード例 #2
0
        public DollarTrackerResponse <DashboardSummary> Get()
        {
            var response = new DollarTrackerResponse <DashboardSummary>();

            try
            {
                var summary = dashboardSummaryBuilder.Build(UserClaim.UserId);
                response.Data    = summary;
                response.Success = true;
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Message = "An Unknown error occured";
            }
            return(response);
        }
コード例 #3
0
        public DollarTrackerResponse <Expense> Delete(string id)
        {
            var response = new DollarTrackerResponse <Expense>();

            try
            {
                expenseManager.DeleteExpense(id);
                response.Success = true;
            }
            catch (Exception e)
            {
                //todo: log the server error
                response.Success = false;
                response.Message = "Unknown Server error";
            }
            return(response);
        }
コード例 #4
0
        public DollarTrackerResponse <IEnumerable <ExpenseStory> > Delete(string storyId)
        {
            var response = new DollarTrackerResponse <IEnumerable <ExpenseStory> >();

            try
            {
                expenseStoryManager.DeleteExpenseStory(storyId);
                response.Success = true;
                response.Data    = expenseStoryManager.GetAllExpenseStories(UserClaim.UserId);
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Message = "Unknown Server error";
            }
            return(response);
        }
コード例 #5
0
        //[Route("api/getallexpenses")]
        public DollarTrackerResponse <IEnumerable <Expense> > Get(string id)
        {
            var response = new DollarTrackerResponse <IEnumerable <Expense> >();

            try
            {
                var expenses = expenseManager.GetAllExpenses(id);
                response.Data    = expenses;
                response.Success = true;
            }
            catch (Exception e)
            {
                //todo: log the server error
                response.Success = false;
                response.Message = "Unknown Server error";
            }
            return(response);
        }
コード例 #6
0
        public DollarTrackerResponse <IEnumerable <ExpenseStory> > Get()
        {
            var response = new DollarTrackerResponse <IEnumerable <ExpenseStory> >();

            try
            {
                var stories = expenseStoryManager.GetAllExpenseStories(UserClaim.UserId);
                response.Data    = stories;
                response.Success = true;
            }
            catch (Exception e)
            {
                //todo: log the server error
                response.Success = false;
                response.Message = "Unknown Server error";
            }
            return(response);
        }
コード例 #7
0
        public DollarTrackerResponse <Expense> Post(Expense expense)
        {
            var response = new DollarTrackerResponse <Expense>();

            try
            {
                //for now by passing all the validations. todo: fix it
                var collaborator = collaboratorManager.GetCollaborator(UserClaim.UserId, expense.ExpenseStoryId);
                expense.ExpenseId      = UniqueKeyGenerator.DatePrefixShortKey();
                expense.CreatedUtcDt   = DateTime.UtcNow;
                expense.CollaboratorId = collaborator.CollaboratorId;
                expenseManager.AddExpense(expense);                 //todo: need to validate the expense content
                response.Data = expense;
            }
            catch (Exception e)
            {
                //todo: log the server error
                response.Success = false;
                response.Message = "Unknown Server error";
            }
            return(response);
        }