示例#1
0
        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);
        }
示例#2
0
        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}"
                    });
                }
            }
        }