Пример #1
0
        public async Task <CustomerTransactionsViewModel> GetCustomerTransactionsDetails(int id)
        {
            var model = new CustomerTransactionsViewModel();

            model.Name = _context.KhachHang.First(c => c.Id == id).TenKhachHang;

            var query = from invoice in _context.DonHang
                        join status in _context.TrangThai
                        on invoice.TrangThaiId equals status.Id
                        where invoice.KhachHangId == id
                        select new InvoiceDetailsViewModel
            {
                ID                  = invoice.Id,
                Date                = invoice.NgayLap,
                Status              = status.TenTrangThai,
                StatusAcronym       = status.VietTat,
                TotalValues         = invoice.TongTien,
                TotalValuesFormated = FormatDecimalValue(invoice.TongTien)
            };

            var invoices = await query.ToListAsync();

            var totalInvoices = await query.CountAsync();

            var totalValues = await query.SumAsync(inv => inv.TotalValues);

            model.Invoices            = query.OrderByDescending(i => i.Date);
            model.TotalInvoices       = totalInvoices;
            model.TotalValues         = totalValues;
            model.TotalValuesFormated = totalValues.ToString("N0");

            return(model);
        }
Пример #2
0
        public ActionResult CustTrans(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Customer cust = db.customers.Find(id);
            CustomerTransactionsViewModel custTrans = CreditCardRepository.getCustomerAndTransactions(cust);

            if (custTrans == null)
            {
                return(HttpNotFound());
            }

            return(View(custTrans));
        }