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()); } }
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()); } }
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()); } }