//func to return list of expense model view
        public List <NeedViewModel> GetExpenseNeeds(int userId)
        {
            var results = new List <NeedViewModel>();

            List <DbParameter> parameters = new List <DbParameter>
            {
                new SqlParameter("userId", userId)
            };

            using (IDataReader reader = ExecuteReader("GetExpenseNeeds", DbCommandType.StoredProcedure, parameters))
            {
                while (reader.Read())
                {
                    NeedViewModel expense = new NeedViewModel
                    {
                        Id            = (int)reader["Id"],
                        UserId        = (int)reader["User_Id"],
                        Title         = (string)reader["Title"],
                        Description   = (string)reader["Description"],
                        ActualAmout   = (int)reader["Actual Amount"],
                        BalanceAmount = (int)reader["Balance Amount"],
                        DueDate       = ((DateTime)reader["Due Date"]).ToString("dd MMMM yyyy")
                    };
                    results.Add(expense);
                }
            }

            return(results);
        }
        // GET: api/NeedViewModel

        public HttpResponseMessage GetVM()
        {
            List <NeedViewModel> vmList = new List <NeedViewModel>();
            NeedViewModel        vm     = null;

            List <NeedProject> npList = db.NeedProjects.ToList();
            List <Need>        nList  = db.Needs.ToList();
            List <Project>     pList  = db.Projects.ToList();

            foreach (var n in nList)
            {
                vm              = new NeedViewModel();
                vm.ID           = n.ID;
                vm.LastModified = n.LastModified;
                vm.LocationID   = n.LocationID;
                vm.Name         = n.Name;
                vm.Description  = n.Description;
                vm.NeedDate     = n.NeedDate;
                vm.NeedTypeID   = n.NeedTypeID;
                vm.User         = n.User;
                vm.ProjectList  = new List <Project>();

                /*foreach (var np in npList)
                 * {
                 *  if (vm.ID == np.NeedID)
                 *  {
                 *      foreach (var p in pList)
                 *      {
                 *          if (p.ID == np.ProjectID)
                 *          {
                 *              vm.ProjectList.Add(p);
                 *          }
                 *      }
                 *  }
                 * }
                 */
                vmList.Add(vm);
            }
            return(Request.CreateResponse(HttpStatusCode.OK, vmList, Configuration.Formatters.JsonFormatter));
            // return vmList;
        }