예제 #1
0
        public async Task <HttpResponseMessage> GetCostAccountById([FromBody] int id)
        {
            var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId);

            AccountRule accountRule = new AccountRule();
            var         costAccount = await accountRule.FindAsync(id);

            CostAccountVM costAccountVM = new CostAccountVM()
            {
                //Balance = costAccount.Balance,
                Code          = costAccount.Coding,
                DetailAccount = new DetailAccount()
                {
                    Accounts = null,
                    Code     = costAccount.Coding,
                    Id       = costAccount.ID,
                },
                ID      = costAccount.ID,
                Name    = costAccount.Name,
                OrganId = costAccount.OrganId,
            };



            return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)ZhivarEnums.ResultCode.Successful, data = costAccountVM }));
        }
예제 #2
0
        public async Task <HttpResponseMessage> AddCostAccount(CostAccountVM costAccountVM)
        {
            var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId);

            AccountRule accountRule = new AccountRule();
            var         accounts    = await accountRule.GetAllByOrganIdAsync(organId);

            var accountParent = accounts.Where(x => x.ComplteCoding == "8205").SingleOrDefault();
            var account       = new DomainClasses.Accounting.Account();


            account.OrganId = organId;
            account.Coding  = await CreateCostAccountCode(organId);

            account.ComplteCoding = "8205" + account.Coding;
            account.Level         = ZhivarEnums.AccountType.Tafzeli;
            account.Name          = costAccountVM.Name;
            account.ParentId      = accountParent.ID;



            if (costAccountVM.ID.HasValue && costAccountVM.ID > 0)
            {
                account.ID = (int)costAccountVM.ID;
                accountRule.Update(account);
            }
            else
            {
                accountRule.Insert(account);
            }

            await accountRule.SaveChangesAsync();

            costAccountVM.DetailAccount.Node = new Node()
            {
                Id   = account.ID,
                Name = account.Name,
            };

            return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = costAccountVM }));// RedirectToAction(MVC.cash.ActionNames.Index);
        }