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