Esempio n. 1
0
        public virtual async Task <HttpResponseMessage> GetCashesAndBanks()
        {
            var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId);

            BankRule bankRule = new BankRule();
            var      banks    = await bankRule.GetAllByOrganIdAsync(organId);

            CashRule cashRule = new CashRule();
            var      cashs    = await cashRule.GetAllByOrganIdAsync(organId);

            var cashes = new Cashe();

            cashes.banks  = new List <BankVM>();
            cashes.cashes = new List <CashVM>();

            foreach (var bank in banks)
            {
                decimal balance = await CalcBalanceBank(bank.Code, organId);

                cashes.banks.Add(new BankVM()
                {
                    AccountNumber = bank.AccountNumber,
                    Balance       = balance,
                    Branch        = bank.Branch,
                    Code          = bank.Code,
                    FullName      = bank.FullName,
                    ID            = bank.ID,
                    Name          = bank.Name,
                    OrganId       = bank.OrganId,
                    //Id = bank.ID,
                    DetailAccount = new DetailAccount()
                    {
                        Accounts = new List <AccountVM>(),
                        Balance  = bank.Balance,
                        Name     = bank.Name,
                        Node     = new Node(),
                    }
                });
            }

            foreach (var cash in cashs)
            {
                decimal balance = await CalcBalanceCash(cash.Code, organId);

                cashes.cashes.Add(new CashVM()
                {
                    Balance = balance,
                    Code    = cash.Code,
                    ID      = cash.ID,
                    Name    = cash.Name,
                    OrganId = cash.OrganId,
                    //DetailAccount = new DetailAccount() {
                    //    Balance = cash.Balance,
                    //    Name = cash.Name,
                    //    Node = new Node()
                    //}
                });
            }
            return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)ZhivarEnums.ResultCode.Successful, data = cashes }));
        }
Esempio n. 2
0
        public async Task <HttpResponseMessage> LoadInvoiceTransObj([FromBody] int id)
        {
            try
            {
                var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId);

                var invoice = await Rule.FindAsync(id);

                InvoiceTransObj invoiceTransObj = new InvoiceTransObj();

                invoiceTransObj.invoice      = Mapper.Map <InvoiceVM>(invoice);
                invoiceTransObj.invoiceItems = invoiceTransObj.invoice.InvoiceItems;
                //invoiceTransObj.payments =  await transactionRule.GetAllByInvoiceIdAsync(id,true,false);
                PayRecevieRule payRecevieRule = new PayRecevieRule();
                invoiceTransObj.tempPayments = await payRecevieRule.GetTempPaymentsByInvoiceIdAsync(id);

                for (int i = 0; i < invoiceTransObj.invoiceItems.Count; i++)
                {
                    ItemRule itemRule = new ItemRule();
                    invoiceTransObj.invoiceItems[i].Item = Mapper.Map <ItemVM>(await itemRule.FindAsync(invoiceTransObj.invoiceItems[i].ItemId));
                }

                ContactRule contactRule = new ContactRule();
                invoiceTransObj.invoice.Contact = Mapper.Map <ContactVM>(await contactRule.FindAsync(invoice.ContactId));
                CashRule cashRule = new CashRule();
                var      cashes   = await cashRule.GetAllByOrganIdAsync(Convert.ToInt32(organId));

                invoiceTransObj.cashes = Mapper.Map <List <CashVM> >(cashes);

                BankRule bankRule = new BankRule();
                var      banks    = await bankRule.GetAllByOrganIdAsync(Convert.ToInt32(organId));

                invoiceTransObj.banks = Mapper.Map <List <BankVM> >(banks);


                return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = invoiceTransObj }));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 3
0
        public async Task <HttpResponseMessage> LoadCostTransObj([FromBody] int id)
        {
            try
            {
                var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId);

                var cost = await Rule.FindAsync(id);

                CostTransObj costTransObj = new CostTransObj();

                costTransObj.cost      = Mapper.Map <CostVM>(cost);
                costTransObj.costItems = costTransObj.cost.CostItems;
                TransactionRule transactionRule = new TransactionRule();
                costTransObj.payments = await transactionRule.GetAllByCostIdAsync(id);

                for (int i = 0; i < costTransObj.costItems.Count; i++)
                {
                    costTransObj.costItems[i].Item = await this.BusinessRule.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().FindAsync(costTransObj.costItems[i].ItemId);
                }

                ContactRule contactRule = new ContactRule();
                costTransObj.cost.Contact = Mapper.Map <ContactVM>(await contactRule.FindAsync(cost.ContactId));
                CashRule cashRule = new CashRule();
                var      cashes   = await cashRule.GetAllByOrganIdAsync(Convert.ToInt32(organId));

                costTransObj.cashes = Mapper.Map <List <CashVM> >(cashes);

                BankRule bankRule = new BankRule();
                var      banks    = await bankRule.GetAllByOrganIdAsync(Convert.ToInt32(organId));

                costTransObj.banks = Mapper.Map <List <BankVM> >(banks);


                return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = costTransObj }));
            }
            catch (Exception ex)
            {
                throw;
            }
        }