Example #1
0
        public IHttpActionResult Get(int id, string fields = null)
        {
            try
            {
                bool          includeExpenses = false;
                List <string> lstOfFields     = new List <string>();

                // we should include expenses when the fields-string contains "expenses"
                if (fields != null)
                {
                    lstOfFields     = fields.ToLower().Split(',').ToList();
                    includeExpenses = lstOfFields.Any(f => f.Contains("expenses"));
                }


                Repository.Entities.ExpenseGroup expenseGroup;
                if (includeExpenses)
                {
                    expenseGroup = _repository.GetExpenseGroupWithExpenses(id);
                }
                else
                {
                    expenseGroup = _repository.GetExpenseGroup(id);
                }


                if (expenseGroup != null)
                {
                    return(Ok(_expenseGroupFactory.CreateDataShapedObject(expenseGroup, lstOfFields)));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
Example #2
0
        public IHttpActionResult Get(int id, string fields = null)
        {
            try
            {
                bool          includeExpenses = false;
                List <string> lstOfFields     = new List <string>();

                // we should include expenses when the fields-string contains "expenses"
                if (fields != null)
                {
                    lstOfFields     = fields.ToLower().Split(',').ToList();
                    includeExpenses = lstOfFields.Any(f => f.Contains("expenses"));
                }


                Repository.Entities.ExpenseGroup expenseGroup;
                if (includeExpenses)
                {
                    expenseGroup = _repository.GetExpenseGroupWithExpenses(id);
                }
                else
                {
                    expenseGroup = _repository.GetExpenseGroup(id);
                }

                if (expenseGroup != null)
                {
                    // We want to send over the models from our DTO project. So we need to map these entities using the factory to their corresponding DTO models. This statement will return an expense DTO.
                    return(Ok(_expenseGroupFactory.CreateDataShapedObject(expenseGroup, lstOfFields)));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }