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