Example #1
0
        public ActionResult PostCategoryBudget(long id, [FromBody] CategoryBudget categoryBudget)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid data"));
            }

            var categoryBudgets = from q in userContext.CategoryBudgets select q;

            categoryBudgets = categoryBudgets.Where(q => q.UserID.Equals(id))
                              .Where(q => q.CategoryID.Equals(categoryBudget.CategoryID))
                              .Where(q => q.BudgetInterval.Equals(categoryBudget.BudgetInterval));

            if (categoryBudgets != null && categoryBudgets.Any())
            {
                return(BadRequest("Request is invalid"));
            }
            categoryBudget.UserID = id;

            userContext.CategoryBudgets.Add(categoryBudget);
            userContext.SaveChanges();

            return(CreatedAtRoute(
                       routeName: "GetCategoryBudget",
                       routeValues: new { id = categoryBudget.Id },
                       value: categoryBudget
                       ));
        }
Example #2
0
        public ActionResult PutCategoryBudget(long id, long categoryBudgetID, [FromBody] CategoryBudget updateCB)
        {
            var categoryBudgets = from q in userContext.CategoryBudgets
                                  select q;

            categoryBudgets = categoryBudgets.Where(q => q.UserID.Equals(id));
            categoryBudgets = categoryBudgets.Where(q => q.Id.Equals(categoryBudgetID));

            if (categoryBudgets == null || !categoryBudgets.Any())
            {
                return(NotFound());
            }

            var cb = categoryBudgets.First();

            cb.UserID         = updateCB.UserID;
            cb.CategoryID     = updateCB.CategoryID;
            cb.BudgetInterval = updateCB.BudgetInterval;

            userContext.CategoryBudgets.Update(cb);
            userContext.SaveChanges();
            return(Ok());
        }
Example #3
0
        private List <ProjectCategorySplit> DoGetData(/*TODO : filter*/)
        {
            var result   = new List <ProjectCategorySplit>();
            var projects = UiProject.Service.GetList(/*TODO : filter*/);

            foreach (UiProject prj in projects)
            {
                var item = new ProjectCategorySplit {
                    Name    = prj.Name,
                    Budget  = prj.Price,
                    Budgets = new List <CategoryBudget>(),
                };

                if (UiProjectCategory.Service == null)
                {
                    UiProjectCategory.InitService();
                }
                foreach (UiProjectCategory cat in UiProjectCategory.Service.GetList())
                {
                    var budget = new CategoryBudget();
                    budget.CategoryName = cat.Name;
                    foreach (var catItem in (UiProjectItemDetail.Service as UiProjectItemDetail.TheService).GetList(prj.Id, cat.Key))
                    {
                        budget.Value += catItem.Value;
                    }

                    if (budget.Value != 0d)
                    {
                        item.Budgets.Add(budget);
                    }
                }

                result.Add(item);
            }

            return(result);
        }