public IHttpActionResult GetV2(int id, int?expenseGroupId = null)
        {
            try
            {
                Repository.Entities.Expense expense = null;

                if (expenseGroupId == null)
                {
                    expense = _repository.GetById(id);
                }
                else
                {
                    var expensesForGroup = _repository.GetExpensesByExpenseGroupId((int)expenseGroupId);

                    if (expensesForGroup != null)
                    {
                        expense = expensesForGroup.FirstOrDefault(ex => ex.Id == id);
                    }
                }

                if (expense != null)
                {
                    return(Ok(_expenseFactory.CreateExpense(expense)));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
예제 #2
0
 public IHttpActionResult GetV2(int expenseId, int?expenseGroupId = null)
 {
     try
     {
         Repository.Entities.Expense expense = null;
         if (expenseGroupId == null)
         {
             expense = _repository.GetExpense(expenseId);
         }
         else
         {
             var expnsesForGroup = _repository.GetExpenses(
                 (int)expenseGroupId);
             if (expnsesForGroup != null)
             {
                 expense = expnsesForGroup.FirstOrDefault(eg => eg.Id == expenseId);
             }
         }
         if (expense != null)
         {
             var returnValue = _expenseFactory.CreateExpense(expense);
             return(Ok(returnValue));
         }
         return(NotFound());
     }
     catch (Exception)
     {
         return(InternalServerError());
     }
 }
예제 #3
0
        public IHttpActionResult Get(int id, int? expenseGroupId = null, string fields = null)
        {
            try
            {
                List<string> lstOfFields = new List<string>();

                if (fields != null)
                {
                    lstOfFields = fields.ToLower().Split(',').ToList();
                }

                Repository.Entities.Expense expense = null;

                if (expenseGroupId == null)
                {
                    expense = _repository.GetExpense(id);
                }
                else
                {
                    //get expenseGroup  by expenseGroupId
                    var expensesForGroup = _repository.GetExpenses((int)expenseGroupId);

                    // if the group doesn't exist, we shouldn't try to get the expenses
                    if (expensesForGroup != null)
                    {
                        //get expense  by id
                        expense = expensesForGroup.FirstOrDefault(eg => eg.Id == id);
                    }
                }

                if (expense != null)
                {
                    var returnValue = _expenseFactory.CreateDataShapedObject(expense, lstOfFields);  //field level data shping
                    return Ok(returnValue);
                }
                else
                {
                    return NotFound();
                }

            }
            catch (Exception)
            {
                return InternalServerError();
            }
        }
        public IHttpActionResult GetV2(int id, int?expenseGroupId = null)
        {
            try
            {
                Repository.Entities.Expense expense = null;

                // if expenseGroup wasn't passed in, just get expense
                if (expenseGroupId == null)
                {
                    expense = _repository.GetExpense(id);
                }
                else
                {
                    // if expenseGroup was passed in, only return an expense if the group and id are valid
                    var expensesForGroup = _repository.GetExpenses((int)expenseGroupId);

                    if (expensesForGroup != null)
                    {
                        expense = expensesForGroup.FirstOrDefault(eg => eg.Id == id);
                    }
                }

                if (expense != null)
                {
                    var returnValue = _expenseFactory.CreateExpense(expense);
                    return(Ok(returnValue));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
        public IHttpActionResult Get(int id, int?expenseGroupId = null)
        {
            try
            {
                Repository.Entities.Expense expense = null;

                if (expenseGroupId == null)
                {
                    expense = _repository.GetExpense(id);
                }
                else
                {
                    var expensesForGroup = _repository.GetExpenses((int)expenseGroupId);

                    // if the group doesn't exist, we shouldn't try to get the expenses
                    if (expensesForGroup != null)
                    {
                        expense = expensesForGroup.FirstOrDefault(eg => eg.Id == id);
                    }
                }

                if (expense != null)
                {
                    var returnValue = _expenseFactory.CreateExpense(expense);
                    return(Ok(returnValue));
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }