public async Task <ActionResult <Budget> > Get(int id)
        {
            var entity = await _repository.Get(id);

            if (entity == null)
            {
                return(NotFound());
            }
            return(entity);
        }
示例#2
0
        public ActionResult GetBudget()
        {
            List <BudgetViewModel> budgetViewModels = new List <BudgetViewModel>();
            List <Budget>          budgets          = new List <Budget>();

            using (var budgetRep = new BudgetRepository())
            {
                budgets = budgetRep.Get().ToList();
                budgets.ForEach(b => budgetViewModels.Add(new BudgetViewModel(b)));
            }

            var result = JsonConvert.SerializeObject(
                budgetViewModels,
                Formatting.None,
                new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            }
                );

            return(Content(result, "application/json"));
        }
示例#3
0
        public ActionResult Budget(CreateBudgetModel form)
        {
            try
            {
                // 1. Validate account.
                Account account;
                using (var accRepo = new AccountRepository())
                {
                    account = accRepo.GetById(form.AccountID);
                    // if not then, Add to database
                    if (account == null)
                    {
                        account = new Account()
                        {
                            AccountID   = form.AccountID,
                            AccountName = form.AccountName,
                            Status      = RecordStatus.Active
                        };
                        accRepo.Add(account);
                        accRepo.Save();
                    }
                }

                // 2. Check Budget.
                Budget budget;
                using (var budgetRepo = new BudgetRepository())
                {
                    // 2.1 check budget is already in database
                    budget = budgetRepo.Get().Where(
                        b =>
                        b.Year == form.Year &&
                        b.AccountID == form.AccountID &&
                        b.CostCenterID == form.CostCenterID &&
                        b.Status == BudgetStatus.Active
                        ).FirstOrDefault();

                    if (budget != null)
                    {
                        throw new Exception("งบประมาณนี้มีอยู่แล้วในระบบ");
                    }
                    else // Add new budget
                    {
                        budget = new Budget()
                        {
                            BudgetID       = Guid.NewGuid(),
                            AccountID      = form.AccountID,
                            CostCenterID   = form.CostCenterID,
                            Sequence       = 0,
                            Year           = form.Year,
                            BudgetAmount   = form.Amount,
                            WithdrawAmount = 0,
                            RemainAmount   = 0,
                            Status         = BudgetStatus.Active
                        };

                        budgetRepo.Add(budget);
                        budgetRepo.Save();
                    }
                }

                // 3. Set return value
                returnobj.SetSuccess(budget);
            }
            catch (Exception ex)
            {
                returnobj.SetError(ex.Message);
            }

            return(Content(returnobj.ToJson(), "application/json"));
        }