public async void LoadData() { DataReportItems.Clear(); var query = (from transaction in Context.Transactions join detail in Context.TransactionDetails on transaction.TransactionId equals detail.TransactionId join product in Context.Products on detail.ProductId equals product.ProductId join customer in Context.Customers on transaction.CustomerId equals customer.CustomerId join user in Context.Users on transaction.UsersId equals user.UserId select new { transaction.TransactionId, transaction.Bill, transaction.Date, transaction.GrandTotal, transaction.Cash, detail.TransactionDetailId, detail.PurchaseTotal, detail.Disc, detail.UnitPrice, product.ProductId, product.ProductName, customer.Name, customer.CustomerId, user.Username, user.UserId, }).ToList(); foreach (var report in query) { DataReportItems.Add(new DataReportModel { TransactionDetailId = report.TransactionId, Bill = report.Bill, ProductId = report.ProductId, DateAndTime = report.Date.ToString("yyyy-MM-dd - hh:mm:ss"), ProductName = report.ProductName, UnitPrice = report.UnitPrice, Quantity = report.PurchaseTotal, Disc = Convert.ToDecimal(report.Disc), Total = report.GrandTotal, Cash = report.Cash, User = report.Username, CustomerName = report.Name, }); } await Task.Delay(1); }
public async void Search() { if (SearchText == null) { return; } else { var query = (from transaction in Context.Transactions join detail in Context.TransactionDetails on transaction.TransactionId equals detail.TransactionId join product in Context.Products on detail.ProductId equals product.ProductId join customer in Context.Customers on transaction.CustomerId equals customer.CustomerId join user in Context.Users on transaction.UsersId equals user.UserId where SearchText == transaction.Date.ToString() || SearchText.Contains(transaction.Date.ToString()) select new { transaction.TransactionId, transaction.Bill, transaction.Date, transaction.GrandTotal, transaction.Cash, detail.TransactionDetailId, detail.PurchaseTotal, detail.Disc, detail.UnitPrice, product.ProductId, product.ProductName, customer.Name, customer.CustomerId, user.Username, user.UserId, }).ToList(); if (query.Count > 0) { DataReportItems.Clear(); foreach (var report in query) { DataReportItems.Add(new DataReportModel { TransactionDetailId = report.TransactionId, Bill = report.Bill, DateAndTime = report.Date.ToString("yyyy-MM-dd - hh:mm:ss"), ProductName = report.ProductName, UnitPrice = report.UnitPrice, Quantity = report.PurchaseTotal, Disc = Convert.ToDecimal(report.Disc), Total = report.GrandTotal, Cash = report.Cash, User = report.Username, CustomerName = report.Name, }); } await Task.Delay(TimeSpan.FromSeconds(0.1)); } else { await DI.UI.ShowMessage(new MessageBoxDialogViewModel { Title = "Pesan", Message = $"Tidak ada laporan ditemukan pada {SearchText}" }); } } }